
java
文章平均质量分 61
thermosHeng
这个作者很懒,什么都没留下…
展开
-
java 动态代理
之前写过静态代理 代理模式 ,现在来说说动态代理,传统的静态代理模式需要为每一个需要代理的类写一个代理类,如果需要代理的类有几百个就需要写几百个代理类,为了更优雅地实现代理模式,JDK提供了动态代理方式,可以简单理解为JVM可以在运行时帮我们动态生成一系列的代理类,这样我们就不需要手写每一个静态的代理类了。同样,我们需要先定义一个接口public interface IBuyHouse { a原创 2017-06-29 21:58:23 · 206 阅读 · 0 评论 -
java 线程间的状态转换
线程间的状态转换: 新建(new):新创建了一个线程对象。 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。 阻塞(block):阻塞状态是指线原创 2017-06-30 21:50:50 · 217 阅读 · 0 评论 -
okHttp3 线程池
先来做一个简单的网络请求Request request = new Request.Builder() .url("http://www.baidu.com") .build(); client.newCall(request).enqueue(new Callback() { @Override原创 2017-07-01 13:58:01 · 8859 阅读 · 0 评论 -
多线程情况下单例的写法
静态内部类public class Singleton { private Singleton() {} private static class SingletonInstance { private static final Singleton INSTANCE = new Singleton(); } public static Singleton g原创 2017-06-25 11:53:17 · 291 阅读 · 0 评论 -
Java中Volatile关键字详解
Java中Volatile关键字详解 阅读目录 一、基本概念 二、Volatile原理 一、基本概念 先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制转载 2017-06-25 11:57:45 · 401 阅读 · 0 评论 -
理解AtomicBoolean
在多线程并发的环境下,我们假如有一个初始化的操作,如果处理不当会造成初始化多次,如:private static class WorkerThread implements Runnable { private static boolean initialized = false; public void run() { if (!initialized) {原创 2017-06-25 22:47:38 · 382 阅读 · 0 评论