JDK10的新特性:var泛型和多个接口实现

2020-05-18
阅读 3 分钟
3.5k
在JDK的实现和我们日常的工作中,很多时候都需要实现多个接口,我们举常用的两个例子ArrayList和CopyOnWriteArrayList。先看下他们的定义:

JDK10的新特性:本地变量类型var

2020-05-17
阅读 3 分钟
1.5k
简介 java以面向对象的特性显著于世并得到了蓬勃的发展。在语言的发展过程中,为了让java语言更加简洁和方便使用,JDK也在不断的进行改进。 今天本文将要介绍一下JDK10中引入的本地变量类型var。 为什么我们需要var 类型推断是很多编程语言都具有的特性,编译器可以在我们不指定具体变量类型的情况下推断出该变量的实际...

JDK11的新特性:HTTP API和reactive streams

2020-05-17
阅读 4 分钟
2.3k
reactive streams的介绍大家可以参考reactive stream协议详解,使用reactive streams的目的就是为了解决发送者和消费者之间的通信问题,发送者不会发送超出消费者能力的信息。

什么?注释里面的代码居然能够执行

2020-05-16
阅读 2 分钟
1.9k
注释大家都写过,应该都懂。注释就是给人看的,不是给机器看的,自然也就无法执行。 但是今天就有一个例外,快让我们看一下吧。 如果是下面一段代码,大家期望的输出是什么? {代码...} main方法中的System.out.println被注释掉了。我们运行下看: {代码...} 居然输出了结果。为什么呢? 我们注意在注释后面,我们添加的...

reactive stream协议详解

2020-05-16
阅读 3 分钟
3.2k
Stream大家应该都很熟悉了,java8中为所有的集合类都引入了Stream的概念。优雅的链式操作,流式处理逻辑,相信用过的人都会爱不释手。

小师妹学JavaIO之:try with和它的底层原理

2020-05-15
阅读 4 分钟
1.3k
小师妹是个java初学者,最近正在学习使用java IO,作为大师兄的我自然要给她最给力的支持了。一起来看看她都遇到了什么问题和问题是怎么被解决的吧。

Java中IO和NIO的本质和区别

2020-05-15
阅读 3 分钟
5.6k
终于要写到java中最最让人激动的部分了IO和NIO。IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。

响应式系统reactive system初探

2020-05-14
阅读 4 分钟
2.1k
第一次听到reactive这个词还是在几年前,偶然了解到了Rxjava这个项目,仿佛为我打开了一扇新的大门,Rxjava是ReactiveX的java实现,ReactiveX家族除了Rxjava还有RxJS, Rx.NET,RxScala等等。

JDK11的新特性:新的HTTP API

2020-05-14
阅读 4 分钟
2.6k
JDK11之前,java的HTTP功能很弱,只提供了HttpURLConnection来进行HTTP连接,并且使用起来非常复杂。所以一般大家都是用第三方的HTTP client(Apache HttpComponents 或者 OkHttp)来进行HTTP请求。

JDK12的新特性:CompactNumberFormat

2020-05-13
阅读 3 分钟
1.2k
JDK12引入了新的格式化数字的类叫做CompactNumberFormat。主要方便我们对很长的数字进行简写。比如1000可以简写为1K或者1 thousand。

JDK12的新特性:teeing collectors

2020-05-13
阅读 3 分钟
1.6k
JDK12为java.util.stream.Collectors添加了一个新的teeing方法,怎么翻译呢?看到很多人都把它翻译成“发球台”,我不禁潸然泪下,哪里有那么复杂,tee就是T。它的作用就像是一个T型,数据从两头进入,然后从一头流出。teeing的作用也就在此。

JDK13的新特性:AppCDS详解

2020-05-12
阅读 4 分钟
1.7k
AppCDS的全称是Application Class-Data Sharing。主要是用来在不同的JVM中共享Class-Data信息,从而提升应用程序的启动速度。

JDK14的新特性:JFR,JMC和JFR事件流

2020-05-12
阅读 6 分钟
2.1k
Java Flight Recorder(JFR)是JVM的诊断和性能分析工具。它可以收集有关JVM以及在其上运行的Java应用程序的数据。JFR是集成到JVM中的,所以JFR对JVM的性能影响非常小,我们可以放心的使用它。

Java 深入理解浅拷贝和深拷贝

2020-05-11
阅读 4 分钟
1.3k
java的赋值都是传值的,对于基础类型来说,会拷贝具体的内容,但是对于引用对象来说,存储的这个值只是指向实际对象的地址,拷贝也只会拷贝引用地址。

