V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CodeCodeStudy  ›  全部回复第 1 页 / 共 54 页
回复总数  1075
1  2  3  4  5  6  7  8  9  10 ... 54  
public class Main {

public static void main(String[] args) {
try {
String className = "java.util.Collections";
Class<?> cl = Class.forName(className);
System.out.println(cl.getName());
} catch (Exception e) {
e.printStackTrace();
}

try {
long time = System.currentTimeMillis() / 1000L;
String className = time % 2 == 0 ? "java.util.Base64" : "java.util.Timer";
Class<?> cl = Class.forName(className);
System.out.println(cl.getName());
} catch (Exception e) {
e.printStackTrace();
}

}

}

javac Main.java && native-image Main && ./main

输出
java.util.Collections
java.lang.ClassNotFoundException: java.util.Base64
或者
java.util.Collections
java.lang.ClassNotFoundException: java.util.Timer

需要用到 java -agentlib:native-image-agent=config-merge-dir=./src/main/resources/META-INF/native-image Main 将动态特性收集起来,这里的 java 是指 GraalVM 的 jdk ,然后再 native-image 编译

https://www.graalvm.org/latest/reference-manual/native-image/guides/use-reachability-metadata-repository-maven/

https://www.graalvm.org/latest/reference-manual/native-image/metadata/AutomaticMetadataCollection/
Java 的 GraalVM 的 native-image ,还是需要通过 java -agentlib:native-image-agent=config-merge-dir=/path/to/config-dir/将所有的代码跑一遍,收集运行中的反射、序列化、动态代理、资源等信息,然后再进行 native-image 的 AOT 编译。好奇 PHP 是怎么处理动态特性的?
云厂商的服务器可以用他们自己的镜像,pull 后 save ,下载下来后 load
@ExplodingFKL #19 怎么剔除二进制文件的 upx 的字段
3 天前
回复了 Ayanokouji 创建的主题 Java JDK 25 发布了, LTS 版本
@w292614191 #52 这没什么,安装多个 JDK 就是了,在脚本里设置 JAVA_HOME, PATH 即可。高版本向下兼容。
4 天前
回复了 Ayanokouji 创建的主题 Java JDK 25 发布了, LTS 版本
@w292614191 #4 既然是新项目了,干嘛还要用 17 ,能用新的就用新的。jdk 半年更新一个版本,每 2 年更新一个 LTS 版本,下一个 LTS 是 27 年 9 月份的 jdk29 。
4 天前
回复了 Ayanokouji 创建的主题 Java JDK 25 发布了, LTS 版本
老项目原来用什么版本还继续用什么版本,新项目都用 jdk25 了,jdk21 虽然也是 LTS ,但是虚拟线程不完善,就不要再用了,17,11,8 都很旧的了
9 天前
回复了 moverinfo 创建的主题 程序员 tinystruct 的前世今生(1)
有什么优势吗?支持 native-image 的 AOT 吗?
9 天前
回复了 cxbdasheng 创建的主题 NAS 写了个家庭 AIO 服务器搭建教程
看标题还以为是 java 的 AIO ,就纳闷了,AIO 怎么需要跑在家庭服务器上
要产品经理有什么用,让老板直接口头讲需求给你们就好了,省一个人力
这台机器多少钱
为什么 javascript ,php 一个函数就搞定 json 了,是因为他们是动态语言吗
12 天前
回复了 mystical 创建的主题 Java 有写 Java 的么,你们的 jdk 还是用 1.8 么
16 天前
回复了 mystical 创建的主题 Java 有写 Java 的么,你们的 jdk 还是用 1.8 么
@0xsui #12

// jdk25+
void main() {
IO.println("hello,world");
}

文件名任意,比如 hello.java

直接 java hello.java

直接用 java 命令运行单文件是 11 的新特性,在 22 后可以运行多个文件
16 天前
回复了 nenseso 创建的主题 问与答 另一半也是程序员是什么感觉?
@donggua997 #14 还有 UserId, UserID ,当然如果是用下划线的话就没这烦恼了,都是 user_id
16 天前
回复了 mystical 创建的主题 Java 有写 Java 的么,你们的 jdk 还是用 1.8 么
LTS 有 8, 11, 17, 21 这 4 个版本,本月会出 25 也是 LTS 的,会修复虚拟线程的 BUG ,以后用 8 或者 25 就行了
1  2  3  4  5  6  7  8  9  10 ... 54  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   873 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 18:57 · PVG 02:57 · LAX 11:57 · JFK 14:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.