随笔分类 - Java
摘要:一:目录 EhCache 简介 Hello World 示例 Spring 整合 Dummy CacheManager 的配置和作用 Dummy CacheManager 的配置和作用 二: 简介 1. 基本介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibern
阅读全文
摘要:MD5算法:是计算机广泛使用的一种哈希算法,将数据(如汉字)运算为另一固定长度值,用于确保信息传输完整一致。java,C++ 等多种编程语言都有MD5的实现,可直接使用。 文件MD5值:每个文件都可以用MD5验证程序算出一个固定的MD5值,是独一无二的。一般来说,开发方会在软件发布时预先算出文件的M
阅读全文
摘要:如:创建一个ListList list = new ArrayList();List<String> list = new ArrayList<String>();创建一个MapMap map = new HashMap();Map<String,String> map = HashMap<Stri
阅读全文
摘要:一、关于字符串的陷阱 java创建对象的几种方式: 5.使用反序列化:当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象,在反序列化时,JVM创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口。如:ObjectInputStream
阅读全文
摘要:一、java引用的种类 1、对象在内存中的状态 可达状态:当一个对象被创建后,有一个以上的引用变量指向它。 可恢复状态: 不可达状态:当对象的所有关联被切断,且系统调用所有对象的finalize方法依然没有使该对象变成可达状态,那该对象将永久性的失去所有引用,最后变成不可达状态。 2、引用的类型 强
阅读全文
摘要:ThreadLocal 源码剖析 原文地址:http://www.cnblogs.com/digdeep/p/4510875.html ThreadLocal是Java语言提供的用于支持线程局部变量的类。所谓的线程局部变量,就是仅仅只能被本线程访问,不能在线程之间进行共享访问的变量(每个线程一个拷贝
阅读全文
posted @ 2017-04-10 11:14
esther-qing
摘要:恢复内容开始 面向切面编程,把散落在程序中的公共部分提取出来,做成切面类,这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改,如果只要修改1、2处那还可以接受,万一有1000处呢。 AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类
阅读全文
摘要:原文地址:http://www.cnblogs.com/jack204/archive/2012/10/29/2745150.html Java中多态性的实现 什么是多态 下面是多态存在的三个必要条件,要求大家做梦时都能背出来! 多态存在的三个必要条件一、要有继承;二、要有重写;三、父类引用指向子类
阅读全文
摘要:第一题:当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 答:分几种情况: 1.其他方法前是否加了synchronized关键字,如果没加,则能。 2.如果这个方法内部调用了wait,则可以进入其他synchronized方法。 3.如果其他个方法都加
阅读全文
摘要:原文地址:http://chenchendefeng.iteye.com/blog/455883 一、相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的
阅读全文
摘要:CyclicBarrier是通过ReentrantLock(独占锁)和Condition来实现的。下面,我们分析CyclicBarrier中3个核心函数: 构造函数, await()作出分析。 1. 构造函数 CyclicBarrier的构造函数共2个:CyclicBarrier 和 CyclicB
阅读全文
摘要:1.前言 当今互联网发展的非常快,每当重大“节日”时,一些网站宕机几乎成为一种规律,例如双十一,过年抢火车票等等。 当存储海量二三维数据的GIS Web应用发生宕机时,所带来的后果是十分严重的。 2.单点失效 先解释下什么是单点失效。 举个简单例子就是:网站就一台服务器,当这台服务器挂了,网站就没办
阅读全文
摘要:[转]JVM锁机制volatile/synchronized/lock 1.volatile实现原理 (1)聊聊并发(一)——深入分析Volatile的实现原理 --硬件级别锁实现,Lock前缀指令会引起处理器缓存(CPU高级缓存L1/L2/L3)回写到内存。一个处理器的缓存回写到内存会导致其他处理
阅读全文
摘要:但这篇博文实际上是“半分享半讨论”的博文: 1) 半分享是我将说下我所了解到的关于今天主题所涉及的几种方案。 2) 半讨论是我希望大家对各个方案都说说自己的见解,更加希望大家能提出更好的方案。(我还另外提问在此:http://q.cnblogs.com/q/53552/上面已有几位园友回复(感谢du
阅读全文
摘要:前言: BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的两个重要成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue
阅读全文
摘要:Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/vie
阅读全文
摘要:IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待
阅读全文
摘要:I.CountDownLatch 和 CyclicBarrier 的运用 CountDownlatch: 定义: 其是一个线程同步的辅助工具,通过它可以做到使一条线程一直阻塞等待,直到其他线程完成其所处理的任务。一个特性就是它不要求调用countDown方法的线程等到计数到达0时才继续,而在所有线程
阅读全文
摘要:这次说一下 JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和 Semaphore(不知道有没有初学者觉得这三个的名字不太好记)。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。(下面的代码出自 JDK 文档) Coun
阅读全文
摘要:原文地址:http://blog.csdn.net/xin_jmail/article/details/25975085 Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以
阅读全文