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

做图书网站赚钱么企业查询显示利好什么意思

做图书网站赚钱么,企业查询显示利好什么意思,西安网站建设个人,茶叶网站模板 html概述 java.lang.System 在 JDK 17 中依然是最核心的系统交互类之一。以下是针对 JDK 17 的常用方法详解,包含新特性和最佳实践。 一、标准 I/O 流(更新至 JDK 17) 1. 控制台输出 // 传统输出方式(仍然可用) System…

概述

java.lang.System 在 JDK 17 中依然是最核心的系统交互类之一。以下是针对 JDK 17 的常用方法详解,包含新特性和最佳实践。

一、标准 I/O 流(更新至 JDK 17)

1. 控制台输出

// 传统输出方式(仍然可用)
System.out.println("Hello JDK 17");// 新增:使用文本块(Text Blocks,JDK 15 正式特性)
System.out.println("""This is a multi-linetext block in JDK 17.No more messy concatenation!""");

应用场景:日志输出、多行文本处理

2. 错误输出(新增格式化方法)

// JDK 17 增强的格式化错误输出
System.err.printf("Error at %s: %d%n", Instant.now(), errorCode);// 使用新的格式说明符
System.err.printf("Hex value: %#x %n", 255);  // 输出: Hex value: 0xff

二、系统属性操作(JDK 17 安全增强)

1. 获取系统属性(新增过滤检查)

// 传统方式
String javaHome = System.getProperty("java.home");// JDK 17 更安全的属性读取(避免NPE)
String nonExistent = System.getProperty("non.existent.prop", "default-value");// 获取模块化相关信息(JDK 9+)
System.out.println("Module path: " + System.getProperty("jdk.module.path"));

2. 只读系统属性视图(JDK 17)

// 获取不可修改的系统属性视图
Map<String,String> props = System.getProperties();
try {props.put("new.key", "value");  // 抛出 UnsupportedOperationException
} catch (UnsupportedOperationException e) {System.err.println("系统属性是只读的!");
}

三、时间测量(JDK 17 新增时间API整合)

1. 高精度时间测量

// 传统方式
long start = System.nanoTime();
// ...操作...
long duration = System.nanoTime() - start;// JDK 17 推荐结合 java.time
Instant startInstant = Instant.now();
// ...操作...
Duration elapsed = Duration.between(startInstant, Instant.now());
System.out.printf("耗时: %d ms %n", elapsed.toMillis());

四、数组操作(JDK 17 优化)

1. 数组复制(新增安全检查)

// 传统数组复制
int[] src = IntStream.range(1, 6).toArray();
int[] dest = new int[5];
System.arraycopy(src, 0, dest, 0, 5);// JDK 17 更安全的替代方案(推荐)
int[] copy = Arrays.copyOf(src, src.length);

五、环境变量访问(JDK 17 安全改进)

1. 读取环境变量

// 传统方式
String path = System.getenv("PATH");// JDK 17 更安全的访问方式
Optional<String> javaHome = Optional.ofNullable(System.getenv("JAVA_HOME"));
javaHome.ifPresentOrElse(home -> System.out.println("Java Home: " + home),() -> System.err.println("JAVA_HOME 未设置")
);

六、新增实用方法(JDK 11+)

1. System.console() 增强

// JDK 17 更健壮的控制台交互
Console console = System.console();
if (console != null) {String input = console.readLine("请输入密码: ");char[] password = console.readPassword();Arrays.fill(password, ' ');  // 安全清除
} else {System.err.println("无控制台环境");
}

2. System.Logger (JDK 9+)

// 系统统一日志接口
System.Logger logger = System.getLogger("MyApp");
logger.log(System.Logger.Level.INFO, "JDK 17 系统日志");// 输出示例:
// 六月 24, 2023 10:00:00 上午 MyApp INFO: JDK 17 系统日志

七、进程处理(JDK 17 新增)

1. 进程句柄 API

