java
文章平均质量分 72
Lizo_Is_Me
这个作者很懒,什么都没留下…
展开
-
java动态代理实例
设计模式中的代理模式,就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作。我们一般都是自己写一个代理类,把被代理的类作为代理类的一个成员变量,然后再对被代理类需要代理的方法都要写一原创 2014-12-23 10:06:00 · 541 阅读 · 0 评论 -
代码方式配置和xml文件方式混合配置spring
使用代码的配置方式和xml配置方式配置spring原创 2016-09-13 19:11:51 · 1039 阅读 · 0 评论 -
低版本JDK解决TLS冲突
场景写一个调用第三方登陆的模块,本地开发的时候使用Apache HttpClient时候,就按照一般的POST JSon数据能够正确获取返回数据,但是当部署到线上环境的时候,就报Exception in thread "main" javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure然后google原创 2016-09-09 20:34:10 · 11506 阅读 · 3 评论 -
java之ConcurrentHashMap
ConcurrentHashMap是java.util.concurrent中实现了ConcurrentMap接口的一个线程安全的HashMap,功能和hashtable类似,但是实现原理却不一样。Hashtable原理很简单,就是利用synchronized去保证线程安全,所以并发量很低。而ConcurrentHashMap的实现原理,就是把一个hashmap分成若干个小的hashmap原创 2015-07-08 10:05:54 · 822 阅读 · 0 评论 -
再来谈谈HashMap中的entrySet
HashMap,可能是java中应用较多的Collection之一,之前大概看过一次其中的原理,无非就是先用key的hashcode查找桶,然后用equals比较具体的对象。但是最近在遍历HashMap的时候,发现有个entrySet(),仔细看了源码之后才发现其中的奥秘(当然keySet和ValueSet也是类似的原理,之前还以为keySet是HashMap中的一个副本,囧)在说EntryS原创 2015-08-27 20:02:36 · 2549 阅读 · 0 评论 -
java之Lock原理解析
在 java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、 ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖 java.util.concurrent.AbstractQueuedSynchronizer类,实现思路都大同小异。1.AbstractQueuedSynchronizer原创 2015-07-01 16:31:58 · 2195 阅读 · 0 评论 -
java之Volatile使用
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种转载 2015-06-10 16:18:24 · 436 阅读 · 0 评论 -
Java之Synchronized
一、CASCAS(compare and swap),解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。 具体来说,就是当一个CPU要操作某一块内存区域的时候,会记录下操作前,内存的值A,放在Cache中,当CPU操作完成完成后,把A的值修改为新的原创 2015-06-09 16:51:43 · 470 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask
一.Callable与Runnable先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:123public interface Runnable { public abstract void run();}转载 2014-12-29 11:23:55 · 542 阅读 · 0 评论 -
java编码详解
举个例子我们在开发过程中,特别是多种编码格式并存的情况下,很容易遇到乱码问题。 假如有一个GBK编码java文件,然后再使用-Dfile.encoding=GBK参数,写入的文件中哪些是乱码呢。那如果使用UFT-8编码的java文件呢。public class Main { static String content = "中文"; public static void main(S原创 2017-06-26 15:04:25 · 552 阅读 · 0 评论