随笔分类 -  JAVA

摘要:前面两篇讲解了线程池中线程创建后的运行情况,其中有一系列的策略来保证线程正常运行。但是我们知道线程池是可以设置容量的,而且这容量的设置也是至关重要的,如果容量设置的太小,那么将会影响系统的运行效率,如果设置的过大,也可能造成无止尽的线程堆积,最终造成系统内存溢出。对于此,线程池也提供了一些设置来防止 阅读全文
posted @ 2016-03-20 13:31 icodeit 阅读(9006) 评论(0) 推荐(4)
摘要:上一篇从整体上介绍了 接口,从上一篇我们知道了 框架的最顶层实现是 类, 工厂类中提供的 、`newFixedThreadPool newCachedThreadPool ThreadPoolExecutor ThreadPoolExecutor`线程池的运行过程。 1.线程池状态 既然要讲运行过程 阅读全文
posted @ 2016-03-17 00:25 icodeit 阅读(4199) 评论(2) 推荐(5)
摘要:Java是天生就支持并发的语言,支持并发意味着多线程,线程的频繁创建在高并发及大数据量是非常消耗资源的,因为java提供了线程池。在jdk1.5以前的版本中,线程池的使用是及其简陋的,但是在JDK1.5后,有了很大的改善。JDK1.5之后加入了java.util.concurrent包,java.u 阅读全文
posted @ 2016-03-14 23:26 icodeit 阅读(21405) 评论(5) 推荐(7)
摘要:NIO是jdk1.4加入的新功能,我们一般成为非阻塞IO,在1.4之前,JAVA中的都是BIO(堵塞IO),BIO有以下几个缺点: 没有数据缓冲区,I/O性能存在问题 没有C/C++中channel(通道)的概念,只有输入和输出流 同步阻塞式I/O(BIO),通常会导致线程被长时间阻塞 支持的字符集 阅读全文
posted @ 2016-02-22 16:35 icodeit 阅读(2045) 评论(1) 推荐(0)
摘要:上一篇中介绍了ShardedJedis的基本使用方法以及演示了一个简单的例子,在这一篇中我们来介绍了ShardedJedis的原理。1.ShardedJedis内部实现首先我们来看一下ShardedJedis的一个继承关系看完了图,那么我们一步一步跟着我们的代码调用来看,以我们最简单的 Sharde... 阅读全文
posted @ 2015-12-09 10:44 icodeit 阅读(16817) 评论(2) 推荐(9)
摘要:原来项目中有用到Redis用作缓存服务,刚开始时只用一台Redis就能够满足服务,随着项目的慢慢进行,发现一台满足不了现有的项目需求,因为Redis操作都是原子性这样的特性,造成有时同时读写缓存造成查询效率的下降。但是由于我们现在用的还是2.X版本,还是没有集群功能的(Redis作者在3.0版本中已... 阅读全文
posted @ 2015-11-29 15:41 icodeit 阅读(25994) 评论(2) 推荐(8)
摘要:在前几篇中有简单介绍服务端的认证方式,默认的是直接在 deployerConfigContext.xml 文件中 一个叫做 primaryAuthenticationHandler 的bean中配置。不过这只支持一个账号,而且是固定的,这有非常大的局限性,在现实系统中是肯定不能用这样的方式的。现... 阅读全文
posted @ 2015-02-13 23:49 icodeit 阅读(5155) 评论(10) 推荐(6)
摘要:CAS 相关的内容好久没写了,可能下周会继续更新一些内容吧。在上一篇中的单点流程序列图由于是从官网直接下载来的,上面都是英文,可能有的朋友看不懂,因此修改成中文的。PS:只修改了一个,第二个图明天在加...在这之前,先解释几个CAS 相关的术语解释吧:1.概念相关①.术语解释TGT、ST、PGT、P... 阅读全文
posted @ 2015-02-06 23:38 icodeit 阅读(6055) 评论(2) 推荐(3)