- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁
最近项目中使用redis,学习了一下,client端使用jedis-2.1.0 首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 Java代码 public class RedisLock { /** 加锁标志 */
2017-03-12 20:28:43 392
原创 深入理解 Java 中的 try-with-resource
背景众所周知,所有被打开的系统资源,比如流、文件或者Socket连接等,都需要被开发者手动关闭,否则随着程序的不断运行,资源泄露将会累积成重大的生产事故。在Java的江湖中,存在着一种名为finally的功夫,它可以保证当你习武走火入魔之时,还可以做一些自救的操作。在远古时代,处理资源关闭的代码通常写在finally块中。然而,如果你同时打开了多个资源,那么将会出现噩梦般的场景:
2017-03-03 17:52:18 3558 6
原创 Java多线程之并发协作生产者消费者设计模式
两个线程一个生产者个一个消费者需求情景两个线程,一个负责生产,一个负责消费,生产者生产一个,消费者消费一个涉及问题同步问题:如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用标记或加锁机制wait() / nofity() 方法是基类Object的两个方法,也就意味着所有Java类都会拥有这两个方法,这样,我们就可以为任何对象实现同步机制。wait(
2017-03-03 17:41:20 210
原创 关于Java并发编程的总结和思考
编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。为什么需要并发并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么
2017-03-03 17:37:02 227
原创 Java 异常处理的误区和经验总结
本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳。只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验,提高产品的价值。误区一、异常的选择图 1. 异常分类图 1 描述了异常的结构,其实我们都知道异常分检测异常和非检测异常,但是在实际中又混淆了这两种异常的应用。由于非检测
2017-03-03 14:18:07 220
原创 Java 并发开发:Lock 框架详解
我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点,对Java中的Lock框架的枝干...
2017-03-03 11:57:48 242
原创 Java 8 比较器:如何对 List 排序
在本文中,我们将看到几个关于如何在Java 8中对List进行排序的例子。按字母排序字符串列表ListString> cities = Arrays.asList( "Milan", "london", "San Francisco", "Tokyo", "New Delhi");System.out.print
2017-03-03 11:51:26 383
原创 DES/3DES/AES 三种对称加密算法在 Java 中的实现
有两句话是这么说的:1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。注意,这可不是我说的,是无数程序员总结的,话说的很实在也很精辟,若想长久可持续发展,多研究算法还是很有必要的,今天我给大家说说加密算法中的对称加密算法,并且这里将教会大家对称加密算法的编程使用。包含DES、3DES和
2017-03-03 11:48:48 297
Lucene5 工具类
2015-09-21
微信支付文档dome
2014-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人