自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_41420424的博客

买一送一

  • 博客(5)
  • 收藏
  • 关注

转载 Java Integer和String内存存储

先看代码:void foo(){ Integer i1 = 2; Integer i2 = 2; Integer i3 = new Integer(2); System.out.println("i1 = i2? " + (i1 == i2)); //true System.out.println("i1 = i3? " + (i1 == i3)); ...

2018-04-15 15:01:44 140

转载 线程可见性

1.可见性一个线程对共享变量值得修改,能够及时的被其他线程看到。2.共享变量如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。3.Java内存模型描述了Java程序中各种变量(线程共享变量)的访问规则,以及在jvm中将变量存储到内存和内存中读取出变量这样的底层细节。所有的变量都存储在主内存中。每股线程都有自己独立的工作内存,里面保存该线程所使用到的变量副本(主内存...

2018-04-14 11:43:22 173

原创 竞态条件的内置锁与重入

Java提供一种内置的锁机制来支持原子性:同步代码块Synchronized。synchronized可用来修饰需要加锁的变量或引用,也可以用来修饰方法。内置锁拥有重入机制,即如果一个线程试图拥有一个已经由它自己获得的锁,那么再次请求获得锁可以成功。一种实现方法是JVM为每个内置锁设置一个获取计数值和所有者属性。当计数值为0是,表示未被占有。当有一个线程请求占有时,JVM会记录占有者并将计数值加一...

2018-04-13 16:18:39 135

原创 竞态条件学习笔记

竞态条件指的是不恰当的线程执行时序导致产生不正确的结果。常见情况有“先检查后执行”。即通过一个可能失效的观测结果来决定下一步的动作。比如线程A检查文件X是否存在,若发现不存在,则创建一个新的文件X。但这个观测结果可能无效,比如在观测到文件不存在到创建文件期间,线程B创建了文件X,会导致各种问题。“先检查后执行”的情况在延迟初始化中也会遇到。延迟初始化指在需要用到对象时才进行初始化。比如在单例模式中...

2018-04-13 15:40:49 320

原创 有状态对象与无状态对象

有状态对象是拥有实例变量的对象,可以保存数据,不是线程安全的。class User{    String name; //实例变量    static id;//静态变量}无状态对象是一次操作,不能保存数据,没有实例变量,是线程安全的。...

2018-04-13 15:03:57 198

空空如也

空空如也

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

TA关注的人

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