当前位置: 首页 > news >正文

灵台县住房和城乡建设局网站小程序企业网站

灵台县住房和城乡建设局网站,小程序企业网站,设计公司啊 网站,奢侈品 网站建设方案大体思路如下#xff0c;想要获取启动时处理器数量、jvm 相关信息#xff0c;操作系统信息、运行机器信息 运行机器信息 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.lang.invoke.MethodHandles;/*** 机器工具类*/ public abstract class ServerU… 大体思路如下想要获取启动时处理器数量、jvm 相关信息操作系统信息、运行机器信息 运行机器信息 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.lang.invoke.MethodHandles;/*** 机器工具类*/ public abstract class ServerUtils {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());/*** 获取可用处理器数量** return*/public static int getAvailableProcessors() {return Runtime.getRuntime().availableProcessors();}public static void printAvailableProcessors() {logger.info(processors{}, Runtime.getRuntime().availableProcessors());} }系统信息 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.lang.invoke.MethodHandles;/*** 系统信息工具类** author Rike* date 2023/6/28*/ public abstract class SystemUtils {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());public static String getOsName() {return System.getProperty(os.name);}public static void printOsName() {logger.info(os.name{}, System.getProperty(os.name));}public static boolean isWindows() {return getOsName().startsWith(Windows);}public static boolean isLinux() {return getOsName().startsWith(Linux);}public static boolean isWindows(String osName) {return osName.startsWith(Windows);}public static boolean isLinux(String osName) {return osName.startsWith(Linux);} }通过 System.getProperty() 实现。 jvm 信息 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.lang.invoke.MethodHandles; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean;/*** jvm 信息工具类*/ public abstract class JvmUtils {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());/*** 打印 jvm 信息*/public static void printJvmInfo() {RuntimeMXBean runtimeMXBean ManagementFactory.getRuntimeMXBean();logger.info(jvm name{}, runtimeMXBean.getName());logger.info(class{}, runtimeMXBean.getClass());logger.info(java.class.path{}, runtimeMXBean.getClassPath());logger.info(java.library.path{}, runtimeMXBean.getLibraryPath());logger.info(bootClassPath{}, runtimeMXBean.getBootClassPath());logger.info(java.vm.vendor{}, runtimeMXBean.getVmVendor());logger.info(java.vm.name{}, runtimeMXBean.getVmName());logger.info(java.vm.version{}, runtimeMXBean.getVmVersion());logger.info(java.vm.specification.name{}, runtimeMXBean.getSpecName());logger.info(java.vm.specification.vendor{}, runtimeMXBean.getSpecVendor());logger.info(java.vm.specification.version{}, runtimeMXBean.getSpecVersion());logger.info(java.version{}, System.getProperty(java.version));logger.info(java.runtime.version{}, System.getProperty(java.runtime.version));logger.info(java.class.version{}, System.getProperty(java.class.version));logger.info(inputArguments{}, runtimeMXBean.getInputArguments());logger.info(managementSpecVersion{}, runtimeMXBean.getManagementSpecVersion());logger.info(startTime{}, runtimeMXBean.getStartTime());logger.info(uptime{}, runtimeMXBean.getUptime());/*logger.info();runtimeMXBean.getSystemProperties().entrySet().parallelStream().forEach(entry - {System.out.println(entry.getKey() entry.getValue());});logger.info();*/} }通过 ManagementFactory 获取 RuntimeMXBean 对象获取相关信息。 spring 环境信息 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.EnumerablePropertySource; import org.springframework.core.env.PropertySource; import org.springframework.stereotype.Component;import java.lang.invoke.MethodHandles; import java.util.List; import java.util.Map; import java.util.stream.Collectors;/*** spring Environment 信息获取工具类*/ Component public class SpringEnvironmentUtils implements ApplicationContextAware {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());private static ConfigurableEnvironment environment null;Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {environment (ConfigurableEnvironment) applicationContext.getBean(ConfigurableApplicationContext.ENVIRONMENT_BEAN_NAME);}public static void printPropertyValue(String property) {logger.info([{}]{}, property, environment.getProperty(property));}public static String getPropertyValue(String property) {return environment.getProperty(property);}/*** 打印所有的 Environment 信息*/public static void printAllEnvironmentInfo() {// printSystemEnvironment();// printSystemProperties();printPropertySources();printProfiles();}public static void printSystemEnvironment() {logger.info();logger.info(print system environment begin);logger.info();environment.getSystemEnvironment().entrySet().parallelStream().forEach(entry - {// System.out.println(entry.getKey() entry.getValue());logger.info({}{}, entry.getKey(), entry.getValue());});logger.info();logger.info(print system environment end);logger.info();MapString, String map System.getenv();map.entrySet().stream().forEach(entry - {// System.out.println(entry.getKey() entry.getValue());logger.info({}{}, entry.getKey(), entry.getValue());});}public static void printSystemProperties() {logger.info();logger.info(print system properties begin);logger.info();environment.getSystemProperties().entrySet().parallelStream().forEach(entry - {// System.out.println(entry.getKey() entry.getValue());logger.info({}{}, entry.getKey(), entry.getValue());});logger.info();logger.info(print system properties end);logger.info();}public static void printPropertySources() {logger.info();logger.info(print property sources begin);logger.info();// 筛选继承 EnumerablePropertySource 的类和实现 Map 的类ListPropertySource? list environment.getPropertySources().stream().filter(ps - (ps instanceof EnumerablePropertySource ps.getSource() instanceof Map)).collect(Collectors.toList());list.stream().forEach(ps - {String name ps.getName();logger.info([{}] include property and value begin, name);Map source (Map) ps.getSource();StringBuffer stringBuffer new StringBuffer();int size source.entrySet().size();// 记录当前下标int index -1;for (Object entry : source.entrySet()) {index;Map.Entry temp (Map.Entry) entry;// System.out.println(temp.getKey() temp.getValue());// logger.info({}{}, temp.getKey(), temp.getValue());// 将参数进行拼接方便日志打印stringBuffer.append(temp.getKey()).append().append(temp.getValue());/*** 换行符打印的情况** 总数量大于1** 下标小于总数减1**/if (size 1 index size -1) {stringBuffer.append(\n);}}// 拼接的字符串不为空时打印if (stringBuffer.length() 0) {logger.info({}, stringBuffer);}logger.info([{}] include property and value end, name);});logger.info();logger.info(print property sources end);logger.info();}public static void printProfiles() {logger.info();logger.info(print profiles begin);logger.info();String[] defaultProfiles environment.getDefaultProfiles();logger.info(defaultProfiles{}, defaultProfiles);String[] activeProfiles environment.getActiveProfiles();logger.info(activeProfiles{}, activeProfiles);logger.info();logger.info(print profiles end);logger.info();} } 借助于 ApplicationContext 获取 ConfigurableEnvironment 对象进而获取 System.getProperty() 和 System.getenv() 相关信息。 整合 import org.springframework.beans.factory.InitializingBean; import org.springframework.core.Ordered; import org.springframework.stereotype.Component;/*** 启动信息*/ Component public class StartInfo implements InitializingBean, Ordered {Overridepublic void afterPropertiesSet() throws Exception {SpringEnvironmentUtils.printPropertyValue(spring.cloud.nacos.server-addr);ServerUtils.printAvailableProcessors();SystemUtils.printOsName();JvmUtils.printJvmInfo();SpringEnvironmentUtils.printAllEnvironmentInfo();}Overridepublic int getOrder() {return LOWEST_PRECEDENCE;} } 创建一个类实现 InitializingBean 接口添加 Component 注解在 spring ioc 容器启动时执行其中的逻辑对代码无侵入性无需修改其他代码即可实现最终的功能。 参考链接 https://blog.csdn.net/qq742143797/article/details/113553660
http://www.dnsts.com.cn/news/161282.html

