![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
和我抢昵称啊
想成为大佬呀
展开
-
JVM的五种引用方式
1、强引用只有GC root对象都不通过[强引用]引用该对象时,该对象才可以被垃圾回收。2、软引用仅有软引用引用该对象时(没有强引用引用该对象),在垃圾回收后,内存依然不足的情况下,会再次触发垃圾回收,此时会回收软引用引用的对象。可以配合引用队列来释放引用本身public class TestPerson { public static final int _4MB = 4 * 1024*1024; public static void main(String[] args原创 2021-10-30 20:31:30 · 386 阅读 · 0 评论 -
public class 与class区别
类有两种修饰权限,public和没有修饰符,对与一个java文件,如果其定义有public修饰的类,那么此时文件名必须与其保持一致,且不能再定义其他用public 修饰的类,但可以定义多个没有修饰符的类如果一个java文件有public修饰的类,那么程序入口main方法一定在其中,如果时多个class类,没有public修饰的类,那么main方法放在与文件名保持一致的类中...原创 2021-10-23 18:56:15 · 203 阅读 · 0 评论 -
java反射机制及动态代理
java反射机制(1)java反射机制(2)java反射机制(3)java反射机制(4)原创 2021-06-27 17:35:10 · 89 阅读 · 0 评论 -
内部类的相关问题
内部类的分类成员静态内部类成员内部类局部内部类匿名内部类成员静态内部类使用static修饰类,访问权限可以是public,private,protected,缺省值,相当于静态成员变量。静态内部类可以直接访问外部类的静态变量,静态方法,但是不能直接访问外部类的成员变量和成员方法,只能通过[对象.变量或者方法]的方式访问。public class OuterClass { private static String s1 = "静态变量"; private String s2原创 2021-06-17 10:22:27 · 78 阅读 · 0 评论 -
接口和抽象类的区别
修饰关键词不同,接口使用interface,抽象类使用abstract接口是完全抽象的,成员变量默认被public static final修饰,方法默认被public abstract修饰,而抽象类可以使用不同的修饰符修饰成员变量,也可以有实现过的方法。类可以实现多个接口,但是只能继承一个抽象类。接口和抽象类都没有构造方法,均不能被实例化jdk1.8之后接口中被default修饰的方法可以在抽象类中实现。...原创 2021-06-17 08:57:44 · 66 阅读 · 0 评论 -
java中的final关键字
(1)final 可以修饰类、方法、成员变量和局部变量,当其修饰类时,该类不能够被继承,当其修饰方法时,该方法无法被覆盖(可以重载),而当其修饰成员变量和局部变量时,必须显示的进行初始化。(2)final修饰的成员变量一般不与static连用,static修饰变量时有更改的需求,但是final修饰的变量不能更改。(3)final修饰引用类型时,该引用不能再指向其他对象,但是该对象内部的属性是可以修改的。(4)抽象类和抽象方法不能被final修饰,抽象类需要被继承,而抽象方法需要被实现,而被final修原创 2021-06-17 08:43:03 · 66 阅读 · 0 评论 -
java中static关键字
修饰成员变量成员变量被static关键字修饰,那么这个变量不再属于对象本身所有,而是属于所在的类,多个对象共享同一份数据。修饰成员方法如果成员方法被static修饰,那么该方法就变成了静态方法,静态方法不属于对象,而是属于类,调用方式【类名.静态方法名】注意事项静态只能访问静态,不能访问非静态,这是因为内存中先有静态内容,后有非静态内容。静态方法不能使用this,因为this指向的是当前对象,而静态方法中是不需要对象。内存图静态代码块用途:用于初始化静态成员变量。...原创 2021-05-20 16:08:04 · 61 阅读 · 0 评论 -
java中的String
概念String代表字符串,java语言中所有双引号的字符串都是String的对象,不管是否是new出来的对象。特点String类由于被final修饰,因此字符串的内容一旦被初始化就不能够改变,只能重新创建。字符串由于不能被改变,因此其能共享使用。字符串底层使用char[]数组存储。创建方式3+1三种构造方式:public String():创建空字符串对象public String(char[] array):使用char数组创建字符串public String(byte[] a原创 2021-05-19 22:26:03 · 136 阅读 · 3 评论 -
java基础
java语言的特点java语言的优点跨平台,一次编写,到处运行。提供了内存管理机制,自动分配和回收内存。对指针进行了封装。取消了多重继承,仅支持单继承,但可以实现多个接口。为啥一个文件内只能有一个public修饰的类名?一个.java文件的名称必须和public修饰的类名相同,因此一个文件中只能有一个public修饰的类名。命名规则java中的关键字语法错误和语义错误语法错误:不符合编程语言的规定,这类错误不能通过编译器编译。语义错误:能通过编译器,但是执行结果不正确。原创 2021-05-19 10:25:02 · 59 阅读 · 0 评论 -
java,javase,javaee区别
Java:是一门编程语言javase和javaee是java开发平台的三个版本,是一种开发技术。javase:Java Standard Edition,Java标准版,就是一般Java程序的开发就可以(如桌面程序),可以看作是JavaEE的子集。Javaee:是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。也叫J2EE。下图是它们之间的关系...原创 2021-05-18 21:20:50 · 1141 阅读 · 0 评论 -
java继承的相关总结
子类继承父类:子类拥有父类的所有属性和方法,包含父类的私有方法和属性,但是不能使用父类的父类的私有属性和方法。在内存中:一个子类被创建的时候首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类对象。子类继承父类可以这样理解:子类对象确实拥有了父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问到的,只是拥有,但是如果父类中的私有属性有get方法,子类可以调用get方法访问父类的私有属性。子类对父类方法的重写的原创 2021-04-13 15:53:09 · 104 阅读 · 0 评论 -
java重载和重写的区别
区别 重载 重写 类 本类 父类与子类 方法名称 必须一致 必须一致 参数列表 可以修改 必须一致 返回类型 可以修改 必须一致 异常 可以减少和删除,但是不能扩展,即子类方法抛出的异常不能大于父类 可以修改 重载(Overloading)重载发生在本类,方法名相同, 区分不同重载方法只和参数列表,参数个数,参数类型有关,与返回值无关。重载(Overload):首先是位于..原创 2021-02-03 17:53:39 · 366 阅读 · 0 评论 -
java实例化对象的四种方式
java实例化对象的4种方式用new 语句创建对象,这是最常用的创建对象方法。package test;public class Father { public void print() { System.out.println("我是father"); }public static void main(String[] args) { Father f = new Fa...原创 2020-01-02 21:19:50 · 3470 阅读 · 1 评论 -
java中继承的相关问题
关于继承问题子类实例化原理:如果一个类继承了其他类,那么在初始化的时候,super默认先调用父类的无参构造,(这个是java自己调用,不需要显式的写出来)或者super调用有参构造,(这种必须自己显式的调用,因为java不知道你要调用父类的那个有参构造方法),之后调用子类的构造器实例化子类的属性。注意:如果 要显式的调用父类的构造方法,super必须位于子类构造器的第一行。关于th...原创 2020-01-02 20:35:57 · 770 阅读 · 0 评论