- 博客(13)
- 收藏
- 关注
原创 学习笔记 java学习(十三)
反射 反射的前提:我们要获取/使用别人代码的能力 代码必须要获取字节码对象(Class.forname(“全路径名”)/类名.class/对象.getClass()),才能进一步操作 单元测试方法 @Test+public+void+没有参数 多个单元测试方法可以独立运行,互不影响 ...
2021-07-22 17:40:43
149
2
原创 学习笔记——java学习(十二)
注解 1注解是程序的增强器,我们可以通过注解写出更加简单高效的代码 2注解的分类 jdk自带注解-5个 @override:标识重写方法 元注解 用来描述注解的注解 @Target–标记自定义注解可以加在哪里–类/方法/属性: ElementType.TYPE 应用于类的元素 ElementType.METHOD应用于方法级 ElementType.FIELD应用于字段或属性(成员变量) ElementType.ANNOTATION_TYPE应用于注释类型 ElementType.CONSTRUCTOR应用
2021-07-22 16:58:13
181
原创 学习笔记 java学习(十一)
1.进程:正在运行中的程序–动态的 程序:静态的数据与指令的集合–静态的 2.进程的特点: 独立性:进程有自己独立的空间,可以独立运行,多个进程互不影响 动态性:进程加入了时间的概念有生命周期和不同的状态 并发性:单个CPU可以处理多个进程,进程一起运行互不影响 3.并行与并发: 并发:多个进程抢占CPU 并行:多个进程都有自己的CPU进行处理,没有发生抢占的现象 TIPS:在高并发场景下实现高可用HA 4.线程:线程是OS可以进行运算调度的最小单位 一个进程可以开启多个线程,如果一个进程只有一个线程-单线
2021-07-22 08:51:37
150
原创 学习笔记 java学习(十)
ArrayList–底层是数组-连续的内存空间–查询快,增删慢(扩容&缩容) LinkedList–底层是链表–不连续的内存空间–查询满,增删快 注意:LinkedList还提供了很多针对首尾进行操作的API Arraylist测试: package cn.tedu.list; import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; /**本类用于ArrayList相关测试*/ p
2021-07-21 08:52:09
172
1
原创 学习笔记 java学习(九)
泛型 1.格式: <?> … 2.泛型的来由:想要模拟数组数据类型检查,也相对集合数据类型做限制 3.使用:通常与集合一起使用,为了限制类型,而且可以把报错时机提前 4.泛型是一颗“语法糖”,只在编译时检查类型,编译好的字节码文件中没有泛型 5.泛型方法 public static void print(E[] a){}–两处位置必须同时出现 注意事项:类型必须使用引用类型,不可以使用基本类型 例题: package cn.tedu.generic; import java.util.Ar
2021-07-20 08:43:24
128
原创 学习笔记 java学习(八)
序列化与反序列化 序列化:对象->文件 – ObjectOutputStream–序列化流 反序列化:文件->对象 – ObjectInputStream–反序列化流 序列化的思路: 1)需要准备要序列化的对象+序列化到哪里的目标文件的路径 2)序列化对象所在的类必须要实现序列化接口,不实现会报错 3)创建序列化流对象 OOS out = new OOS(new FOS(File/路径)); 4)使用流进行对象的序列化输出 out.writeObject(s); 5)关流 out.close(
2021-07-19 09:21:04
153
原创 学习笔记 java学习(七)
流 IO 流与管道是抽象处理方便理解的概念,并不是真实存在的 流是有方向的,什么流就做什么事 in/输入流/读取流,方向:磁盘到内存,也就是"数据进到程序中" out/输出流/写出流,方向:内存到磁盘,也就是"程序生成的数据存储到文件中" 流的分类 根据方向:输入流 输出流 根据数据类型:字节流 字符流 组合: 1)字节输入流 InputStream–抽象父类,不可实例化 FileInputStream – 操作文件的字节输入流–可以传文件/路径 BufferedInputStream – 缓冲/高效字
2021-07-17 09:38:30
88
原创 学习笔记 java学习(六)
正则表达式 字符串String regex = “我们制定的规则,要符合正则的语法”; 数据.matches(regex);–看数据是否符合我们的正则表达式 例题: package cn.tedu.api; import java.util.Scanner; /**本类用于测试正则表达式*/ //检验用户输入的身份证号是否正确 public class TestRegex { public static void main(String[] args) { String inpu
2021-07-16 09:15:56
81
原创 学习笔记 java学习(五)
Object 顶级父类 所有类都把Object作为超类(直接或间接继承) tostring() 重写前:打印的是对象的地址值 重写后:打印的是对象的属性与属性值 equals() 重写前:比较的是两个对象的地址值,底层使用==判断。 重写后:比较的是两个对象的:类型+属性+属性值 hashCode() 返回对象的哈希码值 例题: package cn.tedu.api; import java.util.Objects; /**本类用于测试顶级父类Object*/ public class TestOb
2021-07-14 17:11:41
207
原创 学习笔记 java学习(四)
接口 1.接口的关键字是interface 2.接口中的方法都是抽象方法–只定义规则不实现 3.我们需要给接口配备对应的实现类XXXImpl,实现类有两种: 1)抽象类–不实现/实现部分–不可以创建对象 2)普通实现类–实现所有的抽象方法–创建本类对象进行功能调用–最常用 入门案例: 1.接口: /**1.通过interface关键字来定义接口*/ public interface Inter { /**2.接口中可以有普通方法吗? 不可以*/ //public void eat(){}
2021-07-13 12:18:59
109
原创 学习笔记 java学习(三)
抽象类、抽象方法 1、被abstract修饰的方法是抽象方法,抽象方法没有方法体 2、被abstract 修饰的类是抽象类,抽象类中的方法不做限制:全普/全抽/都有 3.如果一个类中含有一个抽象方法,那这个类一定要被声明成抽象类 4.如果一个子类继承一个抽象父类有两种方案: 1)作为抽象子类躺平,不实现抽象父类的抽象方法 2)作为普通子类,实现抽象父类的所有抽象方法 例子: 5.抽象类不可以实例化(创建对象) 抽象类具有构造函数,只不过构造函数不是为了自己创建对象使用,而是为了子类创建对象时默认调用的sup
2021-07-12 16:52:40
98
原创 学习笔记:java学习(二)
一、异常的继承结构 1.Throwable:顶级父类 2、–Error:系统错误,无法修复 2、–Exception:可以通过编程修复的错误 –编程异常–未运行程序–未通过编译–少写了一个{ –runtimeRxception 运行时异常–通过编译,运行时才报错 –IndexOutOfBoundsException–数组下标越界 –InputMismatchException–输入不匹配异常 –ArithmeticException–算术异常 ----- 二、异常的解决方案 方案一:自己解决try–
2021-07-12 14:50:07
97
原创 学习笔记:java基础学习(一)
由于前段时间没来得及写,以后有时间再补上去吧 一、面向对象 特点:强调的是结果,Java是一门面向对象的语言。 二、类 使用关键字class来定义,类是一类事物的抽象,把抽象出来的特点封装成一个类组件。 对象:使用new关键字,触发对应参数的构造函数来创建对象。 三、编程思路/元素 属性:成员变量/字段 方法: 1)普通方法:用于完成类中的一些功能 2)构造方法:默认存在无参构造,创建对象时被动触发用于创建对象 3)静态方法:属于静态资源,与所有静态资源的特性一致 代码块: 1)静态代码块:static{}
2021-07-12 10:39:48
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人