- 博客(16)
- 收藏
- 关注
原创 MySQL深入复习学习笔记基础强化(上)
SQL(Structured Query Language):用于管理关系型数据库的标准语言,支持数据的查询,插入,更新,删除等操作。MySQL:目前最流行的开源关系型数据库管理系统,使用 SQL 作为交互语言。
2025-09-17 16:48:20
716
原创 Spring Cloud Gateway基础复习
随着微服务架构的兴起,传统单体应用被拆分为多个小型、独立部署的微服务,每个服务专注于特定功能。这虽然提高了灵活性和可扩展性,但也带来了服务间通信、安全、监控等挑战。为了解决微服务架构的痛点(客户端代码负责/每个服务要重复鉴权,限流,日志等),API网关应运而生。
2025-09-12 15:01:01
909
原创 JAVA NIO学习笔记基础强化学习总结
通过前文的学习,我们用java.net包下的API实现了同步阻塞IO模型,我们用java.nio包下的API实现了同步非阻塞IO和IO多路复用模型。Java NIO(New I/O 或者是 none-block IO)是 Java 1.4 引入的非阻塞 I/O 模型,旨在解决传统阻塞 I/O(BIO)在高并发场景下的性能瓶颈。这些API的底层在JVM层面包装的是对一些系统函数的调用,供给开发者使用的API。
2025-09-07 22:23:19
729
原创 网络通信 IO 模型学习总结基础强化
本文摘要: 网络通信采用分层设计(如OSI七层和TCP/IP四层模型)以降低复杂度、提高可维护性和实现标准化互操作。核心层包括物理层(比特流传输)、数据链路层(帧组装)、网络层(IP路由)、传输层(TCP/UDP端到端传输)及应用层(HTTP等协议)。Socket作为网络编程接口,屏蔽底层协议细节。I/O模型方面,同步阻塞I/O效率低,同步非阻塞需轮询检测,I/O多路复用(select/poll/epoll)通过内核事件通知机制显著提升性能;异步I/O由内核全权处理但Linux支持不足。当前高并发场景主要采
2025-09-06 21:42:59
706
原创 RPC框架的基本概念原理
远程过程调用,定义了一台计算器上的程序去调用另一台计算机上的程序,在java中常用于微服务中跨服务调用函数。1. 即把远程实现搬到了本地,在效果上远程调用和本地调用没有差别。2. 使用CS模式,客户端发器请求并且传递参数,服务端接收请求参数后执行,并将结果返回。3. 底层网络通信细节对上层开发者屏蔽,上层开发者无需为这一交互过程做额外的编码,做到应用无侵入。Motan(微博内部适用,java)Tars(腾讯内部,C++ 到 多语言)grpc(google,多语言)
2025-09-04 15:55:44
539
原创 JVM原理学习笔记总结基础强化(上)
JDK , JRE , JVM 是 Java 生态中三个核心概念,它们共同构成了Java程序的运行环境。1. JDK():Java 完整的开发环境,包含了和开发工具(比如javac,将java编译成字节码文件)和扩展类库(javax*,org.*),开发者使用 JDK 编写,编译和调试 Java 程序。2. JRE(): 运行 Java 程序所需的最低环境,包含 JVM 和 核心类库(java.lang,java.util),它为程序提供运行时支持,但不包含开发工具。3. JVM(
2025-08-18 16:31:03
657
原创 JDK源码学习总结复习笔记基础强化(下)
1. wait 必须在持有锁的时候调用2. notify 不会立即释放锁,而是在当前同步块退出时才触发竞争3. 等待队列中的线程是被动等待,不会消耗CPU。
2025-08-14 10:33:22
700
原创 JDK源码学习总结复习笔记基础强化(中)
HashMap基于哈希表的Map接口实现,以key-value形式存储(键值对),是线程安全的类,key,value都可以是null。jdk1.7中内部数据结构是数组+链表jdk1.8+中内部数据结构是数组+链表/红黑树1. jdk1.8 使用了 红黑树,其目的就是为了在哈希冲突特别多的情况下 提高查询的性能。2. 允许 key value 为null ,value可以重复3. 非线程安全4. 无序的。
2025-08-11 22:18:08
778
原创 JDK源码学习总结复习笔记基础强化(上)
arrayList可以存放null。arrayList本质上就是一个数组。arrayList区别于数组的地方在于能够自动扩展大小,其中关键的方法就是gorw()方法。arrayList由于本质是数组,所以它在数据的查询方面会很快,而在插入删除这些方面,性能下降很多,要移动很多数据才能达到应有的效果。
2025-08-09 17:41:12
614
1
原创 Maven知识点总结复习
Maven是一个强大的java项目构建工具,基于POM(项目对象模型)文件。Maven是一种声明式的项目管理工具,通过在POM中配置“who”,“what”,“where”等信息,即可满足编译,测试,打包,发布等项目构建需求。综上所述,平时我们使用和配置的POM其实大致是由四个层次组成的:超级POM:所有POM默认继承,只是有直接和间接之分。父POM:这一层可能没有,可能有一层,也可能有很多层。当前pom.xml配置的POM:我们最多关注和最多使用的一层。有效POM。
2025-08-07 16:23:26
737
原创 经典业务类算法学习总结(下)
安排某些任务的执行所采取的算法和策略。常见调度策略:(1)按先后顺序调度与上文的淘汰算法中的FIFO一样。(2)按优先级调度按某个维度做优先级排队,优先级别高的优先处理,允许插队。消息分级处理,多个维度之间可以组装成1个,优先级高的key加入时,可插队保障其位置,永远保持有序性。每次获取的是优先级最高的。因此可以选择TreeMap,因为TreeMap内部保障了key的有序性,只要根据业务设置合理的key即可。(3)按某个时间点来调度(定时调度)不排队,每个任务都有自己的约定时间。
2025-08-05 20:18:57
781
原创 设计模式学习总结
指一套被反复使用,经过分类编目的代码设计经验的总结,是在不同场景下编码的最佳实践,以解决代码的复用性,扩展性,可读性,可维护性等问题。
2025-07-31 17:28:18
781
原创 【JAVA基础 位运算】一文搞懂JAVA位运算 保姆级
双目运算符:针对两个操作数(或变量)进行运算的运算符总共有种:按位与按位或按位异或按位取反(这些都是双目)>右移>>>无符号右移(这些都是单目)位运算符连接的操作数是 数值类型(二进制)在进行位运算的时候会把数据转换成二进制位 且全部都是二进制的补码形式。
2025-01-12 20:38:46
1426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