![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优化
Bug君坤坤
(1)QQ 2975287472 阳光,积极向上的人;喜欢探索新技术,乐于分享心得;易于沟通,抗压力强,自学能力强<br>(2)具备一定英文阅读能力,可以阅读英文书籍以及帮助文档<br>(3)具有强烈的时间观念和交付意识,拥有良好的代码习惯,逻辑结构清晰<br>(4)有比较强的动手能力,擅长调试代码和硬件设备,有很好的分析问题与解决问题的能力<br>(5)具有较好的自学快速上手能力,心态逐渐平和,任务逻辑安排逐渐计划性,乐于学习新知识,及时总结BUG和知识
展开
-
锁的优化
一、锁的优化的思路和方法1、减少锁持有时间2、减小锁粒度(1)将大对象拆分成小对象,大大增加并行度,降低锁竞争(2)偏向锁,轻量级锁成功率提高(3)ConcurrentHashMap(4)HashMap的同步实现Collections.synchronizedMap(Map<K,V> m)返回SynchronizedMap对象(5)ConcurrentHashMap若干个Segment:Segment<K,V>[]segmentsSegment中维护HashE原创 2020-05-22 11:56:26 · 337 阅读 · 0 评论 -
JVM优化(五)
一、Class文件结构1、常量池constant_pool cp_infoCONSTANT_Utf8 1 UTF-8编码的Unicode字符串CONSTANT_Integer 3 int类型的字面值CONSTANT_Float 4 float类型的字面值CONSTANT_Long 5 long类型的字面值CONSTANT_Double 6 double类型的字面值CONSTANT_Class 7 对一个类或接口的符号引用CONSTANT_String 8 String类型字原创 2020-05-20 21:17:52 · 178 阅读 · 0 评论 -
JVM优化(四)
一、内存溢出(OOM)的原因1、情况及解决办法(1)堆溢出:占用大量堆空间,直接溢出解决方法:增大堆空间,及时释放内存(2)永久区:生成大量的类解决方法:增大Perm区,允许Class回收(3)Java栈溢出:在创建线程的时候,需要为线程分配栈空间,这个栈空间是向操作系统请求的,如果操作系统无法给出足够的解决方法:减少堆内存,减少线程栈大小空间,就会抛出OOM(4)直接内存溢出:ByteBuffer.allocateDirect()无法从操作系统获得足够的空间解决方法:减少堆内存,有意触发原创 2020-05-20 20:52:18 · 118 阅读 · 0 评论 -
JVM优化(三)
一、class装载验证流程1、加载(1)装载类的第一个阶段(2)取得类的二进制流(3)转为方法区数据结构(4)在Java堆中生成对应的java.lang.Class对象2、链接(1)验证:保证Class流的格式是正确的文件格式的验证 是否以0xCAFEBABE开头 版本号是否合理元数据验证 是否有父类 继承了final类? 非抽象类实现了所有的抽象方法字节码验证 (很复杂) 运行检查 栈数据类型和操作码数据参数吻合 跳转指令指定到合理的位置符号引用验证原创 2020-05-20 20:39:08 · 136 阅读 · 0 评论 -
JVM优化(二)
一、GC算法和种类1、定义(1)Garbage Collection 垃圾收集(2)Java中,GC的对象是堆空间和永久区2、引用计数法(1)通过引用计算来回收垃圾(2)引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。(3)或者说是根对象无法通过路径到达可达的有效对象(4)问题引用和去引用伴随加法和减法,影响性能;同时很难处理循环引用3、标记-清除标记-原创 2020-05-20 20:13:45 · 164 阅读 · 0 评论 -
JVM优化(一)
一、JVM相关概念1、定义(1)JVM是Java Virtual Machine的简称。意为Java虚拟机(2)虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统(3)JVM使用软件模拟Java 字节码的指令集(4)JVM主要定义二进制class文件和JVM指令集等2、启动流程(1)java xxx(2)装置配置:根据当前路径和系统版本寻找jvm.cfg(3)根据配置寻找JVM.dll:JVM.dll为JVM主要实现(4)初始化JVM,获得JNIEnv原创 2020-05-20 18:35:06 · 271 阅读 · 0 评论