构建Java知识体系(基础篇)
文章平均质量分 90
构建自己的Java知识体系
家乡的落日
博观约取,厚积薄发。拒绝浮躁,保持谦逊。
展开
-
Java基础知识点
面向对象是一种思想,能让复杂问题简单化,面向对象思想程序员不需要了解具体的实现过程,只需要使用特定对象去实现功能即可。面向对象的底层其实还是面向过程,把面向过程抽象成类,然后进行封装,方便我们使用。面向对象是相对面向过程而言,面向对象和面向过程都是一种思想。面向对象是基于面向过程的。面向过程强调的是功能、行为。面向对象:将功能封装进对象,强调具备了功能的对象本身。JDK(Java Development Kit)是Java程序开发工具包,包含JRE和开发人员使用的工具。原创 2024-06-28 16:40:25 · 865 阅读 · 0 评论 -
Java的异常处理体系
ControllerAdvice 注解用于定义全局控制器建议,在 Spring MVC 中,控制器建议由控制器中的 @ExceptionHandler 方法、@InitBinder 方法和 @ModelAttribute 方法组成。①、CheckedException (检查异常 必须在代码中显式处理 使用try catch捕获 或者 在方法上使用 throws 抛出 除了RuntimeException及其子类以外,其他的Exception类及其子类都属于受检查异常 )原创 2024-06-28 16:42:10 · 1306 阅读 · 0 评论 -
Java的IO体系
而编码和解码转换之间是需要遵循规则的,即编码和解码都遵循同一种规则才能将文字信息正常显示,如果编码跟解码使用了不同的规则,就会出现乱码的情况。这意味着在使用"rws"模式打开文件时,不仅对文件内容的更新会被立即写入,还包括文件的元数据,比如文件属性、修改时间等。不同的是,"rwd"模式只要求对文件内容的更新被立即写入,而元数据可能会被延迟写入,这意味着文件的属性信息等可能不会立即更新到磁盘。它们分别属于不同的编码集。文件内容通常指的是文件中存储的实际数据,即由应用程序创建的、用户需要读取或操作的数据。原创 2024-06-28 16:47:42 · 678 阅读 · 0 评论 -
Java的NIO体系
在传统的数据处理流程中,数据从一个位置(如磁盘)读取到操作系统内核缓冲区,再从内核缓冲区复制到用户空间的应用程序缓冲区,然后在某些场景下(如网络传输),数据可能还需要从用户空间复制回内核空间的网络缓冲区以便发送。它可以将一个文件或者文件的一部分映射到内存中,形成一个虚拟内存文件,这样就可以直接操作内存中的数据,而不需要通过系统调用来读写文件。Selector 能够同时监听多个通道,当任何一个通道上发生感兴趣的事件时,Selector 都能及时地通知程序,因此能够有效地实现多路复用,提高系统的并发处理能力。原创 2024-06-28 16:49:09 · 1144 阅读 · 0 评论 -
Java网络编程
Java中的Socket编程涉及两种基本类型:服务器Socket(ServerSocket)和客户端Socket(Socket)。服务器Socket用于服务器端,监听客户端的连接请求并接受连接,而客户端Socket用于客户端,发起连接并与服务器通信。Java的Socket是Java语言提供的一种用于网络通信的机制。Socket允许客户端和服务器之间建立连接,并在连接上进行数据传输。这个工具类似于 linux系统上的 telnet工具 可以帮助我们在Windows系统上检测 远程端口的连通性。原创 2024-06-28 16:49:58 · 497 阅读 · 0 评论 -
Java的泛型机制
Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。泛型是一种参数化类型的机制,它允许在定义类、接口和方法时使用类型参数。通过泛型,可以编写与特定类型无关的代码,使得代码具有更广泛的适用性和重用性。具体体现在以下方面类型安全:泛型通过在编译时进行类型检查,可以在编译阶段发现类型不匹配的问题,减少了运行时出现类型转换异常的可能性,提高了程序的健壮性。代码重用:通过使用泛型,可以编写更加通用的算法和数据结构,使得它们可以适应不同的数据类型,从而提高了代码的重用性。原创 2024-06-28 16:46:17 · 335 阅读 · 0 评论 -
Java的反射机制
JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取类的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。原创 2024-06-28 16:50:49 · 694 阅读 · 0 评论 -
Java注解
下面的例子是使用代理+注解实现对方法入参的非空校验});i ++) {throw new RuntimeException("方法:" + method . getName() + "的参数" + parameters [ i ] . getName() + " 不能为空!");i ++) {原创 2024-06-28 16:56:15 · 916 阅读 · 0 评论 -
图文并茂带你理解Java的SPI机制
项目结构:pom文件。原创 2024-05-22 13:34:31 · 3322 阅读 · 0 评论 -
图文并茂带你理解Java的代理模式
代理模式( Proxy ),给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通常会通过代理对象来为原对象添加额外的功能。代理模式属于结构型模式主要用于处理类或对象的组合。上面是比较正式的书面释义,举个通俗点的例子来帮助理解:周末你躺在床上饿了想吃火鸡面,但是你有点懒,你找你女朋友帮你泡好并端到你面前喂你吃,最后你把火鸡面吃完了,说了句宝宝你真好~这个例子中:你吃了一包火鸡面,是你做的动作。原创 2024-06-01 17:06:06 · 1095 阅读 · 0 评论 -
Java API使用避坑合集
相当于避坑大杂烩、会涉及各种坑,持续更新…原创 2024-05-25 21:31:55 · 431 阅读 · 0 评论 -
Java开发工具类(JDK、Hutool、Guava)
Guava提供了丰富的不可变集合(Immutable Collections)、多值映射(Multimap)、双向映射(BiMap)、表(Table)等数据结构,以及强大的集合操作工具类,如Iterables、Lists、Sets等,这些都大大增强了Java集合框架的功能。Guava的目标是提高Java程序员的生产力,特别是通过减少常见的编程任务中的 boilerplate code(样板代码),同时引入一些Java标准库中没有的功能和改进已有的功能。合理评估并选择真正能带来性能提升的数据进行缓存。原创 2024-05-23 18:06:05 · 1163 阅读 · 0 评论 -
JDK版本特性(JDK8\11\17\21版本)
Oracle官网中JDK版本的说明,Java SE 8、11、17和21是LTS版本。也就是长期支持版本。我们针对这几个版本了解学习下对应版本的新特性。原创 2024-06-01 16:37:49 · 1256 阅读 · 0 评论