摘要: volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线程数据竞争问题的时候一律使用synchronized来进行同步。了解volatile变量的语义对了解多线程操作的其他特性很有意义,在本文中我们 阅读全文
posted @ 2019-08-26 17:15 额是无名小卒儿 阅读(1221) 评论(1) 推荐(2) 编辑
摘要: Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全 阅读全文
posted @ 2019-08-26 16:43 额是无名小卒儿 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1. 原子性(Atomicity): 一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 我们先来看看哪些是原子操作,哪些不是原子操作,先有一个直观的印象: 上面这4个代码中只有代码1是原子操作。 代码2:包含了三个操作。1.读取变量k的值;2.将变量k的值加1;3 阅读全文
posted @ 2019-08-26 16:41 额是无名小卒儿 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 面试遇到的一个问题,没有全部答出来: 查了查列出如下: 1.抽象类不能被实例化。 2.抽象类可以有构造函数,抽象方法不能被声明为静态。 3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体 4.含有抽象方法的类必须申明为抽象类 5.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是 阅读全文
posted @ 2019-08-26 14:46 额是无名小卒儿 阅读(3128) 评论(0) 推荐(0) 编辑
摘要: 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 但是,有时候 阅读全文
posted @ 2019-08-26 00:04 额是无名小卒儿 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: Java中的变量: 1、成员变量(实例变量,属性) 2、本地变量(局部变量) 3、类变量(静态属性) 一、成员变量(实例变量,属性) 1.1-成员变量:(在类中定义, 访问修饰符 修饰符 type name = value) 1.2-什么是成员变量? 成员变量就是类中的属性。当new对象的时候,每个 阅读全文
posted @ 2019-08-26 00:03 额是无名小卒儿 阅读(3272) 评论(0) 推荐(0) 编辑