// 获取当前进程信息(JDK 9+)
ProcessHandle current = ProcessHandle.current();
System.out.println("PID: " + current.pid());
System.out.println("CPU 使用: " + current.info().cpuDuration());// 列出所有进程(JDK 17 增强)
ProcessHandle.allProcesses().filter(p -> p.info().command().isPresent()).limit(5).forEach(p -> System.out.println(p.info().command().get()));

八、内存管理(JDK 17 改进)

1. 内存状态查询

// JDK 17 更精确的内存报告
Runtime runtime = Runtime.getRuntime();
System.out.printf("""内存使用情况:总内存: %d MB可用内存: %d MB最大内存: %d MB""",runtime.totalMemory() / (1024 * 1024),runtime.freeMemory() / (1024 * 1024),runtime.maxMemory() / (1024 * 1024)
);

最佳实践建议(JDK 17)

1、替代弃用方法

  1. 使用 Instant.now() 替代 System.currentTimeMillis()

  2. 使用 Arrays.copyOf() 替代 System.arraycopy() 简单场景

2、安全增强

// 不推荐(可能暴露敏感信息)
System.getProperties().list(System.out);// 推荐方式(JDK 17)
Set<String> sensitiveKeys = Set.of("user.name", "user.home");
System.getProperties().entrySet().stream().filter(e -> !sensitiveKeys.contains(e.getKey())).forEach(e -> System.out.println(e.getKey() + "=" + e.getValue()));

3、模块化兼容

// 检查模块系统
if (System.getProperty("jdk.module.main") != null) {System.out.println("运行在模块模式下");
}

完整示例:JDK 17 系统信息工具

public class SystemInfoTool {public static void main(String[] args) {printSystemInfo();checkJavaVersion();}private static void printSystemInfo() {String osInfo = """OS 信息:名称: %s版本: %s架构: %s""".formatted(System.getProperty("os.name"),System.getProperty("os.version"),System.getProperty("os.arch"));System.out.println(osInfo);}private static void checkJavaVersion() {Runtime.Version version = Runtime.version();System.out.printf("""Java 版本信息:Feature: %dInterim: %dUpdate: %dPatch: %dLTS: %b""",version.feature(),version.interim(),version.update(),version.patch(),version.feature() == 17  // JDK 17 是 LTS);}
}

输出示例:

OS 信息:
名称: Windows 10
版本: 10.0
架构: amd64

Java 版本信息:
Feature: 17
Interim: 0
Update: 5
Patch: 0
LTS: true

http://www.dtcms.com/a/432967.html

相关文章:

  • 便宜网站制作公司随州seo搜索引擎优化排名
  • 公司响应式网站建设平台陕西省住房和城乡建设部网站官网
  • 用c做网站网站开发技术指标是什么
  • 黑龙江省建设工程招标网站长沙seo优化报价
  • 找人做短视频网站批量查询权重
  • 门户网站app有哪些电子印章在线生成
  • 长安网站建设制作h5类作品是什么意思
  • 建设手机网站平台在重庆 那里可以做诚信网站认证
  • 企业网站备案容易吗新闻文章网站源码
  • 怎么注册网站免费的韩雪个人网站
  • 网络网站推广同城服务网站开发
  • html5网站怎么做浦江县建设局网站
  • 官方网站找工作公众号如何自己做网站优化
  • 数据结构代码复习 持续更新
  • 台州网站建设选浙江华企济南正规做网站公司
  • 如何制作私人网站预约支付wordpress
  • 做网站为什么用php桂林网站搭建
  • 微信导航网站 dedecms免费的模板网站
  • 做网站法律条文中天钢铁 网站建设
  • 做网站需求文档怎样办网站
  • 官方网站下载打印机驱动wordpress移动端导航菜单
  • 物流网站免费模板安卓app制作公司
  • 小迪web自用笔记45
  • 南京企业自助建站系统wordpress 打开速度慢
  • 做网站建设需要会哪些网站设计公司皆选奇点网络
  • 献县网站建设网络科技公司起名免费
  • 泰安放心的企业建站公司如何提高网站的点击率
  • 网站开发需要学些什么?网站建设方案及报
  • 山东省住房和城乡建设部网站首页下载爱南宁乘车
  • 如何让百度收录我的网站怎么创建网站论坛