自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 java并发之内存模型与线程安全-02

原子性 指一个操作是不可中断的,即使是在多线程一起执行的时候,一个操作一旦开始, 就不会被其他线程干扰。 可见性 是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够 立即看得到修改的值。于可见性,Java提供了volatile关键字来保证可见性。 如果一个变量被volatitle修饰后,当一个线程对这个变量进行修改时,会将修改后 的值更新到主内存中,如果有其他线程想要...

2018-08-01 20:45:36 145

翻译 zookeeper介绍

zookeeper是什么         zookepper是hadoop的一个子项目,Apache软件基金会下的一个项目,用于分布式程序的协调服务。具体是什么呢?打个比方,我们可以把整个分布式应用程序想象成一个人,分布式应用程序由不同服务组成,就好比一个人由不同的器官组成,比如一个人有头,有手,有脚,眼睛,鼻子等。那么zookeeper在分布式系统中充当一个什么角色呢?我们可以把zookeepe...

2018-06-27 11:38:48 222

转载 java并发之概念详解-01

同步与异步        同步与异步都是对于方法来讲的。如果一个方法是同步的,那么必须等到该方法执行完成后才能执行下面的代码,如果方法是一个异步方法,那么在执行该方法时会立即返回,这里并不是说该方法已经执行完成,而是单独去启动一个线程去执行,而后面的代码也不必等到该方法执行完成后在去执行。并行与并发        并行是指单个线程或单个进程同时执行,发生在多个cpu中,并发是指在单个cpu中在不同...

2018-06-24 21:44:50 153

翻译 并归排序

public static void mergeSort(int arr[],int start,int end,int temp[]){     int mid=(start+end)/2;     if(start<end){//当数组的个数大于2个的时候         mergeSort(arr,start,mid,temp);         mergeSort(arr,mid+1...

2018-03-11 22:30:39 163

转载 二叉树的遍历算法

非递归实现前序遍历二叉树:public static void preOrder1(Node root){ Node node=root; Stack<Node> stack=new Stack<>(); if(node!=null){ stack.push(node); } while(!stack.empty())...

2018-03-11 17:46:02 133

翻译 JAVA对象的访问定位

    由于reference类型在jvm规范中只定义了一个指向对象的引用,没有定义这个引用应该以何种方式去定位、访问堆中对象,所以对象的访问方式也是取决于虚拟机的具体实现。目前主流的访问方式有两种句柄和直接指针。    句柄:java堆中划分一块内存作为句柄池,reference中存储的就是对象的句柄地址,而句柄中又包含了,对象实例数据和类型数据各自的地址信息。    直接指针:referenc...

2018-02-23 15:47:37 226

翻译 JAVA对象的内存布局

    对象在内存中存储的布局分为3块区域:对象头,实例数据,对齐填充    对象头:包含两部分信息,第一部分存储对象对象运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID,偏向时间戳。第二部分是类型指针,即对象指向它的类元数据的指针,jvm通过这个指针来指明这个对象是那个类的实例。    实例数据:存储对象真正的有效信息,在程序代码中所定义的各种类型的字段内容(无论是从父...

2018-02-23 15:18:58 215 1

翻译 JAVA对象的创建

    在java编程中,在语言层面上,我们仅仅通过一个new关键字就可以创建对象,在java虚拟机中对象的创建又是怎样的一个过程呢?   虚拟机遇到一条new指令时,首先检查该指令的参数能否定位到一个类的符号引用,并且检查这个符号引用所代表的类是否已经被加载、解析、初始化过,如果没有,则必须先要执行类的加载过程。    类加载完成后,后面就是为该新对象分配一块内存空间。    分配方式有两种: ...

2018-02-23 14:58:42 181

空空如也

空空如也

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

TA关注的人

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