本文来自: PerfMa技术社区 PerfMa(笨马网络)官网 概述 metaspace,顾名思义,元数据空间,专门用来存元数据的,它是jdk8里特有的数据结构用来替代perm,这块空间很有自己的特点,前段时间公司这块的问题太多了,主要是因为升级了中间件所致,看到大家讨论来讨论去,看得出很多人对me ...
分类:
Web程序 时间:
2020-07-15 15:20:01
阅读次数:
70
一个进程对应一个jvm实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。 核心概述 1.一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 2.Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最 ...
分类:
其他好文 时间:
2020-07-15 12:57:51
阅读次数:
71
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等Java程序员几乎都了解Spring。它的IoC(依赖反转)和AOP(面向切面编程)功能非常强大、易用。而它背后的字节码生成技术(在运行时,根据需要修改和生成Java字节码的技术)就是就是一项重要的支撑技术。Java字节码能够在JVM(Java虚拟机)上解释执行,或即时编译执行。其实,除了Java,JVM上的Groovy、Ko
分类:
编程语言 时间:
2020-07-15 12:52:09
阅读次数:
51
一、锁的粗化 看如下代码 public class Test { StringBuffer stb = new StringBuffer(); public void test1(){ //jvm的优化,锁的粗化 stb.append("1"); stb.append("2"); stb.appen ...
分类:
其他好文 时间:
2020-07-15 01:07:11
阅读次数:
53
思路: cpu多级缓存 - 伪共享 解决一致性 缓存锁MESI + 总线锁 缓存行填充 cpu指令乱序 演示demo 为什么乱序 - 好处 因为cpu比内存块太多,为了充分压榨cpu cpu内存屏障阻止乱序 sfence&lfence&mfence volatile实现 字节码层面 在access ...
分类:
其他好文 时间:
2020-07-15 01:02:42
阅读次数:
97
综述 JDK版本:JDK8/JDK7 + OracleJDK/OpenJDK Java开发框架:Spring Boot/Spring + Hibernate/MyBatis 前后端分离:单页应用/模板引擎 前后端接口文档自动生成:Swagger 业务端逻辑校验框架:Functional Valida ...
分类:
编程语言 时间:
2020-07-15 01:01:42
阅读次数:
130
爬坑,有效处理1: 爬坑,有效处理2: 【全网】最佳实验设置(均衡大小设置): Sophisticated(复杂的)(橘色标识)和上面一样, Xmx 和 Xms 都分配2GB,但是给 GC 和内存管理指定不同的垃圾回收器和许多不同的标志: -server-Xms3g-Xmx3g-XX:NewRati ...
分类:
其他好文 时间:
2020-07-14 21:48:18
阅读次数:
389
1.JVM新加“即时编译”,将热点代码直接编成底层代码,减少增加翻译之后可能存在的通信歧义或效率问题; 2.字符集和字符编码 字符集:Unicode 字符编码: utf-8(这个是可变编码,需要1位用1位,需要15位放15位,最大可扩容到4字节,标记隔离的方式是这个字符的前2位来标识是否继续读); ...
分类:
编程语言 时间:
2020-07-14 18:37:38
阅读次数:
66
虽然 WeakReference 与 SoftReference 都有利于提高 GC 和 内存的效率, 但是 WeakReference ,一旦失去最后一个强引用,就会被 GC 回收,而软引用 虽然不能阻止被回收,但是可以延迟到 JVM 内存不足的时候。 ...
分类:
编程语言 时间:
2020-07-14 16:19:50
阅读次数:
88
监控工具:jvisualVM、VisaulVM、jprofiler JVM优化书籍:《Java性能优化权威指南》、《深入理解java虚拟机》 1.年轻代空间不足 2.per Gen(永久代)空间满 3.CMS GC时出现promotion failed和concurrent mode failure ...
分类:
其他好文 时间:
2020-07-14 10:36:50
阅读次数:
187