愤怒中的小草

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  JVM

内存相关的信息文章
摘要:连接本地程序报错 在idea工具中添加如下命令 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.authenticate=fals 阅读全文
posted @ 2019-03-28 09:27 愤怒中的小草 阅读(1276) 评论(1) 推荐(1)

摘要:1. serial/serial old 2. parnew/cms 3. paralel savenge/paralel old 4. g1 分代思想 新生代一般使用复制算法,老年代使用标记整理或者标记清除 标记清除的缺点是回收的时候会产生内存碎片。 分区思想 g1作为jdk9使用的回收策略,把新 阅读全文
posted @ 2019-03-27 09:07 愤怒中的小草 阅读(140) 评论(0) 推荐(0)

摘要:1.java内存结构,也就是运行时的数据区域 堆(heap)、栈(stack)、本地方法栈(native method stack)、方法区(method area)、程序计数器(program counter register) 2.java内存模型 三个重要特性:原子性、可见性、有序性 可见性的 阅读全文
posted @ 2019-03-18 09:39 愤怒中的小草 阅读(163) 评论(0) 推荐(0)

摘要:下载地址 http://www.bitmover.com/lmbench/ tar -zxvf lmbench3.tar.gz cd lmbench3 make 此时会报错: make[2]: *** 没有规则可以创建“bk.ver”需要的目标“../SCCS/s.ChangeSet”。 停止。 m 阅读全文
posted @ 2019-03-06 20:38 愤怒中的小草 阅读(3457) 评论(0) 推荐(0)

摘要:首先看一个命令 再看几个名词 Java(TM) SE Runtime Environment (build 1.8.0_191-b12) java运行环境 hotspot包括server和client两种模式的实现: Java HotSpot Client VM(-client),为在客户端环境中减 阅读全文
posted @ 2019-01-23 20:04 愤怒中的小草 阅读(447) 评论(0) 推荐(0)

摘要:TLAB的全称是Thread Local Allocation Buffer,即线程本地分配缓存区,这是一个线程专用的内存分配区域。 由于对象一般会分配在堆上,而堆是全局共享的。因此在同一时间,可能会有多个线程在堆上申请空间。 因此,每次对象分配都必须要进行同步(虚拟机采用CAS配上失败重试的方式保 阅读全文
posted @ 2019-01-20 13:42 愤怒中的小草 阅读(5193) 评论(2) 推荐(0)

摘要:先看一张图 根据JConsole和任务管理器对比,堆内存大小在250M左右,差不多空跑一个程序用idea启动springboot就是这个大小 项目启动初始类在一万个左右,活动线程50个上下,cpu利用率可以忽略。 idea工具本身占用内存在1.7G,这个貌似有点大,具体的内存使用需要后续学习? go 阅读全文
posted @ 2019-01-19 11:11 愤怒中的小草 阅读(266) 评论(0) 推荐(0)

摘要:新生代 --复制算法 老年代 --标记压缩清除算法 分代 分区思想 垃圾回收的任务是识别和回收垃圾对象进行内存清理,为了让垃圾回收器可以高效的执行,大部分情况下,会要求系统进入一个停顿的状态。 停顿的目的是终止所有应用线程,只有这样系统才不会有新的垃圾产生,同时停顿保证了系统状态正在某一个瞬间的一致 阅读全文
posted @ 2019-01-18 22:30 愤怒中的小草 阅读(179) 评论(0) 推荐(0)

摘要:栈在JVM虚拟机中是线程的一块私有空间,比如存储函数的调用信息、局部变量等 特性 先进后出和后进先出即FIFO 借用网络的一个图,感觉看完就可以了解了 最先调用的函数压入栈低,最后压入得函数在栈顶,函数调用压入栈顶最先取出。 还有一种情况stack出现异常,看下面这个程序 递归调用的次数大小跟栈内存 阅读全文
posted @ 2019-01-08 23:01 愤怒中的小草 阅读(234) 评论(0) 推荐(0)