java虚拟机
文章平均质量分 56
Melody袁
这个作者很懒,什么都没留下…
展开
-
虚拟机启动失败报错:端口被占用解决方法(IDEA)
详细报错: 2021-03-16 19:19:56,647 ERROR org.apache.juli.logging.DirectJDKLog 175 log - Failed to start component [Connector[HTTP/1.1-8080]] org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startI原创 2021-03-16 19:38:38 · 2638 阅读 · 0 评论 -
JVM内存结构|本地方法栈和堆
本地方法栈 服务的对象是jvm执行的native方法 当线程调用本地方法时,虚拟机会保持java栈不变,不再在线程的java栈中压入新的栈帧,虚拟机只是简单的动态连接并直接调用指定的本地方法。 程序计数器,虚拟机栈,本地方法栈都是线程私有的,不需要考虑线程安全问题。 堆 Heap 堆 通过 new 关键字,创建对象都会使用堆内存 它是线程共享的,堆中对象都需要考虑线程安全的问题 有垃圾回收机制 (堆中不再被引用的对象会被当作垃圾回收) 堆内存溢出 堆内存诊断 jps 工具 查看当前系统中有哪些 ja原创 2021-03-04 22:10:04 · 188 阅读 · 1 评论 -
JVM内存结构|虚拟机栈
定义 每个线程运行时所需要的内存称为虚拟机栈 每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法 问题辨析 垃圾回收是否涉及栈内存? 不涉及。虚拟机栈里的栈帧即对应代码中的一个方法。代码运行的过程,即栈帧入栈出栈的过程。 一个方法执行完,栈帧出栈后,即被销毁。只有入栈出栈这样简单的操作,不需要设计复杂的垃圾回收算法来回收。随着方法的执行,线程的结束正常回收即可。 栈内存分配越大越好吗? 不会,栈内存越大线程数目会越少,并不会提高程序的运行效原创 2021-03-04 00:19:18 · 144 阅读 · 1 评论