JAVA进阶-注解】的更多相关文章

注解元数据分为4部分分别为Target,Documented,Inherited,Retention: Target>指定被注解的注解仅仅能使用在某个类型上;ElementType指定其类型:能够为方法 字段,类,返回值等等; 声明: /** * @author Lean @date:2014-10-13 */ @Target(ElementType.METHOD) public @interface WorkInProgress {} 应用: /** * @author Lean @date:…
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请求的处理会导致整个流程的暂时等待,这些事件无法并发地执行.用户线程发起I/O请求后需要等待或者轮询内核I/O操作完成后才能继续执行. 异步I/O 多个请求可以并发地执行,一个请求或者任务的执行不会导致整个流程的暂时等待.用户线程发起I/O请求后仍然继续执行,当内核I/O操作完成后会通知用户线程,或者…
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch CountDownLatch适用场景 Java多线程编程中经常会碰到这样一种场景--某个线程需要等待一个或多个线程操作结束(或达到某种状态)才开始执行.比如开发一个关发测试工具时,主线程需要等到所有测试线程均执行完成再开始统计总共耗费的时间,此时可以通过CountDownLatch轻松实现. Coun…
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这个问题应该这么问--sleep和wait有什么相同点.因为这两个方法除了都能让当前线程暂停执行完,几乎没有其它相同点. wait方法是Object类的方法,这意味着所有的Java类都可以调用该方法.sleep方法是Thread类的静态方法. wait是在当前线程持有wait对象锁的情况下,暂时放弃锁…
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效). 关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元.如果转账操作不具有原子性,A在向C转账时,读取了C的余额为20万,然后加上转账的10万,计算出此时应该…
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1.8中ConcurrentHashMap的实现原理. 原创文章,同步首发自作者个人博客,转载请在文章开头处以超链接注明出处.http://www.jasongj.com/java/concurrenthashmap/ 线程不安全的HashMap 众所周知,HashMap是非线程安全的.而HashMap…
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuilder >,为表述方便,后文用 变量 代表 ThreadLocal 本身,而用 实例 代表具体类型(如 StringBuidler )的实例. 不恰当的理解 写这篇文章的一个原…
Java进阶(一)Annotation(注解) Java进阶(二)当我们说线程安全时,到底在说什么 Java进阶(三)多线程开发关键技术 Java进阶(四)线程间通信方式对比 Java进阶(五)NIO和Reactor模式进阶 Java进阶(六)从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(七)正确理解Thread Local的原理与适用场景 Java 技术之动态代理机制 Java 技术之垃圾回收机制 Java 技术之类加载机制 Java 技术之注解 Annot…
Java进阶教程:使用Lombok提升开发效率 Lombok Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO).它通过注释实现这一目的.通过在开发环境中实现Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法以及以往用来分类各种accessor和mutator的大量时间. Lombok安装 下面是通过Maven进行安装的,也可以在官网下载Jar包. <dependency> <gro…
更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模型04.并发编程专题-多线程之间通讯05.并发编程专题-线程池原理分析06.并发编程专题-Callable与Future模式07.并发编程专题-锁的深入化08.并发编程专题-Disruptor框架09.设计模式专题-反射机制与单例五种创建方式10.设计模式专题-简单工厂&工厂方法&抽象工厂&a…