摘要: Java集合 Map HashMap 实现原理/底层 Java1.8之前:数组加链表 Java1.8之后:当一个链表的长度超过8,且数组大小超过64时,会将链表转换成红黑树存储,查找效率更高,时间复杂度O(log n)。如果长度超过8,但是数组容量不足64,则会选择扩容数组。 定位算法 计算key的 阅读全文
posted @ 2024-09-11 09:56 forest-pan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Java基础 接口和抽象类有什么区别? 在设计动机上有所有不同 接口是自上而下的设计。我们提前设计了一些行为,于是基于这些行为定义一个接口,一些类需要有这些行为,就会实现这个接口。 而抽象类是自下而上的设计。当我们写了很多类时,发现他们有很多的共性,于是把这些逻辑抽象出来,减少代码的冗余 Jvm工作 阅读全文
posted @ 2024-09-11 09:55 forest-pan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Java并发 线程 进程与线程 进程: 进程是程序的一次执行过程,是系统运行程序的基本单位,进程是一个从创建、运行到消亡的动态过程。 线程: 线程是比进程更小的执行单位,一个进程可以产生多个线程。线程的产生或者切换时的负担比进程要小得多。 多个线程共享进程的堆和方法区,而程序计数器、虚拟机栈和本地方 阅读全文
posted @ 2024-09-11 09:54 forest-pan 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 使用 Picocli 创建 Java 命令行程序 Hello World 程序(快速入门) 创建maven项目,使用依赖 <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>4. 阅读全文
posted @ 2024-09-11 09:50 forest-pan 阅读(13) 评论(0) 推荐(0) 编辑
摘要: git clone 查看分支 git branch git branch -a 切分支 git checkout {branch} 拉代码 git pull origin {branch} 提交代码 git add . git commit -m "注释" git push origin {bran 阅读全文
posted @ 2024-09-11 09:48 forest-pan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 实习过程中,使用到了JMeter测试工具,记录一下基本使用。 JMeter 是一个开源的负载测试工具,可以用来测试各种服务的性能,包括 Web 应用、数据库、FTP 服务等。它的界面友好,功能强大,支持多种协议。本文将介绍如何使用 JMeter 进行性能测试。 安装及使用 访问 Apache JMe 阅读全文
posted @ 2024-08-07 10:21 forest-pan 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Redis基础: Redis为什么快 基于内存,内存访问速度比磁盘快 基于Reactor 模式设计开发单线程事件模型和io多路复用 内置了多种优化的数据类型 通信协议实现简单且解析高效 Redis基本数据类型 String 需要存储常规数据的场景:缓存 Session、Token、图片地址、序列化后 阅读全文
posted @ 2024-07-25 16:59 forest-pan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 有效的字母异位词 思路: 数组作为一个简单的哈希表,可以用来记录字符串中每个字符出现的次数。 可以设置一个数组,第一轮遍历s中的字符,字符每出现一次,在数组对应位置+1。第二轮遍历t中的字符,字符每出现一次,在数组对应位置-1。最后遍历作为哈希表的数组,如果都为0,则说明每个字符出现的次数相同,否则 阅读全文
posted @ 2024-07-23 14:15 forest-pan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 线性存储结构 数组 特点: 容量有限;长度固定;提供随机访问 链表 特点: 内存动态管理;但由于存放节点,会占用更多的空间;不提供随机访问 栈 特点: 只允许在一端进行加入(push)数据和移除(pop)数据,按照后进先出的原理进行,push和pop操作均在栈顶进行 队列 特点: 只允许在尾部(re 阅读全文
posted @ 2024-07-18 16:59 forest-pan 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 网络分层模型 osi七层模型 tcp-ip四层模型 应用层 传输层 网络层 网络接口层 与osi七层模型对应为: 应用层 主要提供两个终端设备上应用之间的消息交换的服务。它定义了消息交换的格式。 常见协议有: 结合常见的协议,可以这样理解应用层: 应用层就是专门为特定的应用之间的通信提供服务 比如: 阅读全文
posted @ 2024-07-18 15:45 forest-pan 阅读(7) 评论(0) 推荐(0) 编辑