![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 91
Java基础
不会Java怎么找女朋友
这个作者很懒,什么都没留下…
展开
-
强引用、软引用、弱引用、虚引用(强软弱虚)
Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为:强引用 > 软引用 > 弱引用 > 虚引用一、强引用(永不回收)如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。public class StrongReferenceDemo { public static void main(Stri...原创 2022-01-10 01:20:58 · 1020 阅读 · 0 评论 -
Java 泛型 T,E,K,V,?
前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是本身就是一原创 2021-01-01 18:33:55 · 126 阅读 · 0 评论 -
Java细节基础题(一)
1、Java中的修饰符Java的修饰符根据修饰的对象不同,分为类修饰符、方法修饰符、变量修饰符。其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。1.1 类修饰符1.1.1 普通类修饰符访问控制符:公共类修饰符public非访问控制符:抽象类修饰符:abstract、最终类修饰符:final(1)公共类修饰符 public : Java 语言中类的访问控制符...原创 2020-05-02 00:42:43 · 220 阅读 · 0 评论 -
Java基础——Java8新特性
一、Lambda表达式前提:是函数式接口(只有一个抽象方法)@FunctionalInterface写法:拷贝小括号(),写死右箭头->,落地大括号{...}本质:作为函数式接口的实例。举例:(o1,o2) -> Integer.compare(o1,o2);package cn.wyu.lambda;import org.junit.Test;impor...原创 2020-04-28 23:27:21 · 113 阅读 · 0 评论 -
Java基础——多线程
一、基本概念:程序、进程、线程1、程序:是指为了完成特定的任务,用某种编程语言编写的一组指令集合,即一段静态的代码。2、进程:指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。进程是资源分配的单位。3、线程:线程是进程中的一个执行单元,负责当前进程中程序的执行。一个进程中有多个线程。线程作为调度和执行的单位,每个线程...原创 2020-04-26 16:58:48 · 174 阅读 · 0 评论 -
Java集合类
Java集合类面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象。 集合类的特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。上述类图中,实线边框的是实现类,比如Array...原创 2019-11-28 14:16:29 · 92 阅读 · 0 评论 -
HashMap的四种遍历方式
package cn.wyu.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class Test01 { public static void main(String[] args) { Map<String,String> ...原创 2019-11-28 00:14:42 · 110 阅读 · 0 评论 -
HashMap
HashMap源码分析一、构造函数:HashMap有四个构造方法1.1 HashMap() static final float DEFAULT_LOAD_FACTOR = 0.75f; // 1.无参构造方法、 // 构造一个空的HashMap,初始容量为16,负载因子为0.75 public HashMap() { this.load...转载 2019-11-27 23:15:13 · 83 阅读 · 0 评论 -
笔试题错题总结
一、方法的参数传递机制1、形参数据是基本数据类型(1)传递数据值,即按值传递2、实参是引用数据类型(1)传递地址值,按引用个传递(2)特殊类型,String、包装类型(Byte、Short、Integer、Long、Float、Double、Character、Boolean)等对象有不可变性案例:写出下面代码的执行结果package cn.wyu.test;...原创 2019-11-24 16:12:06 · 215 阅读 · 0 评论 -
JVM
一、JVM体系结构灰色:线程私有、内存很小,几乎不存在垃圾回收橙色:线程共享二、类加载器(ClassLoader)class文件开头有特定的标识——cafe.babe1)类加载器分为四类(面试答前三个就好):1、启动类加载器:启动就加载rt.jar2、扩展类加载器:加载jre\lib\ext文件夹下的jar包,包的名字为javax.xxx.xxx3、应用...原创 2019-11-14 14:44:30 · 232 阅读 · 1 评论 -
JUC
目录一、什么是JUC二、Lock接口1、多线程编程模板(上)2、实现步骤3、例子卖票程序三、lambda表达式四、线程不安全1、分析线程不安全从哪几个方面入手?2、ArrayList线程不安全代码解决方法:重点——写时复制3、HastSet线程不安全代码解决方法:4、HastSet线程不安全代码解决方法:五、八锁六、生产者消费者(...原创 2019-11-12 20:46:56 · 153 阅读 · 1 评论 -
Java基础加强——测试,反射,注解
## Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: ...原创 2019-11-08 14:29:37 · 124 阅读 · 0 评论