Java
zmxt1314
这个作者很懒,什么都没留下…
展开
-
Java SPI简介
SPI (Service Provider Interface),是一种服务发现机制,SPI本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类,正因此特性,我们可以很容易通过SPI为我们程序提供扩展功能。Java SPI通过策略模式实现的,一个接口提供多个实现类,而使用哪个实现类不在程序中确定,是由配置文件配置的,具体步骤如下:定义接口以及其对应的实现类;在META-INF/services目录下创建以接口全路径命名的文件;文件原创 2020-09-28 09:12:38 · 255 阅读 · 0 评论 -
IntelliJ IDEA快捷键使用
前言IntelliJ IDEA现在是开发Java程序最流行的ide之一,相信很多Java开发的小伙伴都在使用这个编译器,如何使用其快捷键来提高开发效率,下面列出一些常用的快捷键,希望能帮助大家。ALT+ENTER万能快捷键,解决大部分出错标红的代码,根据提示去选择对应的解决方案;.sout 能够输出System.out.println();*.for 能够输出for( T item : ...原创 2020-02-11 16:22:47 · 163 阅读 · 0 评论 -
Java ClassLoader 踩坑记
本地调试加载编译文件夹target里面的class文件,结果一直加载不了,在通过文件路径加载class的时候一直加载不了。最后发现是保存源代码的根目录文件夹,文件夹名称虽然是英文但是包含一个空格,去掉后加载正常。...原创 2020-02-10 12:21:19 · 378 阅读 · 0 评论 -
Java反射机制
Class类自定义一个Java Bean User类,以此类作为操作对象;// test是User类的一个实例对象,// 其实User类也是一个实例对象,是Class类的实例对象User test = new User();// clazz1、clazz2、clazz3都表示User类的类类型(class type)Class clazz1 = User.class;Class c...原创 2020-02-09 17:44:23 · 105 阅读 · 0 评论 -
Java之Stream流
Stream是什么?Stream就如同一个迭代器,对集合数据元素进行遍历并执行某些操作。正常的Iterator只能显示的一个一个的遍历元素并对其执行某些操作;而Stream用户可以给出对其中包含的特定元素执行上面操作,Stream会隐式的在内部进行遍历,做出相应的数据转换。正常的迭代器只能命令式、串行化的操作,而Stream可以并行化操作,使用并行去遍历,数据会被分成多分,每一份都在不同的线程...原创 2020-02-03 08:42:44 · 151 阅读 · 0 评论 -
Java 8新特性Optional
前言Optional是Java语言的有益补充,旨在减少代码中NullPointerExceptions,虽然不能完全消除但也是一种精心设计,融入Java 8函数式支持的功能。代码简化,且可读性提升了不少。Optional APIifPresent()示例:Optional.ofNullable(“test”).isPresent(System.out::println);console...原创 2020-02-02 22:56:39 · 255 阅读 · 0 评论 -
Java类加载机制窥探
在程序运行期间对java类型进行加载、链接操作Java本身是一门静态语言,在程序运行期间可以采用一些特殊的处理方式把已经存在或者运行期生成的类型有机装备到一起,因此类型的加载、链接、初始化在运行期间起到了很大的帮助作用。**类型的加载:**查找并加载类的二进制文件(字节码文件),最常见是将类的class文件从磁盘加载到内存中;**类型的链接:**将类与类的关系确定好,对于字节码相关的处理、验...原创 2020-01-26 18:34:22 · 150 阅读 · 0 评论 -
meta-annotation元注解(@Target @Retention @Documented @Inherited)
开场白要能够写自己的注解,一定要了解Java为我们提供的元注解和相关定义注解的语法。一. 元注解(meta-annotation)转载 2019-01-28 22:21:03 · 253 阅读 · 0 评论