jvm优化
文章平均质量分 92
xuehuagongzi000
这个作者很懒,什么都没留下…
展开
-
jvm内存和线程信息查看
目录1、通过jmap查看整体信息:jmap -heap 2、通过jstat查看gc的信息:jstat -gcutil :统计gc信息3、通过jmap 对jvm信息进行dump,在MAP工具中查看4、利用jstack查看jvm线程的情况1、通过jmap查看整体信息:jmap -heap <pid>[root@localhost ~]# jmap -heap 27900Attaching to process ID 27900, please wait.....原创 2020-11-04 11:41:30 · 6888 阅读 · 0 评论 -
java垃圾回收算法和垃圾回收器
目录1、java内存区域2、判断哪些对象需要被回收3、垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法4、垃圾收集器Parallel Scavenge收集器 / Parallel Old收集器G1收集器1、java内存区域Java 内存运行时区域中的程序计数器、虚拟机栈、本地方法栈随线程而生灭。每一个栈帧中分配多少内存基本上是在...原创 2020-04-10 18:54:34 · 467 阅读 · 0 评论 -
Java的堆和栈中对象的区别
1、栈中主要存放一些基本类型的变量(int, short, long, byte, float, double, boolean, char)和引用对象。Java中分配堆内存是自动初始化的。2、Java中所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在堆栈中分配。也就是说在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在栈中分配的内存只是一个指向这个堆对象...原创 2020-04-10 18:30:42 · 488 阅读 · 0 评论 -
jvm之java程序从编写到执行的结构链路
jvm之java程序从编写到执行的结构链路1.java前端编译器负责将java源代码编译为字节码-->前端编译器2.java虚拟机负责将编译好的字节码装载进内部-->java类加载步骤和运行时区域3.最后解释/编译为对应平台上的机器指令执行-->jvm执行引擎和垃圾回收GC原创 2017-04-11 16:00:03 · 688 阅读 · 1 评论 -
jvm之内存分配与垃圾回收
1、java运行时内存区结构线程共享内存区java堆区它是JVM用来存储对象实例以及数组值的区域,可以认为Java中所有通过new创建的对象的内存都在此分配。方法区(永久代)方法区在物理上也属于java堆区的一部分。它用于存储每一个类的结构信息,例如运行时常量池,成员变量和方法数据,构造函数和普通函数的字节码内容,还包括一些在类、实例、接口初始化时用到的特殊方法。当开发人员在程...原创 2017-04-12 22:02:49 · 482 阅读 · 1 评论 -
操作系统和机器码
1、如题。编译过程分为4个步骤:预处理,编译,汇编,链接。整个过程中。编译之后生成汇编语言的文件A。汇编之后生成机器码文件B。机器码文件B,应该是与cpu有关。不同的cpu架构,就有不同的机器码文件B。但机器码文件B执行时,需要操作系统装载,那么link时,必须遵照操作系统的约定,给机器码文件B增加信息,所以也多少与操作系统有关吧。2、既然c程序编译为机原创 2017-10-22 22:59:22 · 3205 阅读 · 2 评论