自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 线程安全

线程安全当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。这个定义比较严谨,它要求线程安全的代码都必须具备一个特征:代码本身封装了所有必要的正确性保障手段(如互斥同步等),令调用者无须关心多线程问题,更无须自己才起任何措施来保证多线程的正确...

2019-06-25 14:04:52 210

原创 Java内存模型与线程

JVM试图定义一种Java内存模型(Java Memory Model JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前如c/c++等直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全正常,而在另一套平台上并发访问却经常出错。JDK1.5后,JMM已经完善和成熟起来了。...

2019-06-24 08:57:38 242

原创 虚拟机字节码执行引擎(二)

方法调用方法调用并不等同于方法执行,方法调用阶段唯一任务就是确定调用哪个方法,暂时还不涉及方法内部的具体运行过程。在程序运行时,进行方法调用时最普遍最频繁的操作,但前面讲过,class文件的编译过程并不包含连接步骤,一切方法调用在class文件里存储的都是符号引用,而不是方法在实际运行时内存布局中的入口地址(直接引用)。这个特性给Java带来了更强大的动态扩展能力,但也使得Java方法调用过程...

2019-06-18 10:21:03 148

原创 Java晚期(运行期)优化

概述Java程序起初是通过解释器(Interperter)进行解析执行的,当虚拟机发现某个代码或方法特别频繁时,就会把这些代码认定为热点代码(hot spot code)。为了提高热点代码执行效率,运行时,会将其编译为本地的机器码,并进行各种层次优化,完成这个任务的编译器称为即时编译器(Just In Time Compiler JIT编译器)。JIT并不是虚拟机必须部分,JVM也没有规...

2019-06-17 15:29:56 449

原创 Java早期编译优化

概述Java语言编译期是一段不确定的操作过程,可能指前端编译器(叫编译器的前端更准确)把*.java文件转变为*.class文件的过程,也可能指虚拟机后端编译器(JIT编译器 Just Time Compiler)把字节码转为机器码的过程;还可能指静态提前编译器(AOT编译器)直接把*.java文件编译为本地机器代码的过程。列举下这三类编译过程中又代表性的编译器:前端编译器:Sun的J...

2019-06-12 10:46:34 221 1

原创 Integercache问题

昨天在开发中遇到一个问题,定义了两个Integer变量,暂且定义为Integer a; Integer b;这两个值由前端赋值并传到后台,前台传的是a = 12345, b = 12345, 但我在后台比较的时候 if (a == b),却返回false,好无语啊,不都是123吗?为什么返回false,后来改为equals(),返回true,但其中的有些端倪还不太清楚,现总结下:我们知...

2019-06-10 20:11:17 964 2

原创 tomcat:正统的类加载器架构

主流的Java Web服务器,如Tomcat、Jetty、WebLogic、WebSphere或其他服务器,都实现了自己定义的类加载器(一般都不止一个)。因为一个功能健全的Web服务器,要解决如下几个问题:部署在同一个服务器上的两个Web应用程序所使用的Java类库相互隔离。这是最基本的需求,两个不同的应用程序可能会依赖同一个第三方类库的不同版本,不能要求一个类库在一个服务器中只有一份,服务器...

2019-06-10 19:35:41 624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除