随笔分类 -  Java知识学习

摘要:注解:也叫元数据,jdk1.5以后的特性,用于对程序的说明,给计算机看的;格式:@注解名称 注释:用于对程序的描述,给程序员看的。 注解的作用: 常用的一些预定义注解: 自定义注解: 格式:public @interface 注解名称 { 属性列表 },上面是一些元注解 本质:注解本质上就是一个接口 阅读全文
posted @ 2021-06-27 08:05 那种意境 阅读(109) 评论(0) 推荐(0)
摘要:Junit单元测试:主要是用于对Java代码进行白盒测试。 Junit使用步骤: @Before:每个方法执行之前先执行,一般用于初始化获取资源等; @After:每个方法执行之后执行,一般用于释放资源等;(不论方法成功与失败都执行) @BeforeClass:当前类执行之前先执行; @AfterC 阅读全文
posted @ 2021-06-24 08:22 那种意境 阅读(66) 评论(0) 推荐(0)
摘要:代理的概念:不直接调用目标类,通过编写一个与目标类具有相同接口的代理类,代理类的每个方法去调用目标类的相同方法,并在调用方法时加上所要添加的功能代码。 作用:可以不用改动目标类代码,且通过配置文件的方式切换是直接调用目标类还是调用代理类。 代理的原理架构图: AOP(Aspect oriented 阅读全文
posted @ 2021-06-20 23:07 那种意境 阅读(73) 评论(0) 推荐(0)
摘要:类加载器:加载类的工具。 作用:JVM虚拟机首先要将类的字节码加载到内存中,然后将.class文件的内容加载到硬盘中然后对它进行一些处理。而类加载器的作用就是把这个.class文件从硬盘中加载到内存中,然后进行一些处理。 系统默认提供三个主要类加载器,每个类负责加载特定位置的类:BootStrap、 阅读全文
posted @ 2021-06-19 17:32 那种意境 阅读(187) 评论(0) 推荐(0)
摘要:枚举的概述:枚举是一种特殊的类,其中每个变量都是该类的一个实例化对象。 为什么要有枚举? 作用:就是要让某个类型的变量取值只能为若干个固定值中的一个,否则编译器就会报错。这样就可以在编译器编译时就控制源程序中填写的值。而普通变量则只能在运行时才发现问题。 1.1 普通的类实现枚举的方式,可以看做是枚 阅读全文
posted @ 2021-06-19 12:03 那种意境 阅读(79) 评论(0) 推荐(0)
摘要:模块化的概述: 阅读全文
posted @ 2021-05-04 10:38 那种意境 阅读(57) 评论(0) 推荐(0)
摘要:反射(框架设计的灵魂)的概述:是指在运行时去获取一个类的变量和方法信息。然后通过这些信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大增强程序的灵活性,程序可以不用在编译期就完成确定,所以可以在运行期进行扩展。 我们通过Class类的对象使用对应类的方法或变量,就是反射操作 通过下图加深对 阅读全文
posted @ 2021-05-03 10:30 那种意境 阅读(78) 评论(0) 推荐(0)
摘要:类加载概述:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载、类的连接、类的初始化这三个步骤完成类的初始化。若不出现意外情况,JVM完成这三个步骤,所以有时也把这三个步骤统称类的加载或类的初始化。 类的加载:主要做的就是将.class文件读入到内存中,并为它创建一个java.l 阅读全文
posted @ 2021-05-02 10:22 那种意境 阅读(59) 评论(0) 推荐(0)
摘要:Stream流:可理解为一条流水线作业,期间要经过一些处理步骤后得到最终结果。它将函数式风格引入Java中。 范例: /** * 案例: * 创建一个集合,存储多个字符串元素 * 把集合中所有以"张"开头的元素存储到一个新的集合 * 把"张"开头的集合中的长度为3的元素存储到一个新的集合 * 遍历上 阅读全文
posted @ 2021-04-30 22:43 那种意境 阅读(93) 评论(0) 推荐(0)
摘要:函数式接口:有且仅有一个抽象方法的接口,接口中可以有default、static、private修饰的非抽象方法。 如何检测一个接口是不是函数式接口呢?通过在接口定义的上方添加@FunctionalInterface注解,若接口是函数式接口则编译通过,否则编译失败。 注:我们自定义的函数式接口,只要 阅读全文
posted @ 2021-04-28 21:56 那种意境 阅读(122) 评论(0) 推荐(0)
摘要:方法引用的概述:为了解决重复编写代码,通过方法引用已经存在的方案处理。 我们从如下的一段文字来理解它的概念: 方法引用符号:为两个冒号:: Lambda表达式支持的方法引用: 常见的引用方式:1.引用类方法;2.引用对象的实例方法;3.引用类的实例方法;4.引用构造器 引用类方法:其实就是引用类的静 阅读全文
posted @ 2021-04-26 07:44 那种意境 阅读(105) 评论(0) 推荐(0)
摘要:接口的组成更新概述: 接口中的默认方法: 格式:public default 返回值类型 方法名(参数列表) {}; 范例:public default void show() {}; 默认方法注意事项: 1.默认方法不是抽象方法,所以不需要实现类重写。但也可被重写,重写必须去掉default关键字 阅读全文
posted @ 2021-04-25 22:26 那种意境 阅读(71) 评论(0) 推荐(0)
摘要:函数式编程思想概述: 通过多线程匿名内部类写法和Lambda表达式写法作对比,分析其标准格式:Lambda三要素—》形式参数、箭头、代码块 Lambda表达式的格式:(形式参数)->{代码块}; 形式参数:如果有多个参数,参数间用逗号隔开;没参数,为空即可; ->:代表指向动作。由英文中画线和大于符 阅读全文
posted @ 2021-04-25 07:43 那种意境 阅读(112) 评论(0) 推荐(0)
摘要:TCP协议原理: 构造方法和常用方法: TCP发送数据的步骤: 1、创建客户端的socket对象(Socket类); 2、获取输出流,写数据; OutputStream getOutputStream(); 3、释放资源。 close(); 发送数据简易代码: TCP接收数据的步骤: 1、创建服务器 阅读全文
posted @ 2021-04-24 18:55 那种意境 阅读(104) 评论(0) 推荐(0)
摘要:UDP通信原理:UDP是一种不可靠的网络协议,它在通信的两端各建立了一个socket对象,但这两个对象只是接收和发送数据的对象,因此对于基于UDP协议的通信双发而言没有客户端和服务器的概念。 Java提供了DatagramSocket类作为基于UDP协议的Socket UDP发送数据步骤: 1.创建 阅读全文
posted @ 2021-04-22 23:00 那种意境 阅读(102) 评论(0) 推荐(0)
摘要:计算机网络的概述:是指将不同地理位置的具有独立功能的多台计算机及外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程的概述:在网络通信协议下,实现网络互联的不同计算机上运行的程序可以进行数据交换。 网络编程三要素:I 阅读全文
posted @ 2021-04-22 07:18 那种意境 阅读(71) 评论(0) 推荐(0)
摘要:线程状态:当线程被创建且启动后,总共包括了6种状态。 线程状态图: Wai Timed_Waiting状态:计时等待,时间到期后或接收到唤醒通知,该状态才会解除 计时等待的两种方式: sleep(long m)方法:在等待m毫秒后,线程睡醒后进入Runnable或Blocked状态; wait(lo 阅读全文
posted @ 2021-04-21 08:00 那种意境 阅读(64) 评论(0) 推荐(0)
摘要:多线程安全:多线程访问了共享的资源,就会产生线程安全问题。 原理:因为多线程会同时对一个资源操作,就会造成数据混乱。比如对同一个数据进行加1操作,三个线程同时对它操作,可能就会出现三次加1是对同一个值也就只是加1的效果,而不是加3的效果。 解决线程安全问题:Java引进了线程同步机制。 有三种方式完 阅读全文
posted @ 2021-04-21 06:54 那种意境 阅读(55) 评论(0) 推荐(0)
摘要:多线程原理:同一时间内,CPU只能处理1条线程,只有1条线程在工作(执行);多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)。如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象。当然若是多个CPU的话就可以同时执行多个线程了。 如下图,在main方法(主线程)中创建一个 阅读全文
posted @ 2021-04-20 21:47 那种意境 阅读(120) 评论(0) 推荐(0)
摘要:标准输入输出流: 打印流:字节打印流、字符打印流 字符打印流: 尤其PrintWriter(Writer out, boolean autoFlush)构造方法,减少了每次调用刷新缓冲区方法。且该打印流的特殊方法println又可实现换行,所以写入文件的三步骤可以一行搞定。 对象序列化流:是将对象保 阅读全文
posted @ 2021-04-18 23:28 那种意境 阅读(48) 评论(0) 推荐(0)