java基础
平凡的L同学
个人感兴趣的方向:云计算网络,SDN,网络操作系统,量子通信,机器学习,欢迎讨论。
展开
-
Google guava新集合类型汇总整理
Google guava新集合类型汇总整理1.使用说明1.1 Multiset1.2 SortedMultiset1.3 Multimap1.4 ListMultimap1.5 SetMultimap1.6 BiMap1.7 ClassToInstanceMap1.8 Table原文地址:1.使用说明Guava中新定义的集合类型有以下的几种:1.1 Multiset首先是Multiset...转载 2019-11-16 12:18:28 · 838 阅读 · 1 评论 -
javassist简单介绍以及如何使用它来实现lombok的功能
最近在学习MyBatis的源码,在阅读的过程中,发现有一个叫做javaassist的工具,查阅了一些资料,这个工具和ASM的功能类似,可以直接修改Java的字节码文件,而ASM要更偏向底层一些。下面我们通过一个例子来学习其使用方法:public class Run { public static void main(String[] args) { Class...原创 2019-07-10 23:59:16 · 830 阅读 · 0 评论 -
你真的了解java的lambda吗?- java lambda用法与源码分析
from:https://www.cmlanche.com/2018/07/22/lambda%E7%94%A8%E6%B3%95%E4%B8%8E%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/用法示例:最普遍的一个例子,执行一个线程new Thread(() -> System.out.print("hello world")).start();...转载 2018-08-20 20:50:59 · 944 阅读 · 1 评论 -
EnumSet源码解析
EnumSet表示一个枚举类的集合,而且这个集合中只包含同一种枚举类的对象,下面来看一下这个类型的使用方法:首先定义一个枚举类:public enum Color { RED("红色",0),BLUE("蓝色",2),ORANGE("橙色",3); private String color; private int value; Color(String原创 2018-04-22 23:25:19 · 357 阅读 · 0 评论 -
对于ConcurrentHashMap源码的浅要分析
JDK版本:1.81.重要的属性:private static final int MAXIMUM_CAPACITY = 1 << 30;//最大容量,默认为2^30,int型最大2^32,因为最高的两位有其他的用途,所以是2^30,这在源码的注释里边亦有所提及private static final int DEFAULT_CAPACITY = 16;//默认的大小 private原创 2018-04-15 23:32:16 · 342 阅读 · 0 评论 -
闭锁、栅栏、交换机、信号量学习笔记
1.闭锁(CountDownLatch)通过一个计数器实现,原理就是不停地检查join线程是否存活,如果存活则一直等待,作用是m(m>=1)个线程等待其他的线程执行玩之后然后继续往下执行,类似join()方法,但功能更强大,可以操作更多的线程。测试代码:public class TestTemp { public static void main(String[] ar原创 2017-10-29 22:48:30 · 924 阅读 · 0 评论 -
Java8以及Java9的一些有用的新特性总结
Java 8:1.Lambda表达式回顾一下,在8之前的版本原创 2017-10-02 21:38:21 · 14514 阅读 · 0 评论 -
Java中阻塞队列的几种实现方式
1.wait()和notify()方式(摘自:https://segmentfault.com/a/1190000000373535)阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程转载 2017-10-09 22:54:42 · 8507 阅读 · 2 评论 -
java注解
原文地址:http://www.open-open.com/lib/view/open1423558996951.html从JDK5开始,Java增加了Annotation(注解),Annotation是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具转载 2017-01-22 23:50:28 · 512 阅读 · 0 评论 -
java序列化的意义以及实现方法
理解Java对象序列化关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文原创 2017-02-20 22:49:21 · 1492 阅读 · 0 评论