Java 基础知识
讲解以Java为基本的语言的基础知识
securitit
由上至下深入
展开
-
Java volatile 关键字
前言: 用在多线程,同步变量。线程为了提高效率,将某个成员(A)变量拷贝了一份(B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不 一致的情况。volatile就是用来避免这个中情况的。volatile告诉jvm,它所修饰的变量不保留拷贝,直接访问主内存中的A。在Java内存模型中,有main memory,每个线程也 有自己的memory(寄存器).为原创 2015-07-22 21:00:16 · 8992 阅读 · 0 评论 -
Java 位运算符 深入理解
在Java中存在着这样一类操作符,是针对二进制进行操作的,它们分别是&、|、^、~、>>、>>几个位操作符,无论是初始值是按照何种进制,都会换算成二进制进行位 操作。接下来对这几种操作符进行一下简单的讲解。 &: 作用是对运算符两侧以二进制表达的操作符按位分别进行'与'运算,而这一运算是以数中相同的位(bit)为单位的。操作的规则是:仅当两个操作数都为1时,输出结果才为1,否 则为0,示例原创 2015-07-21 21:48:44 · 8968 阅读 · 0 评论 -
Java synchronized 同步原语 详解
源码均以JDK1.8作为参考 synchronized是Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个对象时,同一时间的另一个线程需要在等待当前线程释放锁的前提下可以继续执行。 对于synchronized关键字的理解是不是很有限呢,记得本人在很早之前被一个面试官问的哑口无言的时候,就下定决心要好好的研究一下synchronized。 在实际工作中synchro原创 2015-07-20 16:17:07 · 11950 阅读 · 1 评论