
JavaSE
文章平均质量分 89
详细记录了本人学习JavaSE以来的所有笔记
小璐乱撞xllz
Java
展开
-
自制笔记 | Java基础——注解(持续更新...)
关于注解的解析,一般是在框架的底层已经写好了。所有的类成分Class,Method,Field,Constructor,都实现了AnnotatedElement接口,他们都拥有解析注解的能力。④ 比如注解作用在成员变量上,则要获得该成员变量对应的Field对象,再来拿上面的注解。② 比如注解作用成员方法,则要获得该成员方法对应的Method对象,再来拿上面的注解。注解的操作中经常需要进行解析,注解的解析就是判断是否存在注解,存在注解就解析出内容。元注解就是注解注解的注解,也就是写在注解上面的注解。原创 2024-03-09 12:15:39 · 410 阅读 · 0 评论 -
自制笔记 | Java基础——单元测试(持续更新...)
扩展点:在单元测试中,断言:参数一:当两个结果一样的时候,出现的提示消息;JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。的,而是自己独立写一个测试类(不要写main方法),在这个类中编写一些方法,在方法里面调用要被测试的方法即可。① 只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响。,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。② 单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。原创 2024-03-09 12:12:58 · 362 阅读 · 0 评论 -
自制笔记 | Java基础——xml(持续更新...)
配置文件是用来保存程序在运行时需要的一些参数常见的配置文件:txt、properties、xmltxt:优点:没有优点缺点:不利于阅读优点:键值对形式易于阅读、解析简单缺点:无法配置一组一组的数据(例如有多个用户时,一个键就会对应多个值)XML:优点:易于阅读、可以配置成组出现的数据缺点:解析比较复杂配置文件的选择:数据量较少,一个键只对应一个值,使用properties;数据量较多,使用xmlXML的全称为EXtensible Markup Language,是一种可扩展的。原创 2024-03-09 12:08:27 · 966 阅读 · 0 评论 -
自制笔记 | Java基础——log日志(持续更新...)
Logback是基于slf4j的日志规范实现的框架,性能比之前使用的log4j要好。① 可以将系统执行的信息选择性地记录到指定的位置(控制台、文件中、数据库中)程序中的日志可以用来记录程序运行过程中的信息,并可以进行永久存储。需求:导入Logback日志技术到项目中,用于记录系统的日志信息。作用:用于控制系统中哪些日志级别是可以输出的,只输出级别。ALL和OFF分别是打开全部日志信息,及关闭全部日志信息。作用:用于控制系统中哪些日志级别是可以输出的,只输出级别。:一些接口,提供给日志的实现框架设计的标准。原创 2024-03-09 12:03:04 · 468 阅读 · 0 评论 -
自制笔记 | Java基础——反射(持续更新...)
动态创建对象,即创建配置文件内容里的对象,并调用内容里的方法,而即使配置文件发生改变,程序也不用改变。① 获取一个类里面所有的信息,获取到了之后,再执行其他的业务逻辑。反射允许对成员变量,成员方法和构造方法的信息进行编程访问。参数二:调用方法的传递的参数(如果没有就不写):返回所有公共成员方法对象的数组,:返回所有公共成员变量对象的数组。:返回所有成员方法对象的数组,:返回所有构造方法对象的数组。:返回所有成员变量对象的数组。:返回单个公共成员变量对象。:返回单个公共成员方法对象。:返回单个成员变量对象。原创 2024-03-09 11:59:50 · 386 阅读 · 0 评论 -
自制笔记 | Java基础——网络编程(持续更新...)
网络编程就是在网络通信协议下,不同计算机上运行的程序,进行的数据传输Java中可以使用包下的技术轻松开发出常见的网络应用程序C/S:Client/Server(客户端 / 服务器):在用户本地需要下载并安装客户端程序,在远程有一个服务器端程序B/S:Browser/Server(浏览器 / 服务器):只需要一个浏览器,用户通过不同的网址,客户访问不同的服务器在BS架构中,所有的图片、音频资源等都需要服务器传输到本地电脑上,而在CS架构中,这些资源包含在安装包内,已经在本地电脑上。原创 2024-03-09 11:50:15 · 859 阅读 · 0 评论 -
自制笔记 | Java基础——多线程&JUC(持续更新...)
① 核心线程数量(不能小于0)② 线程池中最大线程的数量(最大数量 >= 核心线程数量)③ 空闲线程最大存活时间(值)(不能小于0),表示除了核心线程以外的线程空闲多长时间会被销毁④ 空闲时间(单位)(用TimeUnit指定)⑤ 阻塞队列(不能为null)⑥ 创建线程的方式(不能为null)⑦ 要执行的任务过多时的解决方案(不能为null)原创 2024-03-09 11:38:09 · 869 阅读 · 0 评论 -
自制笔记 | Java基础——File、IO流(字节流、字符流、缓冲流、转换流等)(持续更新...)
如果先用序列化流将一个对象保存到文件中,然后再修改这个对象的类的结构,再用反序列化流读取文件中的对象,此时会报错。,对象中会包含版本号,文件中也会包含版本号信息。如果修改了类的结构,那么类的版本号会发生变化,进而导致用反序列化流读取对象时,版本号匹配失败,最后代码报错。:有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中,也可以把配置文件中的数据,读取到集合中来。:有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中,也可以把配置文件中的数据,读取到集合中来。原创 2024-03-09 11:02:43 · 891 阅读 · 0 评论 -
自制笔记 | Java基础——异常(异常处理、自定义异常等)(持续更新...)
异常就是代表程序出现的问题Error:代表的系统级别错误(属于严重问题),系统一旦出现问题,sun公司会把这些错误封装成Error对象。Error是给sun公司自己用的,不是给我们程序员用的,因此我们开发人员不用管它异常体系最上层的父类为ExceptionException:叫做异常,代表程序可能出现的问题。我们通常会用Exception以及他的子类来封装程序出现的问题运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒。运行时出现的异常(如:数组索引越界异常)。原创 2024-03-09 10:42:52 · 935 阅读 · 0 评论 -
自制笔记 | Java基础——集合(下)(HashMap、TreeMap、Stream等)(持续更新...)
**HashMap的特点:**① HashMap是Map里面的一个实现类② 没有额外需要学习的特有方法,直接使用Map里面的方法就可以了③ 特点都是**由键决定的:无序、不重复、无索引**④ HashMap跟HashSet底层原理是一模一样的,都是**哈希表**结构**HashMap的底层原理:**哈希表中存放的对象是Entry对象,里面包含键和值,而哈希值是由键来计算,**跟值无关**。在使用put方法添加对象时,若当前位置为null,则直接添加该对象;若当前位置不为null,则比较该位原创 2024-03-09 10:34:30 · 968 阅读 · 0 评论 -
自制笔记 | Java基础——集合(上)(ArrayList、LinkedList、HashSet、TreeSet等)(持续更新...)
集合与数组的区别:① 长度:数组的长度是固定的集合的长度是可变的(自动伸缩)② 存储类型:数组可以存基本数据类型,也可以存引用数据类型集合可以存引用数据类型,但若要存基本数据类型,需要将其转换为对应的包装类创建集合的对象:泛型:限定集合中存储数据的类型//E为引用数据类型或者包装类打印对象时,不是打印地址值,而是集合中存储的数据内容,在展示的时候会拿[]把所有的数据进行包裹基本数据类型对应的包装类byteByteshortShortcharCharacterint。原创 2024-03-09 10:24:16 · 875 阅读 · 0 评论 -
自制笔记 | Java基础——Arrays、Lambda(持续更新...)
Lambda是一个匿名函数,可以把Lambda表达式理解为是一段可以传递的代码,它可以写出更简洁、更灵活的代码,作为一种更紧凑的代码风格,使java语言表达能力得到了提升。遍历无序的序列得到里面的每一个元素,假设当前遍历得到的元素是A元素,把A往有序序列里面插入,在插入的时候,利用。,所以在调用方法的时候,需要传递这个接口的实现类对象,作为排序的规则。③ 如果Lambda表达式的方法体只有一行,大括号,分号,return可以省略不写,但是需要同时省略。② 如果要查找的元素是存在的,返回的是真实的索引;原创 2024-03-08 23:34:27 · 893 阅读 · 1 评论 -
自制笔记 | Java基础——常用API(正则表达式、Math、Object、BigDecimal、时间类等)(持续更新...)
正则表达式可以校验**字符串**是否满足一定的**规则**,并用来校验**数据格式**的合法性**正则表达式的作用:**① 校验字符串是否满足规则② 在一段文本中查找满足要求的内容Date类是一个JDK写好的Javabean类,用来描述时间,精确到毫秒利用空参构造创建的对象,默认表示**系统当前时间**利用有参构造创建的对象,表示**指定的时间**(毫秒值)**SimpleDateFormat作用:****格式化:**把时间变成我们喜欢的格式原创 2024-03-08 23:27:22 · 1251 阅读 · 1 评论 -
自制笔记 | Java基础——面向对象进阶(持续更新...)
static表示静态,是Java中的一个修饰符,可以修饰**成员方法,成员变量**1.被static修饰的成员变量,叫做静态变量特点:① 被该类**所有对象共享**② **不属于对象,属于类**③ 随着类的加载而加载,**优先于对象**存在调用方式:① 类名调用(推荐)② 对象名调用static内存图:由图中可以看出两个对象拥有共同的静态变量2.被static修饰的成员方法,叫做静态方法特点:① 多用在测试类和工具类中② Javabean类中很少会用调用方式原创 2024-03-08 23:10:19 · 903 阅读 · 0 评论 -
自制笔记 | Java基础——字符串(String、StringBuilder、StringJoiner)(持续更新...)
StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。无论是哪种方法,在字符串拼接且有变量参与的情况下,都会在内存中创建很多对象,从而浪费空间。③ StringJoiner:JDK8出现的一个可变的操作字符串的容器,可以高效、方便地。所有要拼接的内容都会往StringBuilder中放,不会创建很多无用的空间,节约内存。注意:字符串的内容是不会发生改变的,它的对象在创建后。:一个可变的操作字符串的容器,可以高效地。① 默认创建一个长度为16的字节数组。原创 2024-03-08 22:54:04 · 945 阅读 · 1 评论 -
自制笔记 | Java基础——面向对象(持续更新...)
② 构造方法的重载:带参构造方法和无参构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载。③ 推荐的使用方式:无论是否使用,都手动书写无参构造方法和带全部参数的构造方法。① "setXxx(参数)"方法,用于给成员变量赋值,方法用public修饰。② "getXxx()"方法,用于获取成员变量的值,方法用public修饰。原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。① 构造方法的定义:如果没有定义构造方法,系统将给出一个。:数据值是存储在其他空间中,自己空间中存储的是地址值。原创 2024-03-08 22:38:39 · 887 阅读 · 2 评论 -
自制笔记 | Java基础——基础概念(持续更新...)
Java的三大分类:JavaSE——Java语言的标准版,用于桌面应用开发,是其他两个版本的基础JavaME——Java语言的小型版,用于嵌入式电子设备或者小型移动设备JavaEE——Java语言的企业版,用于Web方向的网站开发Java的主要特性:面向对象、安全性、多线程(同时做多件事情)、简单易用、开源、跨平台(程序可以在任意操作系统上运行)Java跨平台的原理:① Java语言的跨平台是通过虚拟机实现的② Java语言不是直接运行在操作系统里面的,而是运行在虚拟机中的③ 针对于不同的操作系统,原创 2024-03-08 22:17:31 · 1035 阅读 · 1 评论