
java基础
救救头发
记录个人学习笔记
展开
-
接口和抽象类的区别
继承:抽象类只能单继承,而接口可以多实现;即:一个类只能继承一个抽象类,但是可以implements多个接口;一个类要实现接口的话,要实现接口中的全部方法,而抽象类不一定字段:抽象类可以定义实例字段,接口不能定义实例字段抽象方法:都可以定义抽象方法非抽象方法:抽象类可以定义非抽象方法,而接口中的方法都是抽象的从设计层面来说,抽象类是对类的抽象,是一种模板设计;接口是对行为的抽象,是一种行为的规范...原创 2021-09-26 11:34:26 · 155 阅读 · 0 评论 -
java异常
java异常体系结构Thorwable类是所有异常和错误的父类,其两个子类为Error和Exception,分别表示错误和异常。Error:Error属于程序无法处理的错误 ,我们没办法通过catch来进行捕获 。例如,Java 虚拟机运行错误(Virtual MachineError)、虚拟机内存不够错误(OutOfMemoryError)、类定义错误(NoClassDefFoundError)等 。这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。Exception...原创 2021-09-23 11:19:54 · 65 阅读 · 0 评论 -
List、Set、Map的区别
List: 存储的元素是有序的、可重复的。Set: 存储的元素是无序的、不可重复的。Map: 使用键值对(key-value)存储,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。...原创 2021-09-20 16:46:38 · 87 阅读 · 0 评论 -
进程和线程的区别
在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类似的,音乐播放器和Word都是进程。某些进程内部还需要同时执行多个子任务。例如,我们在使用Word时,Word可以让我们一边打字,一边进行拼写检查,同时还可以在后台进行打印,我们把子任务称为线程。线程是操作系统中调度的最小任务单位进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。和多线程相比,多进程的缺点在于:创建进程比创建线程开销大,尤其是在Windows系统上原创 2021-09-20 16:32:20 · 87 阅读 · 0 评论 -
String、StringBuffer 和 StringBuilder 的区别
String类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以String对象是不可变的。每次对String类型进行改变的时候,都会生成一个新的String对象,然后将指针指向新的String对象。StringBuilder中没有final关键字,每次都会对StringBuilder对象本身进行操作,而不是生成新的对象并改变对象引用。StringBuffer在StringBuilder的基础上...原创 2021-09-20 16:08:36 · 61 阅读 · 0 评论 -
面向对象和面向过程
面向过程是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。...原创 2021-09-20 15:54:41 · 71 阅读 · 0 评论 -
类初始化顺序
正常类:静态变量/静态代码块 -> main方法 -> 非静态变量/代码块 -> 构造方法继承类:父类–静态变量/父类–静态初始化块子类–静态变量/子类–静态初始化块父类–变量/父类–初始化块父类–构造器子类–变量/子类–初始化块子类–构造器...原创 2021-09-20 15:45:46 · 57 阅读 · 0 评论 -
序列化和反序列化
序列化: 将数据结构或对象转换成二进制字节流的过程反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程原创 2021-08-26 14:47:10 · 67 阅读 · 0 评论 -
深拷贝和浅拷贝
浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容即:对于引用类型数据,一个直接引用,一个创建一个新地址再引用...原创 2021-08-19 16:24:55 · 64 阅读 · 0 评论 -
== 和 equals的区别
对于基本数据类型来说,==比较的是值。对于引用数据类型来说,==比较的是对象的内存地址。equals()方法存在两种使用情况:1.类没有覆盖equals()方法:等价于通过“==”比较这两个对象,使用的默认是Object类equals()方法。2.类覆盖了equals()方法:比较两个对象中的属性是否相同String中的equals方法是被重写过的,因为Object的equals方法是比较的对象的内存地址,而String的equals方法比较的是对象的值...原创 2021-08-15 09:29:10 · 72 阅读 · 0 评论 -
java基本数据类型
整型:byte(1字节),short(2字节),int(4字节),long(8字节)浮点型:float(4字节),double(8字节)字符型:char(大小根据编码决定,ascii——1字节,unicode——2字节,utf-8——4字节)布尔型:boolean(4字节)...原创 2021-08-10 14:37:24 · 64 阅读 · 0 评论 -
java数据类型
原创 2021-08-10 14:36:39 · 68 阅读 · 0 评论 -
JVM,JDK,JRE
JVM(java虚拟机)是运行java字节码的虚拟机。JVM有针对不同系统的特定实现,目的是使用相同的字节码,它们都会给出相同的结果JRE是java运行时的环境。它是运行已编译java程序所需要的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。JDK是Java Development Kit 缩写,它拥有JRE所拥有的一切,还有编译器和工具,能够创建和编译程序...原创 2021-08-10 14:34:14 · 67 阅读 · 0 评论 -
Java语言特点
1.简单易学2.面向对象(封装,继承,多态)3.平台无关性(java虚拟机实现平台无关性)4.支持多线程5.可靠性6.安全性7.支持网络编程并且很方便(Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便)8.编译与解释并存...原创 2021-08-10 14:32:43 · 84 阅读 · 0 评论