J2SE
文章平均质量分 80
鸡蛋达芬奇
7年软件研发设计经验,精通银行支付,互联网支付系统。
展开
-
注解Annotation学习基础篇
1.Annotation是什么? 注解是JDK5新增的,主要为程序增加元数据。Annotation是一种接 口,主要用来对JAVA应用程序元素设置元数据。需要通过JAVA反射技术获得Annotation对象,根据Annotation对象实例获取程序元素上的元数据信息即Annotation信息。 2.如何定义Annotation? 定义注解Annotation原创 2016-08-12 16:12:14 · 375 阅读 · 0 评论 -
JAVA泛型详解(上)
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-08-21 16:41:52 · 344 阅读 · 0 评论 -
ThreadLocal工作原理
ThreadLocal原理1.threadLocal官方解释是线程本地变量意思。从实际应用来看,Threadlocal主要存储关键资源等(例如:Session,Connection)。ThreadLocal内部通过ThreadLocalMap进行存储,其中key是threadlocal,value是存储的资源对象。ThreadLocalMap是ThreadLocal的静态内部类,ThreadL原创 2016-09-06 19:25:17 · 323 阅读 · 0 评论 -
LockSupport使用
LockSupport功能LockSupport在JDK中主要提供了线程的阻塞和唤醒功能。提供了更高级别的同步功能。阻塞方法主要是以park开头的各种方法,唤醒线程的方法只有unpark一个方法。LockSupport中的 park和unpark方法提供的线程阻塞和唤醒功能,避免了Object中已经废弃方法suspend和resume引起的死锁问题。阻塞方法park方法的执行与获得的执行许原创 2017-08-08 14:56:42 · 336 阅读 · 0 评论 -
生产者消费者(singlAll和await误用)
Conidition中的SinglAll和await理解使用Condition的SinalAll和await()方法写了一个生产者和消费者程序,没想到出现的问题每次不一样,仔细分析了一下,自己没有深刻理解这两种方法原理,造成程序编写有问题 Condition主要是负责线程间通信与Object中方法类似,但是比起Object类中的方法要灵活很多,接口中定义的方法主要如下: 1. await(原创 2017-07-25 21:03:06 · 493 阅读 · 0 评论 -
Volatile并发理解
Volatile作用在java中主要用来修饰成员变量和类变量。其中,使用volatile修饰的变量在多线程环境中对所有多线程都是可见的。即,其中一个线程修改了volatile修饰的变量值,则其他线程能够立即得到最新修改的值。对于这个方面的理解,可以从并发编程模型(CPU,缓存,内存)和JAVA内存模型两个方面分析。并发编程模型现在的服务器都是多核的,而应用的都是发生在多线程环境中,那么在多核服务器中原创 2017-07-07 00:01:29 · 350 阅读 · 0 评论 -
HashMap底层存储原理
HashMap在日常工作中使用场景非常多,程序员都知道是HashMap是线程非安全的,但是底层是以什么方式存储的?本人仔细研读了一下源码,也只是掌握了核心的存储功能,并没有把全部代码看明白,但是对于理解hashMap的存储结构完全够了。存储结构hashmap底层是以数组方式进行存储。将key-value对作为数组中的一个元素进行存储。key-value都是Map.Entry中的属性。其中将key原创 2017-11-29 15:01:26 · 17262 阅读 · 4 评论