jvm
玩名堂_
勤于求知,细于做事
展开
-
探秘Java中的String、StringBuilder以及StringBuffer
转载地址:http://www.cnblogs.com/dolphin0520/p/3778589.html 一.你了解String类吗? 想要了解一个类,最好的办法就是看这个类的实现源代码,String类的实现在 \jdk1.6.0_14\src\java\lang\String.java 文件中。 打开这个类文件就会发现String类是被fi转载 2017-07-24 20:56:40 · 261 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
原文链接:http://www.cnblogs.com/dolphin0520/p/3920373.html 一.内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内转载 2017-07-25 18:48:50 · 261 阅读 · 0 评论 -
eclipse插件开发初体验-eclipse启动耗时统计插件
最近打算学习一下JVM调优,打算先从Eclipse运行速度调优开始,因此我们就得需要知道调优之后与之前的耗时变化,这时制作一个插件计算Eclipse启动耗时就有必要了,其实eclipse插件开发我也是第一次接触,讲的不好请谅解 首先new一个插件工程 填写工程名,其他选项按默认的就行 Properties原创 2017-09-13 20:49:07 · 617 阅读 · 0 评论 -
Java代码性能优化技巧
尽量指定类、方法的final修饰符 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举大概能够使性能平均提高50%。 尽量重用对象特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。 尽可能使用局部变量 及时关闭流:进行数据库连接、I/O流操作,原创 2017-11-18 12:48:41 · 710 阅读 · 0 评论 -
java编程之美(一)
实践编程已经有足足6年多时间,也算是有一定经验,经常在工作中遇到各种让人不爽的代码编写方式,今天忍不住要来唠叨下。 为什么叫编程之美? 在我看来,代码有丑陋难看和赏心悦目两类,当然还有介于两者之间的。优秀开源框架的源码,让人看了就觉得舒服;而有些新手写的代码,让人看了别扭、添堵。本人也是从新手一步步过来的,想想自己早年写得代码,也是很丑的。当年丑不要紧,一直丑就要命了。 废话不转载 2018-01-29 13:54:02 · 332 阅读 · 0 评论 -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
悲观锁: 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的实现也是悲观锁。 乐观锁: 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不...原创 2018-03-14 21:47:18 · 864 阅读 · 0 评论 -
消除java异常开销
抛异常的最大开销是异常栈的构建过程,如果你的程序调用很深,特别是用了第三方开源框架,这个开销是不容忽视的 开销在哪 查看jdk源码 /** * Constructs a new throwable with the specified cause and a detail * message of {@code (cause==null ? null : cause.toS...转载 2019-07-27 10:15:29 · 624 阅读 · 0 评论