jvm
AdolfQiu
激流勇进才能领略江河源头的奇观胜景!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见BUG之Unable to open debugger port (127.0.0.1:57046): java.net.SocketException “so
原因分析:出现这个报错的原因是因为端口被占用导致的。解决方法:解决方法主要两种:修改端口配置(推荐)、关闭占用端口的进程(不推荐)。方式一:修改端口配置(推荐)被占用的端口可能是本地端口,也可能是JMX端口或Debug模式下的端口,配置端口位置如图所示,尝试修改后启动tomcat不报错就可以了。方式二:关闭占用端口的进程(不推荐)找到占用端口的进程并关闭即可,但这种方式可能导致有用的进程被强行关闭,所以不推荐。第一步:cmd打开命令行窗口,执行命令:netsta.转载 2020-10-21 09:52:44 · 7687 阅读 · 1 评论 -
java虚拟机--对于类的主动使用的一些实例
public static void main(String[] args) throws InterruptedException { System.out.println(MyChild1 .str); }class MyParent1{ public static String str="hello world"; static { System.out.println("MyParent1 static block"...原创 2020-08-15 17:05:25 · 204 阅读 · 0 评论 -
java虚拟机---java程序对类的使用方式
一、主动使用:创建类的实例 访问某个类或接口的静态变量,或者对该静态变量赋值 调用类的静态方法 反射(如Class.forName(com.test.Test)) 初始化一个类的子类 java虚拟机启动时被标明为启动类的类(java Test) JDK1.7 开始提供的动态语言支持 java.lang.invoke.MethodHandle实例的解析结果REF_getStatic,REF_putStatic,REF_invokeStatic句柄对应的类没有初始化,则初始化二、被动使用原创 2020-08-15 16:41:36 · 224 阅读 · 0 评论 -
java虚拟机---java类的加载过程
一、在java代码中、类型的加载、连接与初始化过程都是在程序运行期间完成的。提供了很大的灵活性,增加了更多的可能性。二、在如下几种情况下,java虚拟机将结束生命周期执行了System.exit()方法 程序正常执行结束 程序在执行过程中遇到了异常或错误而异常终止 由于操作系统出现错误而导致java虚拟机进程终止三、类的加载、连接、初始化加载:查找并加载类的二进制数据(把类的class文件加载到内存) 连接:-验证:确保被加载的类的正确性 -准备:为类的静态变量分配内存,并将其初始原创 2020-08-15 16:14:40 · 225 阅读 · 0 评论 -
JVM中的新生代和老年代(Eden空间、两个Survior空间)
现有的主流JVM分别是HotSpot和JRockit,主要研究对象也是这两个。这篇文章里,我们只研究HotSpot,也就是所谓的Sun JVM。目前阶段,Sun的GC方式主要有CMS和G1两种。考虑到效果和实际应用,这里只介绍CMS。CMS,全称Concurrent Mark Sweep,是JDK1.4后期版本开始引入的新GC算法,在JDK5和JDK6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求较高的应用,并且预期这部分应用能够承受垃圾回收线程和应用线程共享处理器资源,且应用中存在比较多的长转载 2020-08-13 19:22:03 · 406 阅读 · 0 评论 -
java面试-什么是GC root
一、什么是垃圾内存中已经不再被使用到的空间就是垃圾二、要进行垃圾回收,如何判断一个对象是否可以被回收?引用计数法 很难解决对象之间的循环引用问题枚举根节点做可达性分析 通过一系列名为“GC Roots”的对象作为起始点,从“GC Roots”对象开始向下搜索,如果一个对象到“GC Roots”没有任何引用链相连,说明此对象可以被回收。三、哪些对象可以作为 GC Roots 的对象:虚拟机栈中局部变量(也叫局部变量表)中引用的对象 方法区中类的静态变量...原创 2020-08-13 19:15:41 · 904 阅读 · 0 评论
分享