JVM
失败的Cc
这个作者很懒,什么都没留下…
展开
-
Java类加载器
什么时候需要实现自定义类加载器? 想加载非 classpath 随意路径中的类文件 都是通过接口来使用实现,希望解耦时,常用在框架设计 这些类希望予以隔离,不同应用的同名类都可以加载,不冲突,常见于 tomcat 容器 注意 自定义类加载器 加载同一个类的时候,如果使用的是同一个类加载器,那么两个加载出来的class对象是相通的,如果不是同一个类加载器,则加载出来的class对象是不同的。 因为每一个类加载器进行加载类时,都会检查自己是否加载过这个类,如果加载过,则直接返回class对象。 .原创 2021-09-24 19:40:16 · 71 阅读 · 0 评论 -
Java中的垃圾回收器
设置JVM参数-XX:+PrintGCDetails -verbose:gc可以在控制台输出垃圾回收相关信息 垃圾回收器 串行垃圾回收器 用法:-XX:+UseSerialGC 作用:在新生代和老年代都使用串行化垃圾回收器,并且该回收器是单线程的,即同时最多只占用一个CPU。 图示: 吞吐量优先垃圾回收器 用法:-XX:+UseParallelGC和-XX:+UseParallelOldGC,JDK1.8默认是开启的 作用:CPU占有率可能会激增,并且是并行运行,会占用所有的CPU,以尽快将垃.原创 2021-09-24 19:39:45 · 99 阅读 · 0 评论 -
JVM调优工具
jstack <进程号>:查看栈区域 jmap -heap <进程号>:查看堆空间的快照,会显示堆中每个区域的内存占用情况 jconsole:图形化的界面,动态查看内存和CPU的占用情况,也可以连接远程Linux机器,不过需要设置在启动是设置JVM参数 比如:java -Djava.rmi.server.hostname='ip地址' -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port='连接端口'.原创 2021-09-24 19:39:08 · 64 阅读 · 0 评论 -
JVM笔记
划分 类加载 将类的字节码载入方法区中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要 field 有: _java_mirror 即 java 的类镜像,例如对 String 来说,就是 String.class,作用是把 klass 暴露给 java 使用 _super 即父类 _fields 即成员变量 _methods 即方法 _constants 即常量池 _class_loader 即类加载器 _vtable 虚方法表 _itable 接口方法表 如果这个原创 2021-09-23 17:30:16 · 66 阅读 · 0 评论