相关文章:

  • 网站设计制作厂家有哪些网站开发角色分类
  • 购彩网站建设2015年手机网站需要主机 空间
  • 哪有做网站公司会员管理系统app
  • 伊春网站开发旅游网站怎么做
  • 网站开发近期市场长春网站制作招聘信息
  • 还有哪些网站可以做淘宝活动济南百度公司
  • 2017网站建设前景网站商城具有哪些功能模块
  • 加拿大28怎么做网站代理要搭建网站
  • 户外网站 整站下载有个新网站能提供
  • 网站建设 中企动力 石家庄网站从建设到上线流程图
  • 做社区生意的网站网站上二维码怎么做的
  • 重庆seo整站优化效果内涵吧网站
  • 新手如何注册网站域名深圳市网站建设制作设计品牌
  • 浙江建设厅网站 打不开做单位网站的公司吗
  • php 免费网站空间申请中信建设有限责任公司股票代码
  • 企业网站系统设计与实现成都做网站设计哪家最权威
  • dw制作简单网站模板下载地址mysql 网站开发 问好
  • 动易网站模版的制作手机版网站版面设计怎么做
  • 网站管理系统有哪些统计助手小程序怎么制作
  • 分析电子商务网站建设需求教案Wordpress 点击量 插件
  • 东莞网站优化科技有限公司免费开发游戏的软件
  • 网页设计 参考网站开发公司移交物业清单
  • 网站导航栏动效怎么做专门做win7系统的网站
  • 做商城网站费用要怎么做网络营销
  • 网络设备主要用于网站局域网建设创建网页快捷方式
  • 怎么把网站设置为主页面wordpress音频防盗链
  • 天津微信网站开发陈木胜妻子
  • 提出网站推广途径在哪查网站备案
  • 网站备案怎么注销网站色彩代码
  • 企业网站 优帮云百度指数搜索榜度指数