一梦无痕bzy
这个作者很懒,什么都没留下…
展开
-
jvm调优
jvm调优就是优化linux系统上jvm的运行环境,解决内存溢出、频繁FGC等各种问题。主要是对ps+po进行调优。原创 2022-07-28 15:54:16 · 135 阅读 · 0 评论 -
jdk、jre、jvm区别
Java虚拟机。jdk中的javac.exe编译工具将java代码编译成xxx.class文件(字节码文件),jvm执行class文件(能够将class文件中的字节码指令进行识别并调用操作系统上的API完成动作,也就是调汇编指令,让cpu按照汇编指令去干活)。...原创 2022-07-28 12:04:38 · 2151 阅读 · 0 评论 -
GC垃圾回收器详解
垃圾回收器的发展路线是随着内存越来越大而演进的。从分代算法演进到不分代算法(jvm调优参数越来越少)。上图虚线部分是老年代和新生代可以配合使用的。原创 2022-07-28 11:45:15 · 1169 阅读 · 0 评论 -
jvm四种引用类型
正常的new出对象被引用指向就是强引用。可直接通过引用操纵对象。gc不会回收被强引用指向的对象,除非引用等于null。原创 2022-07-28 10:34:17 · 576 阅读 · 0 评论 -
jvm组成及内存模型
jvm包括类装载子系统(类加载器)、运行数据区(jvm内存)、字节码执行引擎jvm工作流程程序运行时类装载子系统把class文件加载到运行数据区,然后字节码执行引擎去执行相应的字节码,根据字节码去调底层相应的汇编指令,cpu按照汇编指令去干活。............原创 2022-07-27 14:12:04 · 306 阅读 · 0 评论 -
对象创建过程及对象布局
在分代模式里刚new出的对象优先考虑是否能分配到栈上,如果栈的空间够大则留在栈上(对象分配到栈上是很好的事情,因为对象没用了自己就清除了,根本不用任何GC);如果栈的空间不够大则根据对象的大小来分配,如果对象很大则直接放到老年代,通过FGC回收;否则根据TLAB(线程本地分配缓冲区)进行分配,无论结果如何都会放到eden区,通过YGC回收(在进行复制算法清除时,如果所有对象加和比较大,超过了s0、s1的一半,这些对象也会直接放到老年代),能回收就回收否则重复直到放到老年代区,最后被FGC回收。.......原创 2022-07-27 13:37:46 · 119 阅读 · 0 评论 -
jar启动命令详解以及jvm常用参数
一、jar启动命令1、最基本的命令:java -jar xxx.jar表示在当前ssh窗口运行,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出2、后台执行:java -jar xxx.jar &表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行3、不挂断执行:nohup java -jar xxx.jar &表示不挂断运行,当账户退出或终端关闭时,程序仍然运行。注意,该命令的所有输出被默认重定向到nohup.out的文件中。4、指定输出日原创 2021-08-20 17:38:45 · 2329 阅读 · 0 评论