CodeCodeStudy 最近的时间轴更新
CodeCodeStudy

CodeCodeStudy

V2EX 第 460762 号会员,加入于 2019-12-23 09:33:41 +08:00
今日活跃度排名 4830
CodeCodeStudy 最近回复了
9 小时 5 分钟前
回复了 Cbdy 创建的主题 Java Java 25 后的时代:像写 Python 一样写 Java
原来计划是用 println("Hello, World!");,现在还有加上 IO.
2 天前
回复了 Geekerstar 创建的主题 Java javafx 写的程序如何做混淆
就是因为反射等动态特性导致的,就像 GraalVM 的 native-image 一样,碰到反射的代码就容易出问题
6 天前
回复了 hongye 创建的主题 问与答 阿里的通义灵码不维护了吗
@javalaw2010 #20 都想抢占市场,就像在手机上,明明可以使用浏览器浏览网页,全都要使用 APP 。
都是硬盘杀手
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
10 天前
回复了 Ayanokouji 创建的主题 Java JDK 25 发布了, LTS 版本
@w292614191 #52 这没什么,安装多个 JDK 就是了,在脚本里设置 JAVA_HOME, PATH 即可。高版本向下兼容。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3928 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 10:14 · PVG 18:14 · LAX 03:14 · JFK 06:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.