跳到主要内容

3 篇博文 含有标签「jvm」

查看所有标签

JVM 如何创建 Java 线程:Thread.start、Native 方法与操作系统线程

· 阅读需 3 分钟
Apache王也道长
软件开发者与技术作者
Thread t = new Thread(new Runnable() {
@Override
public void run() {

}
});
t.start();

上面这段代码在JVM中是如何实现的呢?

调用 Thread.start 与直接调用 run 完全不同,前者会请求 JVM 创建新的执行线程。分析线程创建失败时应同时检查进程线程数、系统限制、容器配额和单线程栈大小。

深入理解 JVM:类加载、运行时数据区、字节码与垃圾回收

· 阅读需 12 分钟
Apache王也道长
软件开发者与技术作者
  • 加载:查找并加载类的二进制

  • 连接

    • 验证:确保被加载的类的正确性
    • 准备:为类的静态变量分配内存,并将其初始化为默认值
    • 解析:把类中的符号引用转为直接引用

JVM 知识应与具体 Java 版本和收集器实现对应。学习时可以围绕类如何加载、对象如何分配、方法如何执行、垃圾如何回收四条主线建立整体结构。

Java 启动参数详解:堆内存、G1 GC、系统属性与应用参数

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

这篇文章主要讲解 Java 启动参数 在linux用jmeter做压力测试的时候,发现jmeter启动参数,记录一下:

java -server -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=250 -XX:G1ReservePercent=20 -Djava.security.egd=file:/dev/urandom -jar xxxx.jar

解释一下上述参数意思: Java 命令中 JVM 参数必须放在 -jar 或主类之前,应用参数放在其后。排查启动问题时应同时记录实际命令、Java 版本、环境变量和容器资源限制。

总访问量 -- · 访客数 --