jcmd:JDK14中的调试神器

2020-05-11
阅读 4 分钟
3.9k
jcmd是JDK自带的调试工具,具有非常强大的功能。jcmd是JDK7中正式引入的,有了jcmd,完全可以替换很多常用的其他工具,比如jstak和jmap。

你真的了解java class name吗?

2020-05-10
阅读 3 分钟
1.4k
class有一个方法叫做getName,该方法会返回(class, interface, array class, primitive type,或者 void)的Class名字。

JDK14中的java tools简介

2020-05-10
阅读 2 分钟
1.5k
故事发生了 在还没有IDE的时代,高手们还是通过记事本来编程。那时候能够写程序的都是牛人。能把程序写得好的更是牛人中的牛人。 秃头大叔的程序员形象就是在那个时候建立起来的。 还记得十几年前的那一个春天,微风不动,太阳都羞红了脸。因为那时候的我还在一个javac,一个java的编译,运行着java程序。 虽然效率低下...

JDK 14的新特性:switch表达式

2020-05-09
阅读 3 分钟
1.5k
switch的新特性可是源远流长,早在JDK 12就以预览功能被引入了,最终在JDK 14成为了正式版本的功能:JEP 361: Switch Expressions (Standard)。

JDK 14的新特性:文本块Text Blocks

2020-05-09
阅读 3 分钟
2.3k
说起来,Text Blocks是在JDK13中以第一次预览版本引入的。现在在JDK14中是第二次预览版本 JEP 368: Text Blocks。

java中的内部类内部接口详解

2020-05-08
阅读 3 分钟
2.3k
一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口。

一文弄懂String的所有小秘密

2020-05-08
阅读 3 分钟
1.9k
String是java中非常常用的一个对象类型。可以说java中使用最多的就是String了。那么String到底有哪些秘密呢?接下来本文将会一一讲解。

深入理解java的泛型

2020-05-07
阅读 3 分钟
2.4k
但是Java为了保证向下兼容性,它的泛型全部都是在编译期间实现的。编译器执行类型检查和类型推断,然后生成普通的非泛型的字节码。这种就叫做类型擦除。编译器在编译的过程中执行类型检查来保证类型安全,但是在随后的字节码生成之前将其擦除。

java中的类型擦除type erasure

2020-05-07
阅读 2 分钟
2.4k
简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型,从而提升了程序的健壮度。 泛型可以用在类和接口上,在集合类中非常常见。本文将会讲解泛型导致的类型擦除。 举个例子 我们先举一个最简单的例子: {代码...} 上面的例子中,我们定义了一个ArrayList,其中指定的类...

java中DelayQueue的使用

2020-05-06
阅读 4 分钟
2.6k
今天给大家介绍一下DelayQueue,DelayQueue是BlockingQueue的一种,所以它是线程安全的,DelayQueue的特点就是插入Queue中的数据可以按照自定义的delay时间进行排序。只有delay时间小于0的元素才能够被取出。

SynchronousQueue详解

2020-05-06
阅读 3 分钟
2.6k
SynchronousQueue是BlockingQueue的一种,所以SynchronousQueue是线程安全的。SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是0。即SynchronousQueue不存储任何元素。

PriorityQueue和PriorityBlockingQueue

2020-05-05
阅读 3 分钟
2.2k
Queue一般来说都是FIFO的,当然之前我们也介绍过Deque可以做为栈来使用。今天我们介绍一种PriorityQueue,可以安装对象的自然顺序或者自定义顺序在Queue中进行排序。

一文弄懂java中的Queue家族

2020-05-05
阅读 6 分钟
1.6k
java中Collection集合有三大家族List,Set和Queue。当然Map也算是一种集合类,但Map并不继承Collection接口。

SkipList和java中ConcurrentSkipListMap的实现

2020-05-04
阅读 4 分钟
3.2k
后面经过我的不断搜索和学习,终于明白了SkipList原来是一种数据结构,而java中的ConcurrentSkipListMap和ConcurrentSkipListSet就是这种结构的实现。

一文读懂java中的Reference和引用类型

2020-05-04
阅读 6 分钟
5k
java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型。java为引用类型专门定义了一个类叫做Reference。Reference是跟java垃圾回收机制息息相关的类,通过探讨Reference的实现可以更加深入的理解java的垃圾回收是怎么工作的。

java中Comparable和Comparator的区别

2020-05-03
阅读 2 分钟
1.9k
java.lang.Comparable和java.util.Comparator是两个容易混淆的接口,两者都带有比较的意思,那么两个接口到底有什么区别,分别在什么情况下使用呢?