![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java随笔
文章平均质量分 83
Java知识点记录
ヾ草木萤火(≧▽≦*)o
猿在山林
展开
-
举例理解静态代理和动态代理
代理或者在此处贴合情景叫经纪人,经纪人也实现明星接口,可以理解为,经纪人是为明星做代理工作的(做一些工作管理,减轻明星负担),所以代理(或者说经纪人)需要知道明星有哪些技能好做的工作,所以说明星本来要做的工作,现在有代理去分担一部分,唱歌的主要工作还由明星本人来,代理帮助明星做一些其他工作提高效率(可以理解为代理的作用是加强了明星的业务能力)。CGLIB 动态代理通过生成目标类的子类来实现代理,子类继承了目标类的行为,并且可以覆盖或增加新的方法。它可以实现对类的动态代理,即创建目标类的子类作为代理类。原创 2023-08-03 21:39:27 · 101 阅读 · 0 评论 -
Java重点简答题复习整理合集
【思考简答题】1、简述path环境变量的作用。path环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。2、请说说你对JVM的理解。【答案】:JVM是Java Virtual Machine的缩写,全称是Java虚拟机。Java语言的一个非常重要的特性就是跨平台性,而Java虚拟原创 2021-08-11 13:02:05 · 1906 阅读 · 2 评论 -
Java基础题库整理练习附答案(Java基础案例教程1-11章练习题)
Java基础复习题整理原创 2023-06-17 11:51:47 · 1452 阅读 · 0 评论 -
单例设计模式--懒汉式和饿汉式
单例设计模式是一种创建对象的软件设计模式。在单例模式中,只允许存在一个类的实例,并提供一个全局访问点来获取该实例。 以下是一个基于懒汉式的单例模式的示例代码: 在上面的示例中,`Singleton`类的构造函数被设置为私有,这意味着只能在类内部访问。`getInstance()`方法用于获取`Singleton`类的唯一实例。如果实例尚未创建,则在第一次调用`getInstance()`时创建实例;否则,直接返回已经创建的实例。 使用单例模式的好处包括:原创 2023-07-07 22:04:33 · 51 阅读 · 0 评论 -
Java中final与static关键字特点以及使用
final关键字和static关键子的特点和使用原创 2023-05-27 14:55:11 · 708 阅读 · 0 评论 -
Java接口与多态
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法(功能),包含抽象方法 (JDK7及以前) , 默认方法和静态方法(JDK8)私有方法(JDK9)。接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象!接口用关键字interface修饰public interface 接口名 {} }注意事项接口中,有多个抽象方法时,实现类必须重写所有抽象方法。原创 2023-05-25 19:43:57 · 57 阅读 · 0 评论 -
Java中的抽象类与接口
接口中,有多个抽象方法时,实现类必须重写所有抽象方法。如果实现类继承了父类,这个父类是一个抽象类时,我们还需要再重写抽象类中的所有抽象方法。使用abstract关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。只有方法的声明,没有方法体的方法,就是抽象方法。原创 2023-05-27 14:34:29 · 44 阅读 · 0 评论 -
Java多态的总结以及相关的练习
举个例子:设定一个抽象的people为父类,Teacher,worker,student都继承people,即为people的子类。people(人类)在学校里为身份为student(学生)或者Teacher(教师),在工地上身份可以是worker(工人),而学生、教师、工人等这些人归根结底都是人类,即学生、教师、工人不同的状态可以理解为people的多态,而每个不同的子类所特有的成员方法就是多态的表现。这就是多态。例:父类(动物类)指向子类(狗类)原创 2023-05-22 19:52:25 · 677 阅读 · 1 评论 -
Java中的浅拷贝和深拷贝
浅拷贝(Shallow Copy)是指创建一个新的对象,新对象的属性和原对象的属性都是相同的,但是两个对象引用的是同一个对象。也就是说,新对象的属性值只是原对象属性值的一个副本,但是两个对象的属性引用的是同一个对象。因此,当原对象的属性发生变化时,新对象的属性也会发生变化。深拷贝(Deep Copy)是指创建一个新的对象,新对象的属性和原对象的属性都是相同的,但是两个对象引用的是不同的对象。也就是说,新对象的属性值和原对象的属性值都是一个副本,但是两个对象的属性引用的是不同的对象。原创 2023-05-30 20:27:09 · 173 阅读 · 0 评论 -
Java内部类
将一个类A定义在另一个类B里面,里面的那个类A就称为,B则称为。内部类分为:成员内部类、局部内部类、匿名内部类。原创 2023-05-22 18:53:08 · 65 阅读 · 2 评论 -
Java中数组最值以及元素反转的实现
定义两个变量,保存数组的最小索引和最大索引。实现反转,就需要将数组最远端元素位置交换。最小索引++,最大索引--,再次交换位置。最小索引超过了最大索引,数组反转操作结束。数组最远端的元素互换位置。两个索引上的元素交换位置。原创 2023-05-22 18:57:02 · 48 阅读 · 1 评论 -
Java中关于String类型以及StringBuilder的使用区别以及相关练习记录
(1)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字。(1)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的set方法的名字。现有如下文本:"Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的"。(2)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"原创 2023-05-25 14:02:03 · 540 阅读 · 0 评论 -
Java的线程中等待唤醒机制以消费者问题
Java的线程中等待唤醒机制以消费者问题原创 2023-06-12 21:32:55 · 46 阅读 · 0 评论 -
Java的网络编程(TCP/UDP)
首先,想要理解好网络编程,我们需要先理解信息在网络中是如何传递的。这便不得不提一提计算机网络结构中的五层模型。在计算机网络中,信息是通过五层模型中的不同层次进行传递的。五层模型分别为物理层、数据链路层、网络层、传输层和应用层。下面简单介绍一下信息在网络中的传递过程:物理层:物理层是网络模型中最底层的层次,负责将比特流转换成电信号或光信号,并将其发送到网络中的其他设备。物理层的主要任务是定义电气、机械、功能和规程接口,以便将数据传输到其他设备。一般都是肉眼可见的物理介质,比如双胶线、光纤、同轴电缆等等。数据链原创 2023-06-12 20:32:24 · 497 阅读 · 0 评论 -
Java中的反射
总的来说,Java反射机制是通过Class对象来获取类的信息并操作类的属性、方法和构造函数等,提供了一种强大的编程方式,使得程序可以在运行时动态地获取类的信息并进行相应的操作。在Java中,每个类都有一个对应的Class对象,Class对象包含了类的所有信息,如类名、方法、属性、构造函数等。获取Class对象后,就可以通过Class类的方法来获取类的信息,如获取类的方法、属性、构造函数等。获取类的信息后,就可以通过反射机制来操作类的信息,如调用类的方法、获取类的属性值等。原创 2023-06-17 16:01:01 · 50 阅读 · 0 评论 -
Java中的Lambda表达式以及Stream流
Lambda 表达式是 Java8 新增的重要特性,Lambda 使 Java 具有了类似函数式编程的风格,其实质也是由编译器根据表达式推断最终生成原始语法的字节码方式。Lambda表达式的使用与有关,函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现。Lambda表达式是Java 8引入的一种新特性,它是一种简洁、灵活的函数式编程方式,可以用来替代匿名内部类。Lambda表达式的使用规则如下:或。其中,原创 2023-06-17 15:44:30 · 834 阅读 · 0 评论 -
Java中用Date类与Calender类,相关练习
(4)通过键盘录入日期字符串,格式(2015-10-20) 如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是2015年的第 293 天"如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是2015年的第 293 天"(1).已知日期字符串:"2015-10-20",将该日期字符串转换为日期对象。(1)已知日期字符串:"2015-10-20",将该日期字符串转换为日期对象。(2).将(1)中的日期对象转换为日历类的对象。调用上边几种方法进行实现。原创 2023-05-26 15:05:09 · 208 阅读 · 0 评论