摘要:
本文中需要的基础知识:指令重排 线程中两个非常重要的问题就是:原子性与可见性. 而下面的先行发生原则就是用来解决可见性问题的. 先行发生原则--是判断是否存在数据竞争、线程是否安全的主要依据。 先行发生是Java内存模型中定义的两项操作之间的偏序关系。如果说操作A先行发生于操作B,其实就是说在发生操 阅读全文
摘要:
【参阅】http://www.cnblogs.com/jiangzhengjun/p/4260969.html单一职责原则( SRP )——内聚性定义单一职责原则的定义: 就一个类页言,应该仅有一个引起它变化的原因 ( There should never be more than one reas... 阅读全文
摘要:
很好低使用git 文件的状态转换的了解是非常重要的。文件转换状态其实可以分为四种: untracked:未跟踪,此文件在工作区中,但并没有加入git库,不参与版本控制。 通过”git add”,”git commit”可将它置入跟踪库。 unmodify:文件已经git库中,未修改,... 阅读全文
摘要:
CyclicBarrier介绍 (一)一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用... 阅读全文
摘要:
CountDownLatch 1、类介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线... 阅读全文
摘要:
Serial GC -XX:+UseSerialGC 这样就设置为了串行GC回收方式,这种方式在Client模式下是默认的。 一般是使用在单机程序,小内存,CPU个数少的机器上。 没有复杂的算法,只用一个线程完成GC,ParallelGC 并行 如果启动了Server,那么使用的GC就是Pa... 阅读全文
摘要:
ClassLoader类加载器 常见的类加载器有BootStrapClassLoader<-ExtClassLoader<-AppClassLoader<-用户ClassLoaderBootStrapClassLoader:加载Java自带的核心类;ExtClassLoader加载在/jre/li... 阅读全文
摘要:
Java字节码文件的主体结构分为一下几个部分:Class文件头部、常量池区域、当前类的描述信息、字段列表、方法列表、属性列表。Class文件头部 任何的class文件的前四个字节的内容就是CA FE BA BE 。Java是一种咖啡,故称之为coffee baby。这四个字节作为该文件的校验码。-... 阅读全文
摘要:
Android下调用收发短信邮件等1,调web浏览器Uri myBlogUri = Uri.parse("http://xxxxx.com");returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);2,地图Uri mapUri = Uri.pars... 阅读全文
摘要:
1. Java堆中各代分布:Young:主要是用来存放新生的对象。Old:主要存放应用程序中生命周期长的内存对象。Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域. 它和和存放Instance的Heap... 阅读全文