Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-collections 集合框架 ConcurrentHashMap ConcurrentHashMap 是线程安全的,用法和HashMap基本一致,原理部分可参考以下文章: 源码分析 ConcurrentSkipListSet ConcurrentSkipListSet是对ConcurrentHashMap 的一个补充,有点像TreeMap,LinkedHashMap…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-sync 同步器框架 同步器名称 作用 CountDownLatch 倒数计数器,构造时设定计数值,当计数值归零后,所有阻塞线程恢复执行:其内部实现了AQS框架 CyclicBarrier 循环栅栏,构造时设定等待线程数,当所有线程都到达栅栏后,栅栏放行:其内部通过ReentrantLock和Condition实现同步 Semaphore 信号量,类似于"令牌"…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-locks 锁框架 接口说明 Lock接口 类型 名称 void lock() void lockInterruptibly () Condition newCondition() boolean tryClock() boolean tryClock(Long time, TimeUnit unit) void unlock() lock()方法类似于使用synchr…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! 主要内容: juc-executors 执行器框架 juc-locks 锁框架 juc-atomic 原子类框架 juc-sync 同步器框架 juc-collections 集合框架 总览: juc-executors 执行器框架 Executors框架基本概述 ScheduledExecutorService // ScheduledExecutorService其实属于上…
Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-atomic 原子类框架 AtomicInteger AtomicInteger即进行原子操作,CAS,有关CAS的可以详细再去查一查,涉及到C,汇编,硬件层面了,该类主要运用于多线程下的变量修改 主要涉及其自增,自加,set相关方法,适用场景:适合快速变量操作的场景,最简单的例子:比如统记网站访问人数,延申:自旋锁 public class AtomicInteger…
写在前面 随着Java 8引入了函数式接口和lambda表达式,Java 8中的集合框架(Java Collections Framework, JCF)也增加相应的接口以适应函数式编程.   本文的目标是带领大家熟悉Java 8中集合框架新增的常用接口,让我们的代码更简洁.更高级.   本文的示例代码可从gitee上获取:https://gitee.com/cnmemset/javafp     Java 8中的集合框架 首先,和大家从整体上了解Java集合框架.   Java集合框架,主要是…
一.前言 完成了JUC的锁框架的分析后,现在分析JUC集合框架,之前分析过的集合框架,很大程度上都不是线程安全的,其在多线程环境下会出现很多问题,为了保证在多线程环境下仍然能够正确安全的访问集合,出现了JUC下的集合框架,下面逐一进行介绍分析. 二.JUC集合框架图 下面给出JUC中的集合框架,之后我们会对其中的类进行详细的分析. 说明:由上图可以看到,JUC的集合框架也是从Map.List.Set.Queue.Collection等超级接口中继承而来的.所以,大概可以知道JUC下的集合包含了一…
Java进阶(五十一)必须记住的Myeclipse快捷键 在调试程序的时候,我们经常需要注释一些代码,在用Myeclipse编程时,就可以用 Ctrl+/ 为选中的一段代码加上以 // 打头的注释:当需要恢复代码功能的时候,又可以用Ctrl+/ 去掉注释.这样的快捷键确实让我们编程变得容易多了. 诸于此类的快捷方式,是利用Myeclipse进行Java开发程序的必备武器,可以让同学们在使用Myeclipse进行编程的时候灵活自如,充分享受编程的乐趣. 下面是收集整理的一些常用的Myeclipse…
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系概念(http://www.cnblogs.com/yjboke/p/8761195.html),本篇介绍一下集合扩展内容:Collections工具类的使用:可变参数:集合数组相互转换方法: Collection与Collections的区别: Collection是java.util下的一个接口…
 J2EE进阶(五)Spring在web.xml中的配置 前言 在实际项目中spring的配置文件applicationcontext.xml是通过spring提供的加载机制自动加载到容器中.在web项目中,配置文件加载到web容器中进行解析.目前,spring提供了两种加载器,以供web容器的加载:一种是ContextLoaderListener,另一种是ContextLoaderServlet.这两种在功能上完全相同,只是前一种是基于Servlet2.3版本中新引入的Listener接口实现…