摘要:
volatile保证内存可见性和禁止指令重排。volatile用于多线程环境下的单次操作(单次读或者单次写)。volatile关键字不能提供原子性。 volatile关键字为实例域的同步访问提供了一种免锁机制。如果声明一个域为volatile,那么编译器和虚拟机就知道该域是可能被另一个线程并发更新。 阅读全文
posted @ 2019-04-20 21:19
楼兰胡杨
阅读(583)
评论(0)
推荐(0)
摘要:
介绍常见面试题之HashSet和HashMap的区别。 阅读全文
posted @ 2019-04-20 07:07
楼兰胡杨
阅读(1345)
评论(0)
推荐(0)
摘要:
对于面向对象编程来说,抽象是它的四大特征之一。在Java中,可以通过两种形式来体现OOP的抽象——接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是,事实并非如此。 我们现在纵向对比二者的区别。首先,温故知新,回顾二者的定义;然后,知己知彼, 阅读全文
posted @ 2019-04-20 07:00
楼兰胡杨
阅读(11307)
评论(0)
推荐(2)
摘要:
final 用于声明方法和类,分别表示方法不可被覆盖,类不可被继承。在java中final的意思是终态。 将基本数据类型的变量或方法声明为final后,如果对其初始化,要么在定义的时候,要么在构造函数中。 对于一个被final修饰的变量,如果是基本数据类型的变量,则其数值一旦被初始化便不能更改;如果 阅读全文
posted @ 2019-04-20 06:54
楼兰胡杨
阅读(176)
评论(0)
推荐(0)
摘要:
在JAVA中,方法的重写与重载出现频率很高,但是很容易混淆二者概念。本文给出简洁明快的概念论述和区别。 阅读全文
posted @ 2019-04-20 06:46
楼兰胡杨
阅读(4448)
评论(0)
推荐(0)
摘要:
基本概念:在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。 六个基本状态:new,runnable,waiting,timed waiting,blocked和 terminated。 wait方法必须在synchronized内部调用。 l 新建new: 阅读全文
posted @ 2019-04-20 06:40
楼兰胡杨
阅读(1559)
评论(0)
推荐(0)