java基础
文章平均质量分 72
java基础部分内容总结
Ez4Sterben
这个人一点也不懒
展开
-
【java设计模式】创建型模式介绍(工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式)
本文介绍Java设计模式中创建型模式的五种原创 2023-07-25 16:29:18 · 1077 阅读 · 0 评论 -
【java】java中注解的简介,如何自定义注解,有哪些类型,有什么作用
Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。首先要明确一点的是,注解并没有实际的作用,注解只是起到了标记的作用,仅此而已。原创 2023-07-22 21:27:46 · 193 阅读 · 0 评论 -
【java】对ArrayList中的元素进行排序的几种方式
对ArrayList中的元素进行排序原创 2023-07-19 17:47:52 · 7556 阅读 · 2 评论 -
【java】三大容器类(List、Set、Map)的常用实现类的特点
本文总结三大容器类(List、Set、Map)的常用实现类(ArrayList、Vector、LinkedList、HashSet、HashMap、HashTable)的特点。原创 2023-07-18 14:16:53 · 253 阅读 · 0 评论 -
【java】泛型与Object的区别,如何在实际场景中选择泛型以及Object
本文介绍泛型与Object的区别,如何在实际场景中选择泛型以及Object原创 2023-07-18 11:54:32 · 1044 阅读 · 0 评论 -
【java】源码配合实践一文弄清楚为什么重写equals一定要重写hashcode
本文会带各位从源码的角度以及实际应用案例探究为什么重写equals一定要重写hashcode。原创 2023-07-18 10:57:42 · 60 阅读 · 0 评论 -
【java】线程池简介
线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程所带来的资源消耗。原创 2023-06-29 15:05:48 · 104 阅读 · 0 评论 -
【java】了解常见集合类
java常见集合类原创 2023-03-17 19:56:33 · 689 阅读 · 0 评论 -
【java】序列化与反序列化
被transient修饰的成员变量,在序列化的时候其值会被忽略,在被反序列化后, transient 变量的值被设为初始值, 如 int 型的是 0,对象型的是 null。一个对象 A 的实例变量引用了其他对象 B,在 A 对象实例化的过程中 ,也会序列化 B ,前提是 A、B 两个类都实现了 Serializable 接口。的形式来保证当修改了被序列化类的源码后,以往写的反序列化代码依然可以使用(如 JDK 中的 String 类)。序列化只会保存对象的属性状态,不会保存对象中的方法。原创 2023-03-29 10:30:43 · 597 阅读 · 0 评论 -
java多线程——初步笔记总结
Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。**进程:**一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。一个线程的生命周期新建状态:使用 new 关键字和 T原创 2022-03-08 17:40:06 · 62 阅读 · 0 评论 -
抽象类,接口,继承以及多态的关系(接口的特征,接口与抽象类的区别)
抽象类相当于对一类事物的抽象,其中可以有具体的方法也可以有抽象的方法,以人和学生为例人是抽象的,而学生是具体的个体/群体public abstract class Person{ private String name; //每个人都有名字 private int age; //每个人都有年龄 public abstract void sleep(); //每个人都会睡觉,但是每个人睡觉的习惯不同 public void run(){ System.out.println("开始跑步");原创 2022-03-02 13:06:52 · 478 阅读 · 0 评论 -
java笔记整理——static、final
static:static存在的主要意义:static的主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法!static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。为什么说static块可以用来优化程序性能,是因为它的特性:只会在类加载的时候执行一次。因此,很多时候会将一些原创 2022-03-12 20:43:35 · 72 阅读 · 0 评论 -
内部类——初见总结
内部类是一个定义在另一个类中的类1、为什么要使用内部类1.内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据2.内部类可以对统一包中的其他数据隐藏起来,增强面向对象的封装性3.当想定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷2、实现一个简单的内部类非静态成员式内部类:成员式内部类如同外部类的一个普通方法成员式内部类有以下特性:1.持有父类引用,故可以访问父类任何访问权限的变量、方法2.非静态内部类中不能声明static成员如何访问非静态成员式内部类:外部类名.原创 2022-03-04 09:02:12 · 235 阅读 · 0 评论 -
Java深拷贝,浅拷贝——初见总结
对于java拷贝的理解在java语言中,当我们需要拷贝一个对象的时候,常见的会有两种方式的拷贝;深拷贝和浅拷贝。浅拷贝只是拷贝了原对象的地址,所以原对象的任何值发生改变的时候,拷贝对象的值也会随之而发生变化。深拷贝则是拷贝源对象的所有值而不是地址,所以即源对象的值发上变化时,拷贝对象的值不会发生变化。1、浅拷贝定义一个User类public class User { private String username = "张三"; private String password = "1原创 2022-03-04 10:19:21 · 362 阅读 · 0 评论 -
java——构造器与final关键字
Class1:一、构造器Cat cat1 = new Cat();Cat() //构造器构造器的特点:1、构造器的名字与类名相同2、构造器没有返回值3、构造器用于创建对象,并且在创建对象时为其赋初始值4、在一个类当中有一个或多个构造器5、在一个类当中有一个默认的,不显示的,无参的构造器,并且当我们在这个类中重写一个构造器的时候,这个默认的,不显示的,构造器会失效。二、final关键字final修饰的是一块固定的地址的值,与地址相关的值是可以改变的(引用类型)final修饰全局变量必原创 2022-01-10 22:28:12 · 487 阅读 · 0 评论 -
java——封装与多线程基础
Class1:句柄 = 值的地址 (堆中地址)引用地址是栈中地址,值的地址是堆中地址,在传递参数的过程中,相当于把参数的地址传输到方法中(属于一种浅拷贝)在A方法中无论写任何代码,都没有办法改变B方法中声明的变量的指向,但在A方法中可以改变堆区域中引用类型的指向(指针的原理相同)实例:public class PersonTest{ public static void main(String[] args){ Person person1 = new Person(); Person原创 2022-01-12 21:27:11 · 228 阅读 · 0 评论 -
java异常处理——笔记总结
首先我们来看一下java异常体系结构图一、java异常体系Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常, 这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。1、Error与ExceptionError是程序无法处理的错误,它是由JV原创 2022-03-08 17:55:34 · 175 阅读 · 0 评论 -
代理——初见总结
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.java中的代理模式:定义:给目标对象提供一个代理对象,并且由代理对象控制对目标对象的引用目的:①:通过代理对象的方式间接的访问目标对象,防止直接访问目标对象给系统带来不必要的复杂性②:通过代理业务对原有业务进行增强java当中有三种方式来创建代理对象:静态代理,基于jdk(接口)的动态代理,基于CGLLIB(父类)的原创 2022-03-04 08:39:49 · 234 阅读 · 0 评论 -
String、StringBuffer、StringBuilder、switch
Class1:String、StringBuffer、StringBuilder的内部原理:计算机在读取任何数据时,都要先把指定地址发送过去,才能进行读取操作。1字节是默认的存储单元,每次指令的传输是15-20ns,单个存储单元越大,读取速度越快,空间浪费越严重。内存和磁盘的存储单元是4KB称为一页,磁盘侧重于存储,硬盘侧重于速度。由于操作系统的特性,一个变量消耗的空间至少为4KB,而一个数组消耗的空间也为4KB。字符串类型会根据需要的空间来申请,不会申请更大的空间StringBuilder与原创 2022-01-06 18:38:08 · 402 阅读 · 0 评论 -
java——类与对象
Class1:类和对象:JAVA信息首先进入的是方法区,所有的类信息会存入JVM中的方法区内,程序的执行顺序是由栈控制的线程就是从主方法开始入栈到出栈结束的过程,线程的本质是一个栈方法执行顺序实例:public class Test{ public static void main(String[] args){ System.out.println("main开始"); m1(); m2(); System.out.println("main结束"); } public原创 2022-01-07 20:21:19 · 243 阅读 · 0 评论 -
java泛型——笔记总结
Java 泛型(generics)泛型是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。为什么需要泛型?假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串原创 2022-03-14 10:52:25 · 604 阅读 · 0 评论 -
java反射——笔记总结
什么是反射?反射:通过Java代码获取类信息及类的对象反射可以获取类的一切信息反射的三种方式1、通过对象.getClass();2、通过类路径Class.forname(“类路径”);3、通过类名.class反射中的方法Field [ ] getFields ( )Filed [ ] getDeclaredFields ()getFields 方法将返回一个包含 Field 对象的数组 , 这些对象记录了这个类或其超类的公有域。getDeclaredField 方法也将返回包含Fi原创 2022-03-14 11:02:45 · 584 阅读 · 0 评论 -
java面向对象——笔记整理
java面向对象的三大特征:封装:在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。封装的优点良好的封装能够减少耦合。类内部的结构可以自原创 2022-03-15 09:14:59 · 223 阅读 · 0 评论