java中关于协变和逆变的实现

介绍 协变和逆变描述的是类型转换后的继承关系。 定义A,B两个类型,A是B的子类,f(A) 表示类型转换后的类型,如List 协变 A <= B,f(A) <= f(B) 成立 逆变 A <= B...

java的LinkedHashMap是如何保证顺序的

介绍 我们都知道HashMap添加完数据,取出来的顺序是混乱的,而LinkedHashMap可以保证查询的顺序和插入顺序保持一致。 public class Client3 { public static void m...

JMH简单使用

简介 JMH(Java Microbenchmark Harness)是用于代码微基准测试的工具套件,主要是基于方法层面的基准测试,精度可以达到纳秒级。该工具是由 Oracle 内部实现 JIT 的大牛们编写的,他们应该比任何人都了...

JMX简单入门

定义 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。简答来说就是我们可以通过JMX...

JMX的MBean和MXBean的区别

简介 不了解JMX的可以看上一篇文章JMX简单入门,MBean表示被管理的资源,MXBean其实也是被管理的资源,但MBean的属性中不能包含自定义对象,而MXBean可以。 MBean 定义MBean接口,必须以MBean...

java中文转拼音

简介 在我们使用手机通讯录或各种APP的搜索功能时,既可以根据中文搜索,也可以根据拼音搜索,这种时候就使用到了中文转拼音的功能了。 实现 pinyin4j 引入maven依赖 <dependency>...

java中Class.getResourceAsStream()和ClassLoader.getResourceAsStream()的区别

简介 Class.getResourceAsStream()和ClassLoader.getResourceAsStream()方法都是从项目中读取文件,但很容易被搞混。 ClassLoader public class C...

java开发IDEA插件入门

简介 IDEA是我们常用的开发工具,我们也会用到很多IDEA提供的插件,如lombok插件,checkstyle插件等,今天我们就来开发一个自己的插件。 环境准备 IDEA安装PluginDevkit插件,这是一个帮助我们开...

java操作Excel简单入门

简介 在项目中使用到Excel是很常见的,如批量导入数据,批量导出数据。这里我们使用Apache的开源项目POI来操作Excel。官网 添加依赖 <dependency> <groupId>or...

java内置的解压缩工具

简介 java关于压缩和解压缩的核心类就是Defalter(压缩)类和Inflater(解压)类,操作GZip和Zip文件也是基于这两个类。Tomcat对响应数据的压缩就是基于GZip。 使用Deflater和Inflater解...