Java基础
文章平均质量分 78
Java基础相关的一些知识点,博客,笔记
java.util.Man
Was wir wissen, ist ein Tropfen Wasser; was wir nicht wissen, ist ein Ozean
展开
-
一文搞懂强引用、软引用、弱引用和虚引用
Java中的引用类型分为四种:强引用、软引用、弱引用和虚引用强引用例如:Object o = new Object()就是强引用关系,这是一种最为常见的引用关系,而被强引用关联的对象,只要引用关系还存在,则不会被垃圾收集器回收。软引用软引用一般关联的对象都有用但非必须的对象。被软引用关联的对象,在系统发生OOM前,会被垃圾收集器列入回收范围之中进行第二次回收,如若回收完依旧没有足够内存,则抛出内存溢出异常。Java中使用SoftReference类实现软引用:package java.lang.原创 2022-02-25 23:43:07 · 820 阅读 · 0 评论 -
一文学会Java 8 菱形继承问题
在Java 8 中,接口可以使用default关键字添加方法的默认实现,主要目的是为了解决依赖升级引起不兼容的问题。当接口中某个新增的方法子类中没有去实现时,就会走接口中的默认实现。而Java一直是单继承,Java 8 之前不会出现类似C++中的多继承引发的菱形继承问题。Java 8 接口的默认实现同时也带来菱形继承问题。假设GrandFather接口如下:public interface GrandFather { default void say(){ System.原创 2022-01-04 16:11:39 · 1471 阅读 · 1 评论 -
一起来编译JDK吧!:) (Ubuntu 编译 JDK 8)
系统准备本次编译目标的是 JDK8 fastdebug版本编译 JDK 耗费的时间会比较多,如果想编译的快一点,最好还是给他足够的内存和CPU,不推荐使用Windows编译,配置环境相当麻烦,推荐使用Linux 和 Mac OS ,我使用的是VMware安装Ubuntu 18.0403 LTS(64位)版,配置如下:我仅编译就耗时20分钟左右,内存最低最好也要大于4GB,编译的 JDK 版本越高,对内存和硬盘的占用越大!!如果你是新的系统,不要忘记将 apt的源改为国内的,要不然下面安装依赖将会非原创 2020-07-31 11:29:01 · 987 阅读 · 2 评论 -
Java 对象List集合排序的5种方式
目标明确排序对象类,按照学生年龄进行排序,使用Collections集合工具类实现排序public class Student{ private String name; private Integer age; public Student(String name, Integer age) { this.name = name; ...原创 2020-04-07 22:22:57 · 2969 阅读 · 1 评论 -
感动,我终于学会了用Java对数组求和
前言看到题目是不是有点疑问:你确定你没搞错?!数组求和???遍历一遍累加起来不就可以了吗???是的,你说的都对,都听你的,但是我说的就是数组求和,并且我也确实是刚刚学会。╮(╯▽╰)╭继续看下去吧,或许你的疑问会解开↓注:记录于学习完《Java 8 实战》数据并行处理与性能,如果有错误,欢迎大佬指正传统方式求和方法我相信你和我一样,提到数组求和,肯定最想想到的就是将数组迭代一遍,累加...原创 2020-04-12 16:52:32 · 5059 阅读 · 1 评论 -
构造器中绝对绝对不能调用可被覆盖的方法
代码看下面代码示例。思考程序的输出内容import java.time.Instant;class Super{ public Super(){ overrideMe(); } public void overrideMe(){ }}public class Student extends Super{ private final Instant instant; Student(){ instant = In原创 2020-05-13 11:32:50 · 506 阅读 · 0 评论