02 2025 档案

摘要:反射 类加载 加载阶段:JVM在该阶段的主要目的时将字节码从不同的数据源【可能时 class文件, jar包,甚至是网络】转化为二进制字节流加载到内存,并生成一个代表该类的 Class对象; 连接阶段: 验证阶段: 为了确保Class文件的字节流中包含的信息符合jvm的要求,而且不会危害jvm安全; 阅读全文
posted @ 2025-02-25 22:10 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:存在Class对象: 外部类,成员内部类,静态内部类,局部内部类,匿名内部类【四大内部类】; 接口,枚举,数据 注解,基本数据类型,void; Class常用方法: Class cls = Class.forName(String str); //获取str的Class对象; obj.getClas 阅读全文
posted @ 2025-02-24 22:22 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:反射机制 java中的所有数据类型都是对象或者基础类型,如果将交互的数据用来创建对象,即在不修改源码的情况下,来控制程序; 反射机制允许程序在执行期间借助于Reflection API 获取任何类的内部信息【五大成员变量】; 加载完类之后,在堆中产生了一个Class类型的对象【一个类只有一个Clas 阅读全文
posted @ 2025-02-24 20:53 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑
摘要:Socket Socket允许程序把网络连接当作一个流,数据在两个Socket间通过IO传输; 一般把主动发起通信的应用程序的称:客户端,等待通信的为服务端; 可以通过Socket获取InputStream和OutputStream对象; 当在使用OutputStream的时候,需要手动写入一个标记 阅读全文
posted @ 2025-02-23 20:01 烟雨断桥 阅读(3) 评论(0) 推荐(0) 编辑
摘要:IO流 IO流共涉及40多个类,都是由这4个类派生出来的; 抽象基类 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 常用子类 FileInputStream 和 FileOutputStream:文件输入流; FileReader 和 阅读全文
posted @ 2025-02-23 16:24 烟雨断桥 阅读(3) 评论(0) 推荐(0) 编辑
摘要:数据【用户数据】的封装过程: 应用层:经过应用后,应用数据:App 首部 + 用户数据; 传输层:经过TCP后,TCP段:TCP首部 + 应用数据; 网络层:经过IP后,IP数据报:IP首部 + TCP首部 + 应用数据; 数据链路 + 物理层:经过以太网驱动程序,以太网帧:以太网首部 + IP数据 阅读全文
posted @ 2025-02-23 16:20 烟雨断桥 阅读(3) 评论(0) 推荐(0) 编辑
摘要:KMP算法:主要应用在字符串匹配的问题; 主要思想:当出现字符串不匹配时,可以根据已经匹配的文本内容,避免暴力的从投再匹配; 其中最主要的是next组数【前缀表】:记录了模式串和主串不匹配的时候,模式串应该从哪里重新开始匹配【相同字符串的传递性】; next数组里的数字表示的是什么,为什么这么表示? 阅读全文
posted @ 2025-02-22 11:14 烟雨断桥 阅读(14) 评论(0) 推荐(0) 编辑
摘要:文件 文件在程序中是以流的形式来操作的【输入流,输出流】; 创建文件方法: new File(String pathname); new File(File parent, String child); new File(String parent, String child); createNew 阅读全文
posted @ 2025-02-21 17:40 烟雨断桥 阅读(6) 评论(0) 推荐(0) 编辑
摘要:线程的生命周期: Thread.state枚举类共有6种状态: NEW:尚未启动的线程状态; RUNNABLE:jvm中执行的状态; BLOCKED:被阻塞等待监视器锁定的状态; WAITING:等待其他线程执行的状态; TIME_WAITING:达到执行等待时间的线程状态; TERMINATED: 阅读全文
posted @ 2025-02-20 18:15 烟雨断桥 阅读(3) 评论(0) 推荐(0) 编辑
摘要:进程: 启动一个进程,操作系统就会给该进程分配内存空间; 进程是要给程序的执行过程,是动态过程,有产生,存在,消亡; 线程: 线程是由进程创建的,是进程的一个实体; 一个进程可以有多个线程; 线程也能创建线程; 并发:同一个时刻,多个任务交替执行; 并行:同一个时刻,多个任务同时执行; 线程的两种方 阅读全文
posted @ 2025-02-20 15:59 烟雨断桥 阅读(4) 评论(0) 推荐(0) 编辑
摘要:泛型 所有对象底层都是Object,不能对数据进行约束; 向上向下转型,太过频繁,影响效率; 泛型是给编译器的,又称参数化类型; 可以在类声明时通过一个标识表示类中某个【属性,方法返回值,参数】的类型; 泛型是编译阶段确定,所以不能修饰静态成员; 当在声明的时候,没有传入类型的时候,默认是Objec 阅读全文
posted @ 2025-02-19 18:30 烟雨断桥 阅读(4) 评论(0) 推荐(0) 编辑
摘要:异常 程序在执行过程中发生的不正常情况称之为"异常",可分为两类: Error:java 虚拟机无法解决的严重问题,程序会崩溃; Exception:因为编程错误,或者偶然的外在因素导致的一般性问题,分为两种: 运行时异常; 编译时异常; 异常体系分布: Throwable extends Obje 阅读全文
posted @ 2025-02-19 16:33 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:注解: 注解(Annotation) 被称之为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息; 使用的时候前面加上:@符号,作为一个修饰符使用,三种基本的Annotation: @Override:表重写父类方法,只能用于方法; @Target(Element 阅读全文
posted @ 2025-02-18 22:12 烟雨断桥 阅读(3) 评论(0) 推荐(0) 编辑
摘要:枚举类: 自定义枚举: 构造器私有, 提供枚举成员:public final static 修饰符; 仅提供读取方法; enum关键字的枚举类; 枚举对象必须放在枚举类的首行; 提供枚举成员,多个对象,逗号间隔 ; 常量名(参数列表); public static final 类名 = 类名(参数列 阅读全文
posted @ 2025-02-18 21:26 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑
摘要:内部类: 类一共有五个成员,成员可以与外部其他类进行交互,所以有访问修饰符:public, protect, 默认, private; 属性; 静态属性; 普通属性; 常量; 代码块【构造器的补充】; 静态代码块; 普通代码块; 构造器; 创建对象执行必须执行的显式初始化; 方法; 静态方法; 普通 阅读全文
posted @ 2025-02-18 20:18 烟雨断桥 阅读(4) 评论(0) 推荐(0) 编辑
摘要:接口多态特性 多态参数【可以赋值给接口变量】; 多态数组【接口数组】; 多态传递【一个接口可以继承多个其他接口】; 当一个普通类继承了一个类和实现了一个接口,此两者有一个共同的属性,在这个普通类中,直接使用属性的时候,属性查找的优先级相同,会照成报错: 继承的父类直接使用:super.属性; 接口中 阅读全文
posted @ 2025-02-17 20:53 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:接口 接口就是给出一些没有实现的方法,封装到一个类中,在根据具体情况写出来; 在jdk 7.0 之前接口类的所有方法,都没有方法体; 在jdk 8.0 之后,接口类可以有: 抽象方法,可以省略 abstract 关键字; 默认方法,存在方法体,需要default关键字修饰; 静态方法,直接使用; 接 阅读全文
posted @ 2025-02-17 19:55 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑
摘要:模板设计模式 在抽象类中定义了算法的骨架,流程, 子类实现具体的抽象方法; 定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤,这种类型的设计模式属于行为型模式 阅读全文
posted @ 2025-02-17 16:02 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑
摘要:抽象类 当父类的某些方法,需要声明但又不具体实现时,可以将其声明为抽象方法——这个类就是抽象类; 抽象方法没有方法体,相当于仅声明方法【子类必须实现】; 有抽象方法的类,一定是抽象类【不能实例化】; 抽象类,可以没有抽象方法; abstact只能修饰类和方法; 一个类继承了抽象类,必须实现它所有的抽 阅读全文
posted @ 2025-02-17 12:42 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:final的使用 final 可以修饰类,属性,方法和局部变量; 修饰类,不希望被继承; 修饰方法,不希望被子类重写; 修饰类的属性,不希望属性的值被修改; 修饰局部变量,不希望局部变量值被修改; final 修饰属性:XX_XX_XX来命名,在定义的时候就必须赋值,非静态常量可以在如下位置赋值: 阅读全文
posted @ 2025-02-16 21:37 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑
摘要:单例模式 采取一定的方法保证在程序中,对某个类只能存在一个对象实例【核心类,耗资源型】,并且该类只提供一个取得其实例的方法; 饿汉模式:【随着类的加载而创建,缺点创建了没有使用】 构造器私有化; 在类的内部创建对象; 向外暴露一个静态的公共方法:getInstance 代码实现; 懒汉式:【在饿汉式 阅读全文
posted @ 2025-02-16 21:11 烟雨断桥 阅读(0) 评论(0) 推荐(0) 编辑
摘要:代码块的使用 静态代码块在执行类加载的时候,仅执行一次; 创建对象的时候, 创建子类对象的时候; 调用类静态属性的时候; 类的加载,仅加载一次; 创建一个对象的时候,一个类的调用顺序: 静态代码块和静态属性,静态方法初始化,他们优先级一样,按照定义顺序执行【类加载】; 调用普通代码块和普通属性的初始 阅读全文
posted @ 2025-02-16 20:05 烟雨断桥 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Object:是所有对象的超类; equals()方法: 比较运算符 ==: 如果为基本类型,则判断值是否相等; 如果为引用类型,判断地址是否相同,是否是同一个对象; equals():是对象的一个方法,要求是自身对象和传入对象的比较; 默认只能判断引用类型【对象的方法】 子类往往会重写,判断特定字 阅读全文
posted @ 2025-02-14 11:02 烟雨断桥 阅读(1) 评论(0) 推荐(0) 编辑