![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 55
qq_32182461
这个作者很懒,什么都没留下…
展开
-
JAVA之内存模型
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: ...转载 2018-03-19 22:04:39 · 117 阅读 · 0 评论 -
jvm之内存分配
jvm内存: 分为栈,堆,方法区。 堆内存是所有线程共享的内存区域:存储了所有的对象实例,数组对象,静态对象。为了便于jvm垃圾回收,将堆内存分为新生代和年老代。 新生代:分配对象首先分配在新生代。 新生代对象的特点:生命周期短,存活时间低。 新生代垃圾回收:minor gc 发生频繁,采用复制算法来进行垃圾回收。 ...原创 2018-05-15 11:32:15 · 115 阅读 · 0 评论 -
jvm之垃圾收集器
判断对象是否死亡的方法: (1)引用计数法:若对象存在引用,那么该对象的引用计数器加1,若该对象的引用计数器为0表示没有被引用,则被回收 (2)可达性分析算法:判断该对象跟gc root之间有没有关联,若没有关联那么被回收。可以作为gc roots的对象:(1)虚拟机栈中的引用对象(2)方法区中类的静态属性所引用的对象(3)方法区中常量所引用的对象引用:强引用:直接关联着的对象,eg:A a ...原创 2018-05-24 17:24:28 · 185 阅读 · 0 评论 -
Java8内存结构的改变
java memory结构 分代概念 对于垃圾收集算法来说,分代回收是高级算法之一。对象按照生成时间进行分代,刚刚生成不久的年轻对象划为新生代(Young gen-eration),而存活了较长时间的对象划为老生代(Old generation)。根据具体实现方式的不同,可能还会划分更多的代。比如有的把永久代也算做一个代。 memory划分 java memory主要分heap memor...转载 2018-07-27 11:48:31 · 2783 阅读 · 0 评论 -
redis - You need tcl 8.5 or newer in order to run the Redis test
在redis的根目录下执行make test 出现上述错误 可以使用以下方式来解决: wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/ cd /usr/local/tcl8.6.1/unix/ sudo ./confi...原创 2018-08-13 09:03:40 · 276 阅读 · 0 评论 -
java编译原理总结
java的编译过程是一段"不确定"的过程,因为这可能是指将.java文件转变成.class文件的过程(javac编译阶段),也可能是指虚拟机后台的JIT(即时编译器)把字节码转为机器码 的过程(JIT编译) 前端编译器有javac等 后端编译器有HotSpotVM的C1,C2编译器 javac的编译过程为: 解析与填充符号表 解析包括词法分析和语法分析 词法...原创 2018-09-06 09:01:32 · 208 阅读 · 0 评论 -
jvm常用调优策略
jvm参数类型: (了解 不常用) -xint:解释执行 -Xcomp:编译执行 -Xmixed:混合模式,jvm自己决定使用哪种方式 (重点) 分为boolean类型: -XX:[+-]<name> 表示是否启用jvm的某个参数 非boolean类型: -XX:<name> = <value> 表示name属性的值为value -Xms:初始对内存大小(...原创 2018-10-03 12:58:15 · 993 阅读 · 1 评论