摘要:
码农网:http://www.codeceo.com/article/java-memeory-2.html数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型:名称代码示例说明写后读a = 1;b = a;写一个变量之后,再... 阅读全文
摘要:
码农网:http://www.codeceo.com/article/java-memory-4.htmlvolatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁... 阅读全文
摘要:
码农网:http://www.codeceo.com/article/java-memory-3.html数据竞争与顺序一致性保证当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义如下:在一个线程中写一个变量,在另一个线程读同一个变量,而且写和读没有通过同步来排序。当代码中包... 阅读全文
摘要:
码农网:http://www.codeceo.com/article/java-memory-5.html锁的释放-获取建立的happens before 关系锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例... 阅读全文
摘要:
与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。初次读一个包含final域的对象的引用,与随后初次... 阅读全文
摘要:
处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。... 阅读全文
摘要:
/*字节打印流1、PrintStream构造函数可以接受以下类型:1、File对象。File2、字符串路径。String3、字节输出流。OutputStream字符打印流:PrintWriter构造函数可以接受以下类型:1、file对象。File2、字符串路径。String3、字节输出流。Outpu... 阅读全文
摘要:
/*Properties是hashTable的子类,也就是说具有map集合的特点,而且它里面存储的键值对都是字符串。是集合中IO相结合的容器,该集合的特点可用于键值队的配置文件。*/import java.io.*;import java.util.*;class PropertiesDemo{ ... 阅读全文
摘要:
摘自:http://blog.sina.com.cn/s/blog_7100e3a30102ve4j.html1十进制数换算成二进制、八进制、十六进制数将一个十进制数转换为二进制、八进制、十六进制数时,其整数部分和小数部分分别用“除R取余法”和“乘R取整法”转换,然后将结果加小数点三部分合在一起(R... 阅读全文
摘要:
摘自:http://blog.csdn.net/seto2/article/details/42494245一、关于Java IO的概述IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中IO流按照流向划分为输入流、输出流IO流按照操作数据划分为字符... 阅读全文