Java
文章平均质量分 89
Onlooker129
这个作者很懒,什么都没留下…
展开
-
Java34-注解
自定义注解单独存在是没有什么意义的,一般会跟反射结合起来使用,会用发射去解析注解。针对于注解,只要掌握会使用别人已经写好的注解即可。关于注解的解析,一般是在框架的底层已经写好了。原创 2024-07-04 20:12:56 · 454 阅读 · 0 评论 -
Java33-单元测试Junit
对部分代码进行测试。原创 2024-07-04 20:07:22 · 456 阅读 · 0 评论 -
Java32-xml
XML的全称为(EXtensible Markup Language),是一种可扩展的标记语言 标记语言: 通过标签来描述数据的一门语言(标签有时我们也将其称之为元素) 可扩展:标签的名字是可以自定义的,XML文件是由很多标签组成的,而标签名是可以自定义的xml解析就是从xml中获取到数据用来限定xml文件中可使用的标签以及属性定义一个元素的格式为: 简单元素:EMPTY: 表示标签体为空ANY: 表示标签体可以为空也可以不为空。原创 2024-07-04 19:59:34 · 746 阅读 · 0 评论 -
Java31-类加载器
如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式//static ClassLoader getSystemClassLoader() 获取系统类加载器。原创 2024-07-02 21:21:10 · 649 阅读 · 0 评论 -
Java30-log日志
跟输出语句一样,可以把程序在运行过程中的详细信息都打印在控制台上。利用log日志还可以把这些详细信息保存到文件和数据库中。原创 2024-07-02 21:12:02 · 186 阅读 · 0 评论 -
Java29-动态代理
无侵入式的给方法增强功能。原创 2024-07-02 21:08:27 · 158 阅读 · 0 评论 -
Java28-反射
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。利用创建的对象调用类里面的内容可以跟,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。原创 2024-07-02 21:04:31 · 993 阅读 · 0 评论 -
Java27-网络编程
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。原创 2024-07-01 21:48:22 · 704 阅读 · 0 评论 -
Java26-多线程(2)
提到池,大家应该能想到的就是水池。水池就是一个容器,在该容器中存储了很多的水。那么什么是线程池呢?线程池也是可以看做成一个池子,在该池子中存储很多个线程。线程池存在的意义:系统创建一个线程的成本是比较高的,因为它涉及到与操作系统交互,当程序中需要创建大量生存期很短暂的线程时,频繁的创建和销毁线程对系统的资源消耗有可能大于业务处理是对系统资源的消耗,这样就有点"舍本逐末"了。针对这一种情况,为了提高性能,我们就可以采用线程池。原创 2024-07-01 21:18:54 · 1166 阅读 · 0 评论 -
Java25-多线程(1)
线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为。原创 2024-06-30 22:17:37 · 688 阅读 · 0 评论 -
Java24-IO(2)
缓冲流,也叫高效流,是对4个基本的FileXxx字节缓冲流字符缓冲流缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据对象的类型和对象中存储的数据。原创 2024-06-30 21:48:19 · 817 阅读 · 0 评论 -
Java23-IO(1)
一切皆为字节,一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。原创 2024-06-30 21:17:21 · 1413 阅读 · 0 评论 -
Java22-File类
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。原创 2024-06-30 16:36:33 · 632 阅读 · 0 评论 -
Java21-异常
我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。,例如年龄负数问题,考试成绩负数问题。在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中没有定义过,例如年龄负数问题,考试成绩负数问题.那么能不能自己定义异常呢?在开发中根据自己业务的异常情况来定义异常类.自定义一个业务逻辑异常:。一个登陆异常类。自定义一个编译期异常: 自定义类 并继承于。原创 2024-06-30 16:26:49 · 936 阅读 · 0 评论 -
Java20-Stream流、方法引用
如果使用Lambda,那么根据“可推导就是可省略”的原则,无需指定参数类型,也无需指定的重载形式,它们都将被自动推导。使用说明:Lambda表达式被类的实例方法替代的时候,第一个参数作为调用者,后面的参数全部传递给该方法作为参数。使用说明:Lambda表达式被对象的实例方法替代的时候,它的形式参数全部传递给该方法作为参数。使用说明:Lambda表达式被类方法替代的时候,它的形式参数全部传递给静态方法作为参数。使用说明:Lambda表达式被构造器替代的时候,它的形式参数全部传递给构造器作为参数。原创 2024-06-30 16:12:37 · 787 阅读 · 0 评论 -
Java19-集合
Collection集合是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现迭代器,集合的专用遍历方式Iterator iterator(): 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素。原创 2024-06-30 15:45:40 · 1065 阅读 · 0 评论 -
Java18-算法
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复的遍历过要排序的数列,一次比较相邻的两个元素,如果他们的顺序错误就把他们交换过来。这个算法的名字由来是因为越大的元素会经由交换慢慢"浮"到最后面。当然,大家可以按照从大到小的方式进行排列。插入排序是一种最简单直观的排序算法,它的工作原理是通过创建有序序列和无序序列,然后再遍历无序序列得到里面每一个数字,把每一个数字插入到有序序列中正确的位置。插入排序在插入的时候,有优化算法,在遍历有序序列找正确位置时,可以采取二分查找。原创 2024-06-30 13:07:39 · 1069 阅读 · 0 评论 -
Java17-时间类、包装类
java.util.Date类 表示特定的瞬间,精确到毫秒。:从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。:将指定参数的毫秒值date,转换成Date对象,分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。原创 2024-06-30 12:54:26 · 1004 阅读 · 0 评论 -
Java16-正则表达式
语法示例:"." : 匹配任何字符。"\d":任何数字[0-9]的简写;"\D":任何非数字[^0-9]的简写;"\s": 空白字符:[ \t\n\x0B\f\r] 的简写"\S": 非空白字符:[^\s] 的简写"\w":单词字符:[a-zA-Z_0-9]的简写"\W":非单词字符:[^\w]//.表示任意一个字符System.out.println("你".matches(".."));//falseSystem.out.println("你".matches("."));原创 2024-06-20 21:28:30 · 1083 阅读 · 0 评论 -
Java15-API
定义:Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。要想使用Math类我们就需要先创建该类的对象,那么创建对象就需要借助于构造方法。因此我们就需要首先查看一下API文档,看看API文档中针对Math类有没有提供对应的构造方法。原创 2024-06-19 22:16:04 · 873 阅读 · 0 评论 -
Java14-抽象、接口、内部类
abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。//接口的定义格式:interface 接口名称{// 抽象方法// 接口的声明:interface// 接口名称:首字母大写,满足“驼峰模式”类与接口的关系为实现关系,即类实现接口,该类可以称为接口的实现类,也可以称为接口的子类。实现的动作类似继承,格式相仿,只是关键字不同,实现使用implements关键字。将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。原创 2024-04-18 16:04:09 · 1038 阅读 · 1 评论 -
Java13-多态、包、权限修饰符、final
多态: 是指同一行为,具有多个不同表现形式。包在操作系统中其实就是一个文件夹。包是用来分门别类的管理技术,不同的技术类放在不同的包下,方便管理和维护。包名的命名规范包名一般是公司域名的倒写。例如:黑马是,包名就可以定义成com.itheima.技术名称。包名必须用”.“连接。包名的每个路径名必须是一个合法的标识符,而且不能是Java的关键字。Java提供了final关键字,表示修饰的内容不可变。final: 不可改变,最终的含义。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。原创 2024-04-13 23:13:26 · 2243 阅读 · 1 评论 -
Java12-继承
我们发现,子类有参数构造方法只是初始化了自己对象中的成员变量score,而父类中的成员变量name和age依然是没有数据的,怎么解决这个问题呢,我们可以借助与super(...)去调用父类构造方法,以便初始化继承自父类对象的name和age。老师类,学生类,还有班主任类,实际上都是属于人类的,我们可以定义一个人类,把他们相同的属性和行为都定义在人类中,然后继承人类即可,子类特有的属性和行为就定义在子类中了。如果子类父类中出现重名的成员方法,则创建子类对象调用该方法的时候,子类对象会优先调用自己的方法。原创 2024-04-13 22:37:15 · 1142 阅读 · 1 评论 -
Java11-ArrayList
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变//下面是空参,有参,get和set方法loop:System.out.println("-----------------欢迎来到学生管理系统-------------------");System.out.println("1:添加学生");System.out.println("2:删除学生");System.out.println("3:修改学生");System.out.println("4:查询学生");原创 2024-04-10 22:53:52 · 972 阅读 · 1 评论 -
Java10-API、String类、StringBuilder、StringJoiner
API (Application Programming Interface) :应用程序编程接口String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!StringBuilder 可以看成是一个容器,创建之后里面的内容是可变的。当我们在拼接字符串和反转字符串的时候会使用到。原创 2024-04-09 16:40:54 · 659 阅读 · 0 评论 -
Java9-键盘录入
2.next(),nextInt(),nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。1.next(),nextInt(),nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。比如:键盘录入123,那么会把123当做int类型的整数返回。next()、nextInt()、nextDouble()这三个配套使用。当代码运行到第二行,会让我们键盘录入,此时录入123。而nextInt是遇到空格,回车,制表符都会停止。原创 2024-04-09 16:19:30 · 330 阅读 · 0 评论 -
Java8-类和对象、封装、private、this、构造方法、static
属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;// 成员方法方法1;方法2;/*手机类:类名:手机(Phone)成员变量:品牌(brand)价格(price)成员方法:打电话(call)发短信(sendMessage)*///成员变量。原创 2024-04-09 11:26:17 · 2055 阅读 · 0 评论 -
Java7-方法
public static void 方法名 ( ) {// 方法体;参数:由数据类型和变量名组成 - 数据类型 变量名 int apublic static void 方法名 (参数1) {方法体;public static void 方法名 (参数1, 参数2, 参数3...) {方法体;注意:方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错方法定义时,多个参数之间使用逗号( ,)分隔public static 数据类型 方法名 ( 参数 ) {原创 2024-04-03 15:48:30 · 939 阅读 · 1 评论 -
Java6-数组
比如:int [] array。原创 2024-04-03 14:45:55 · 791 阅读 · 1 评论 -
Java5-无限循环、条件控制语句、Random
键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根。Random跟Scanner一样,也是Java提前写好的类,不需要关心是如何实现的,只要直接使用就可以了。游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过。条件控制语句可以空着不写,表示每次循环体执行完毕后,控制变量不做任何变化。条件判断语句可以空着不写,如果不写,默认表示true,循环一直进行。可以用在switch和循环中,表示结束,跳出的意思。初始化语句可以空着不写,表示循环之前不定义任何的控制变量。原创 2024-03-27 15:47:09 · 596 阅读 · 0 评论 -
Java4-流程控制语句
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。③如果关系表达式的值为false就执行语句体2。原创 2024-03-26 11:39:21 · 794 阅读 · 0 评论 -
Java3-运算符和表达式
运算符:就是对常量或者变量进行操作的符号。比如: + - * /表达式:用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。比如:a + b 这个整体就是表达式。也叫自动类型提升。就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。(就是小的给大的,可以直接给如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作。如果一定要这么干,就需要加入强制转换。原创 2024-03-26 10:13:47 · 1294 阅读 · 0 评论 -
Java2-注释、关键字、字面量、变量、基本数据类型、标识符
变量就在程序中临时存储数据的容器。但是这个容器中只能存一个值详解:数据类型:限定了变量当中能存储什么类型的数据。如果要存10,那么数据类型就需要写整数类型。如果要存10.0,那么数据类型就需要写小数类型。变量名:其实就是这个容器的名字。当以后想要使用变量里面的数据时,直接使用变量名就可以了。数据值:真正存储在容器中的数据。//定义一个整数类型的变量//数据类型 变量名 = 数据值;int a = 16;原创 2024-03-19 21:31:28 · 850 阅读 · 0 评论 -
Java1-概述
运行的是编译之后的class文件java文件:程序员自己编写的代码。class文件:交给计算机执行的文件。原创 2024-03-18 16:17:30 · 388 阅读 · 0 评论