- 博客(286)
- 收藏
- 关注
原创 【Java 初级】Java 初级进阶路线
最近很多小伙伴私信我说如何进阶,我就熬夜整理了一个Java 进阶之路的路线图。激流的学习平台里面整理的Java 第一年需要学习的内容,第二年到第三进阶中级需要学习的内容,第三年进阶高级需要掌握的内容,以及后面进阶到资深的路线图。整个布局如下,内容也在不断地更新中。下方我也整理了Java第一年初级需要掌握的内容,内容我也在更新中。
2023-08-31 16:15:17 348
原创 剑指大厂,手撕 Java 八股文
java 知识的汇总贴,包含八股文。知识讲解详细。tip: 此贴为目录贴,定期更新toNew: 时间是最好的答案,它能解决所有问题。坚持!!!
2023-05-30 08:43:23 12705 40
原创 你知道什么是 BitMap 吗?
BitMap(位图)是一种数据结构,用于表示一个特定范围内的二进制位(0或1)序列。在计算机科学中,BitMap通常用于高效地表示大量的布尔值,每个位代表一个布尔值,可以表示存在或不存在、true或false等状态。
2024-03-03 14:52:37 1034
原创 什么是B+树,和B树有什么不同?
B+ 树是一种常用的数据结构,通常用于数据库索引和文件系统中。它是一种多路搜索树,具有以下特点:1. 每个非叶子节点都包含了一定数量的子节点,这使得 B+ 树具有更高的数据存储和检索效率。2. 所有数据都存储在叶子节点上,而非叶子节点只包含索引信息,这有助于减少磁盘 I/O 操作。3. 叶子节点之间通过指针连接,形成一个有序链表,方便范围查询和顺序访问。4. B+ 树的平衡性能保证了在数据插入和删除时树的高效性能。
2024-03-03 14:41:36 1165
原创 你知道什么是堆吗?有什么用处?
堆是一种数据结构,用于存储和组织数据。堆通常用于实现优先队列,其中具有最高(或最低)优先级的元素始终位于堆的顶部。堆分为最大堆和最小堆,最大堆中父节点的值大于或等于其子节点的值,而最小堆中父节点的值小于或等于其子节点的值。堆具有快速的插入和删除操作的优点,通常用于解决一些重要的算法问题。
2024-03-01 12:35:03 872
原创 你知道什么是全双工吗?什么是半双工吗?
半双工(Half Duplex)是一种数据通信模式,允许数据在两个方向上进行传输,但不能同时进行。在半双工通信中,通信的双方可以交替地发送和接收数据,但不能同时进行发送和接收。这意味着当一方发送数据时,另一方只能接收数据,并且在数据传输完成之后才能切换角色。
2024-02-29 14:23:31 908
原创 你知道什么是 CAS 吗?
CAS 是“Compare and Swap”的缩写,指的是一种并发编程技术。CAS 是一种乐观锁技术,用于实现多线程环境下的原子操作。CAS 操作包括三个步骤:比较内存中的值与预期值、如果相等则更新为新值、否则重试。在 Java 中,java.util.concurrent 包中的 Atomic 类和 AtomicReference 类提供了 CAS 操作的实现,例如 AtomicLong、AtomicInteger 等。CAS 可以用于实现非阻塞算法,提高并发性能。
2024-02-29 14:00:12 1121
原创 什么是保护性暂停模式 Guarded Suspension
保护性暂停模式(Guarded Suspension)是一种并发设计模式,用于在多线程环境中实现线程之间的协作和同步。在这种模式中,一个线程在等待某个条件满足时会进入暂停状态,直到条件满足后再继续执行。这种模式通常用于实现生产者-消费者模式或者线程间通信。
2024-02-28 13:52:36 1418
原创 你知道什么是康威定律吗?
康威定律是由计算机科学家马尔文·康威(Melvin Conway)于1967年提出的一个关于组织结构与系统设计之间关系的理论。
2024-02-28 13:45:27 791
原创 系统中文保存后显示问号该如何解决(java+Springboot)
今天遇到一个现场问题,客户侧通过系统在界面保存一条数据,其中数据的title是中文,保存成功后,界面上中文显示一串问号。
2024-02-27 14:08:07 1141
原创 什么是三次握手和四次挥手?
三次握手(Three-Way Handshake)和四次挥手(Four-Way Handshake)是TCP协议中建立和断开连接时的过程
2024-02-27 13:40:20 1042
原创 你知道什么是IaaS、PaaS、SaaS?
IaaS是一种云计算服务模型,提供了基础的计算资源,如虚拟机、存储、网络等,用户可以根据需求按需使用这些资源,而无需购买和维护实际的硬件设备。IaaS服务提供商通常提供灵活的付费模式,按照实际使用量计费,用户可以根据需要扩展或缩减计算资源。
2024-02-27 12:36:23 1196
原创 你知道注册中心如何选型吗?
注册中心通常指的是一个用于管理和协调微服务架构中各个微服务实例的服务。它负责维护服务实例的注册和发现,以确保服务之间能够相互通信。注册中心通常包括服务注册、服务发现、健康检查等功能,是微服务架构中的重要组成部分。
2024-02-27 12:30:33 873
原创 什么是回表查询,如何减少回表次数呢?
MySQL回表查询是指在使用索引进行查询时,MySQL数据库引擎在通过索引定位到数据行后,发现需要访问表中的其他列数据,而不是直接通过索引就能获取到所需的数据。这种情况下,MySQL需要再次访问表中的数据行,这个过程就称为回表查询(Referring to the table)。
2024-02-25 19:47:36 1427
原创 你知道什么是 CRSF 攻击吗?
CSRF(Cross-Site Request Forgery)攻击是一种网络安全攻击方式,攻击者利用用户已经认证过的会话来执行未经用户授权的操作。攻击者通过诱使用户访问恶意网站或点击恶意链接,在用户已经登录的情况下发送伪造的请求,以执行某些操作,如修改用户信息、发起转账等。这样的攻击可以导致用户数据泄露、账户被盗等安全问题。
2024-02-25 13:14:10 1194
原创 带你了解 JIT 优化技术
JIT(Just-In-Time)优化技术是一种在程序运行时动态优化代码的技术。它通过在程序执行过程中将部分代码编译成机器代码,从而提高程序的性能。JIT编译器可以根据程序运行时的上下文信息来优化代码,以适应不同的运行环境和硬件平台。这种技术可以帮助程序在运行时更高效地执行,减少不必要的性能损失。
2024-02-24 21:24:19 1388
原创 你真的了解分表算法吗?
分表可以提高数据库的性能和可维护性。通过将数据分散存储在多个表中,可以减少单个表的数据量,提高查询和操作的效率。此外,分表还可以更好地管理数据,避免单表数据过于庞大导致的性能问题。因此,合理地进行分表设计可以优化数据库的性能和可扩展性。
2024-02-24 13:35:56 874
原创 带你了解拜占庭将军问题(分布式)
拜占庭将军问题是一个著名的分布式计算领域的问题,提出了一个有关分布式系统中节点之间通信可靠性和一致性的困境。问题的背景设想是,在拜占庭帝国的一支军队中,多个将军分布在不同的城市,必须通过消息传递来协调行动。然而,一些将军可能是叛徒,会发送虚假消息来混淆其他将军。
2024-02-23 15:22:30 1257
原创 Redis 为什么要定义 SDS
SDS(Simple Dynamic String)是Redis中的一种动态字符串类型,由Redis自己实现。Redis定义SDS(Simple Dynamic String)而不直接使用C语言的字符串主要是因为C语言的字符串存在一些限制和缺陷,而SDS可以弥补这些问题,提供更好的性能和安全性。常数时间复杂度的长度获取:SDS中存储了字符串的长度信息,因此可以在常数时间内获取字符串的长度,而C语言的字符串需要遍历整个字符串才能获取长度,时间复杂度为O(n)。自动扩展空间。
2024-02-23 14:15:02 919
原创 【Java 工具类 Hutool】类型转换工具类-Convert
在Java开发中我们要面对各种各样的类型转换问题,尤其是从命令行获取的用户参数、从HttpRequest获取的Parameter等等,这些参数类型多种多样,我们怎么去转换他们呢?常用的办法是先整成String,然后调用XXX.parseXXX方法,还要承受转换失败的风险,不得不加一层try catch,这个小小的过程混迹在业务代码中会显得非常难看和臃肿。
2023-08-31 23:05:25 3423
原创 【Java 工具类 Hutool】Hutool 克隆功能的使用
我们知道,JDK中的Cloneable接口只是一个空接口,并没有定义成员,它存在的意义仅仅是指明一个类的实例化对象支持位复制(就是对象克隆),如果不实现这个类,调用对象的clone()方法就会抛出CloneNotSupportedException异常。而且,因为clone()方法在Object对象中,返回值也是Object对象,因此克隆后我们需要自己强转下类型。
2023-08-31 20:58:55 2412 1
原创 【Java 工具类 Hutool】项目中如何引入 Hutool 并正确使用它
这个配置会传递依赖hutool-bom内所有dependencies的内容,当前hutool-bom内的dependencies全部设置了version,就意味着在maven resolve的时候hutool-bom内就算存在dependencyManagement也不会产生任何作用。
2023-08-31 20:23:33 6737 2
原创 【Java 工具类 Hutool】初识 Hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
2023-08-31 19:52:31 241
原创 【Java 中级】体系化学习 Mybatis - 概念 (一)
MyBatis是一种开源的持久层框架,它为Java程序提供了简化数据库访问的方法。MyBatis允许开发人员使用简单的XML或注解来配置和映射数据库操作。它提供了灵活的查询语言和强大的结果映射功能,使得数据库操作更加方便和高效。MyBatis被广泛应用于Java应用程序的数据访问层,特别是与关系型数据库的交互。
2023-08-31 08:22:54 128
原创 【Java 中级】一文精通 Spring MVC - 异常处理(十四)
统一异常处理是指在应用程序中集中处理各种异常的一种机制。它可以帮助开发人员在应用程序出现异常时,统一处理并返回适当的错误响应。
2023-08-30 20:58:59 98
原创 【Java 高阶】一文精通 Spring MVC - 国际化(十三)
国际化(Internationalization)是指将软件、产品或服务设计和开发成适应不同语言、地区和文化习惯的过程。国际化的目标是使产品能够在全球范围内被广泛接受和使用,提供对不同语言和文化的支持。
2023-08-30 20:44:08 243
原创 【Java 中级】一文精通 Spring MVC - 拦截器(十二)
拦截器(Interceptor)是一种在软件开发中常用的概念,它可以在处理请求和响应过程中进行拦截和干预。拦截器通常用于在请求到达目标之前或响应返回给客户端之前,对请求或响应进行预处理或后处理。
2023-08-30 18:09:41 199
原创 【计算机基础】一文搞清楚什么是线程/进程/协程
线程(Thread)是计算机程序执行的最小单位,是进程中的一个独立执行流。一个进程可以包含多个线程,这些线程共享进程的资源,如内存、文件和打开的文件描述符等。线程之间可以并发执行,各自独立地执行不同的任务。
2023-08-28 19:40:31 340
原创 【计算机基础】一文带你了解 Linux
Linux 是一种开源的操作系统内核,也是基于该内核构建的一系列操作系统的统称。它最初由芬兰的林纳斯·托瓦兹(Linus Torvalds)开发,并于1991年首次发布。Linux 内核是一个类 UNIX 的操作系统内核,它提供了操作系统的核心功能,如进程管理、内存管理、文件系统、设备驱动程序等。
2023-08-28 19:34:35 125
原创 【计算机基础】Windows 环境变量
Windows 环境变量是 Windows 操作系统中的一种配置设置,用于存储系统和应用程序需要使用的各种信息。它们是一些具有特定名称的键值对,可以包含路径、文件夹、程序、参数等。环境变量可以在系统级别或用户级别进行设置,并可以被系统和应用程序用来获取和使用相关的配置信息。
2023-08-28 19:27:53 269
原创 【计算机基础】计算机内核原理
计算机内核(Computer Kernel)是操作系统的核心部分,也被称为操作系统内核。它是操作系统的基本组成部分,负责管理计算机的硬件资源和提供各种系统服务,以支持应用程序的运行。
2023-08-28 19:23:05 318
原创 【计算机基础】CPU/内存/磁盘基础概念
CPU 是中央处理器的缩写,全称为 Central Processing Unit。它是计算机系统中的主要组成部分之一,负责执行计算机程序中的指令并进行数据处理。CPU 可以被视为计算机的大脑,它负责控制和协调计算机的各个组件,包括内存、输入输出设备和其他外部设备。CPU 的性能对计算机的整体运行速度和效率有着重要影响。
2023-08-28 19:10:04 777
原创 【Java 中级】一文精通 Spring MVC - 下载 (十一)
在Spring MVC中实现Servlet原生下载方式,以Spring Boot和Vue项目为背景,可以按照以下步骤进行操作...
2023-08-28 14:42:52 77
原创 【Java 中级】一文精通 Spring MVC - 上传(十)
MultipartResolver 是 Spring 框架提供的一个接口,用于处理 HTTP 请求中的多部分(multipart)数据,通常用于上传文件等场景。当客户端发送包含文件上传或其他二进制数据的请求时,请求的内容类型为 multipart/form-data。MultipartResolver 的作用就是解析这种类型的请求,提取其中的各个部分数据。
2023-08-28 12:54:22 206
原创 【Java 中级】一文精通 Spring MVC - JSON 处理(九)
使用@RequestBody和@ResponseBody注解: - 对于处理JSON请求,可以在Controller的方法参数上使用@RequestBody注解。这将自动将请求的JSON数据绑定到方法参数对象中。 - 对于JSON响应,可以在Controller的方法上使用@ResponseBody注解。这将自动将方法返回的对象转换为JSON格式,并作为响应发送回客户端。
2023-08-28 12:40:40 110
原创 【Java 中级】一文精通 Spring MVC - 标签库 (八)
Spring MVC 标签库是一个用于简化 Spring MVC 应用程序开发的标签库。它提供了一组标签,用于在 JSP 视图中生成 HTML 表单、URL、数据绑定等常见的 Web 开发任务。使用 Spring MVC 标签库可以使开发人员更加方便地将后端数据模型与前端视图进行绑定,从而快速构建动态网页。
2023-08-24 20:14:19 623
原创 【Java 中级】一文精通 Spring MVC - 数据验证(七)
SpringMVC 数据验证是指在 SpringMVC 框架中对用户提交的数据进行验证,确保数据的合法性和有效性。通过数据验证,可以防止无效或恶意的数据进入系统,提高系统的安全性和稳定性。
2023-08-23 20:14:32 570 1
原创 【Java 中级】一文精通 Spring MVC - 数据格式化器(六)
SpringMVC 内置数据格式化是指在 SpringMVC 框架中,可以自动将请求参数或响应数据进行格式化。这样可以方便地将数据从一种格式转换为另一种格式,例如将字符串转换为日期对象,或将数字格式化为货币形式等。
2023-08-23 20:03:45 519
原创 【Java 中级】一文精通 Spring MVC - 转换器(五)
转换器是一种用于将一种数据类型转换为另一种数据类型的工具或组件。在编程中,数据类型的转换是常见的操作,例如将字符串转换为整数、将日期对象转换为字符串等。转换器提供了一种方便的方式来执行这些类型转换操作,使开发人员能够在不同的数据类型之间进行转换,并且可以根据需要进行自定义转换逻辑。
2023-08-23 13:04:49 1456
原创 【Java 中级】一文精通 Spring MVC - 转发重定向(四)
**转发**是一种在Web开发中常用的页面跳转技术。它是指将请求从一个资源(例如Servlet或JSP)转发到另一个资源,使得后者能够处理该请求并生成响应。转发通常发生在服务器端,由服务器直接将请求传递给目标资源,而客户端对此过程是不可见的。
2023-08-23 12:50:33 1317
前后端分离项目 【Web图书管理系统 】SpringBoot + Vue + Element UI + Mysql
2023-07-27
前后端分离项目 【中小企业办公自动化管理系统 】SpringBoot + Vue + Element UI + Mysql
2023-07-27
将升序数组转化为平衡二叉搜索树
2023-07-27
非常实用的简历模版.zip
2023-07-12
精美制作精美销售管理平台UI图
2023-07-12
免费下载非常详细的 Mysql 面试知识点
2023-07-11
清新淡雅炫彩创意封面iOS风格工作总结计划ppt模板
2023-07-11
linux上 arthas 的安装教程
2023-07-10
H5编写的植物大战僵尸
2023-07-10
H5实现的2048小游戏
2023-07-10
HTML5开心消消乐小游戏
2023-07-10
项目实战手把手教你搭建前后端分离项目 SpringBoot + Vue + Element UI + Mysql(前端)
2023-07-09
项目实战手把手教你搭建前后端分离项目 SpringBoot + Vue + Element UI + Mysql(后端)
2023-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人