- 博客(45)
- 收藏
- 关注
原创 Java面试第十三山!《设计模式》
设计模式是可复用的解决方案模板,用于解决软件开发中常见的架构问题。如同建筑领域的经典设计图纸,它们经历了数十年的实践验证。
2025-03-20 16:54:01
987
原创 Java面试第十二山!《Redis缓存》
Redis是Java面试必考的高频知识点,掌握其核心概念、数据结构、缓存问题解决方案及高可用架构,能让你在面试中脱颖而出。
2025-03-20 15:56:46
1117
原创 Java面试第十一山!《SpringCloud框架》
比如你要搭建一个大型游乐场,Spring Cloud 就像是一套完整的搭建工具包,里面有建造过山车轨道的组件(服务发现)、管理游客流量的组件(负载均衡)等等,让你能更轻松地把游乐场搭建起来。
2025-03-19 17:47:32
827
原创 Java面试第九山!《SpringBoot框架》
Spring Boot就像Java开发者的瑞士军刀,掌握它不仅能提升开发效率,更能让你在技术面试中脱颖而出。本文涵盖了从基础概念到面试技巧的全方位内容,建议结合官方文档实践练习。你在使用Spring Boot时遇到过哪些有趣的问题?欢迎在评论区分享交流!翻过这座山,他们就会听到你的故事!
2025-03-07 16:06:25
650
原创 MySQL--共享锁和排他锁
想象图书馆借书场景:当你在阅览区看书时,其他人也可以一起阅读(共享),但管理员整理书架时会在旁边立个"整理中"的牌子禁止他人进入(排他)。这正是共享锁(Shared Lock)和排他锁(Exclusive Lock)的核心思想。
2025-03-04 17:42:19
471
原创 Java面试第八山!《Spring框架》
征服Spring框架必读:解密Java开发核弹级武器。你是否还在被Java开发的复杂配置折磨?是否想彻底搞懂大厂面试必问的IoC、AOP底层玄机?这篇文章将带你直击Spring框架心脏!
2025-03-03 19:57:24
1194
原创 Java面试第七山!《MySQL索引》
回表:通过辅助索引找到主键后,需回主键索引获取完整数据。避免方法:使用覆盖索引(如,若索引包含这两个字段)。理解索引底层原理(B+树结构、存储引擎差异)是优化数据库性能的关键。合理设计索引可让查询速度提升数十倍,而盲目添加索引可能导致写入性能下降。建议结合EXPLAIN分析执行计划,定期监控慢查询日志,实践中灵活运用覆盖索引、最左前缀等技巧。
2025-03-03 19:15:11
1121
原创 Java面试第二山!《计算机网络》!
以上都是我亲身被问到的一些真题,肯定还远远不够,后续会继续补充。希望博客能助力大家在面试过程中过关斩将,成功上岸!有任何疑问,欢迎随时交流。
2025-02-14 15:58:32
1273
原创 Java面试第三山:《反射》!
反射就像给Java代码装了一台“X光机”——,就能在运行时动态查看、修改类的方法、字段等信息。它是框架设计的基石(如Spring的IoC、MyBatis的Mapper代理),也是面试必考的核心知识点。✅:反射的定义、应用场景。
2025-02-12 15:24:46
325
原创 Java面试第四山!《JVM:从原理到实战》
JVM是Java工程师的“内功必修课”,理解其原理不仅能解决线上问题,还能写出更高效的代码。建议结合本地环境动手实验(如调整JVM参数、模拟OOM),加深理解!大功告成!
2025-02-12 11:35:43
857
原创 玩转 Java 并发编程工具:让程序高效 “并行”
集合多个线程的执行结果(如分布式服务启动检查)- 协调阶段性多线程任务(如批量数据处理)Semaphore- 控制资源访问的流量阀门(如数据库连接池)- 高并发读写的高速缓存区黄金法则跨服务协作 → 选CountDownLatch分阶段任务 → 用CyclicBarrier限流场景 → 上Semaphore高频数据操作 → 必用ConcurrentHashMap希望对大家有帮助,共勉!大功告成!
2025-02-10 16:59:41
701
原创 Java面试第五山! 《多线程与线程池》!
线程是程序执行的最小单元。打个比方,我们的电脑就像一个大型工厂,每个正在运行的程序是工厂里的车间,而线程则是车间里的工人。每个工人(线程)都能独立完成一部分工作(任务),多个工人(线程)可以同时工作,提高车间(程序)的生产效率。在 Java 中,创建线程有两种常见方式:继承 Thread 类和实现 Runnable 接口。1. 继承 Thread 类:创建一个类继承 Thread 类,重写其 run 方法,run 方法里就是线程要执行的任务。@Override。
2025-02-10 16:35:42
849
原创 从零开始玩转Kubernetes:探索容器编排的奥秘
Kubernetes 结合 Docker,为容器化应用大规模部署和管理提供强大支持。本文仅介绍基本概念和操作,后续还有集群管理、自动扩缩容等深入内容。希望这篇文章能助你开启 Kubernetes 学习之旅。
2025-02-08 15:42:29
802
原创 从零开始玩转Docker:轻松开启容器化之旅
通过以上内容,相信你已经对 Docker 有了一个初步的了解。Docker 作为容器化技术的代表,在当今的软件开发和运维领域发挥着越来越重要的作用。它不仅简化了应用的部署和管理,还提高了开发和运维的效率。希望这篇文章能帮助你开启 Docker 的学习之旅,后续还可以深入学习 Dockerfile 的编写、容器编排工具(如 Kubernetes)等更高级的内容。
2025-02-08 11:40:09
665
原创 MySQL调优指南及高级SQL技巧
MySQL调优主要分为三个步骤:监控报警、 排查慢SQL、MySQL调优。监控报警:使用工具(如Prometheus+Grafana)监控MySQL,发现查询性能变慢时,及时报警提醒运维人员。排查慢SQL:possible_keys:查询可能用到的索引key:实际使用的索引key_len:实际使用的索引的字节数长度。type:访问类型,看有没有走索引。
2024-10-10 16:23:03
787
1
原创 深入理解Java并发:Future与CompletableFuture详解
在多线程编程中,异步计算是一种常见的需求。其中Future和CompletableFuture是处理异步计算结果的两大核心接口。本文将详细介绍Future和CompletableFuture的概念、使用方法以及它们之间的区别。Future为Java引入了异步计算的概念,而CompletableFuture在此基础上进行了全面升级,提供了更为强大和灵活的异步编程工具集。在进行高并发、高性能应用开发时,合理运用CompletableFuture能够显著提升系统的响应速度和资源利用率。
2024-05-11 19:00:49
3061
原创 数据结构基础:队列与栈
栈,英文名为 Stack,是一种特殊的线性数据结构,其特点是只允许在一端进行插入和删除操作。这一端被称为栈顶,另一端则是栈底。栈的操作遵循后进先出(Last In First Out, LIFO)的原则,就像生活中的一叠盘子,最后放上去的盘子总是最先被拿下来一样。队列(Queue),顾名思义,像现实生活中的排队一样,遵循先进先出(First In First Out, FIFO)的原则。队列有两个端点:队头(front)和队尾(rear)。新元素从队尾加入,旧元素从队头离开,维持着严格的顺序。
2024-05-09 20:39:39
440
原创 进程与线程含义、区别及在操作系统中的意义(简要)
了解进程和线程的区别及其在操作系统中的作用对于系统编程以及面试过程中至关重要。通过合理地使用进程和线程,我们可以开发出更加高效、稳定且易于维护的软件系统。特此记录,希望对大家有帮助!
2024-05-09 20:28:55
989
原创 如何在idea里进行设置实现快捷键自动生成序列化版本号
IntelliJ IDEA 提供了强大的代码生成功能,可以自动为实现了 Serializable 接口的类生成 serialVersionUID 字段。以下为具体操作步骤,希望对大家有帮助!首先,确保你的类实现了 java.io.Serializable 接口。如果还没有,可以手动添加或使用IDEA的“Implement Methods”功能。鼠标点到实现了Serializeable接口的类名上,按下键盘上的Alt+回车,点击Add 'seriaVersionUID' field。
2024-05-06 18:22:57
4786
6
原创 Java中的抽象类与抽象方法
抽象类是一种不能被实例化的类,它的主要目的是作为其他子类的基类,提供一个公共的类型以及一些通用的方法实现。抽象类可以包含抽象方法和非抽象方法(即具体实现方法)。抽象方法是一个只有声明没有具体实现的方法。它没有方法体(即大括号之间的代码),需要由继承它的子类来具体实现。通过上述示例,我们可以看到,抽象类和抽象方法在Java中为面向对象设计提供了强大的抽象能力。抽象类能够定义一组接口(抽象方法)和一些通用实现,而抽象方法则强制子类去实现这些特定行为,这样既保证了代码的结构清晰,又保持了高度的灵活性和扩展性。
2024-05-06 16:39:47
560
2
原创 Excel数据解析
上篇文章我们讲了关于数据导出Excel的方法 这篇继续以Excel为主题 跟大家分享关于将excel中的数据解析的方法 希望能帮助到你们。
2024-03-26 19:43:19
278
原创 java.lang.UnsupportedOperationException异常解决
UnsupportedOperationException异常
2023-08-26 11:27:42
1976
原创 Adobe Premiere Pro CC 2018文件打不开 并且生成crash文件
Adobe Premiere Pro CC 2018
2023-04-16 12:56:38
2328
5
原创 JDK1.8常见的Stream流
java8之后,新增的Stream,配合同版本出现的Lambda,给我们操作集合(Collection)提供了极大的便利。那么,stream流是什么?Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。中间操作,每次返回一个新的流,可以有多个。终端操作,每个流只能进行一次终端操作,终端操作结束后流无法再次使用。终端操作会产生一个新的集合或值。另外,stream不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果。
2023-03-24 20:40:27
463
原创 Git切换分支 更新代码
问题背景:工作过程中遇到这么一个问题 之前没有做过 随手记录一下 通常git上一般有很多分支,我们clone到本地的时候一般都是master分支,但是如果需要切换到其他分支应该怎么做呢?问题解决:1.首先从远程仓库克隆代码,从远端拉取的代码一般都是master分支上的代码。2.克隆完成后进入包内,此时查看本地分支状态。git branch -a 命令 然后就可以看到所有的分支3.切换想切换的分支 用git checkout -b xxx origin/xxx(要切换的分支)4.拉取代码$ g
2022-11-07 20:58:52
6206
3
原创 java 对象创建在循环里和循环外的区别
问题背景:今日在学习时遍历一个对象并存入list, 结果最后都是一样的值,排查之后发现问题出现New对象的位置上, 特此记录下来供大家参考问题根因:java 对象创建在循环里和循环外的区别public class Test { public static void main(String[] args) { List<Student> list =new ArrayList<Student>(); for (int i
2022-03-28 20:42:53
623
原创 IDEA项目能正常启动 但是get/set 方法都是爆红
问题背景:项目中也引入了lombok的依赖,@Data注解也标注在实体类上了, 但所有的get和set方法爆红,项目也可以正常启动问题原因:没有安装lombok插件问题解决:只需在idea上:file—>settings—>plugins---->搜索lombok的插件,install安装即可或者去官网下载,链接附上(Lombok - IntelliJ IDEs Plugin | Marketplace), 稍后重启下IDEA即可...
2022-03-14 18:39:55
6229
5
转载 【Java知识点记录】封装性、getter方法setter方法、以及构造方法的作用
1、封装性(private)首先我们来看一个例子:public class People { int age; String name;}public class Test { public static void main(String[] args) { People people = new People(); people.name = "张三"; people.age = 28; Syste
2022-03-11 20:33:03
2516
6
原创 【Java知识点记录】DAO层、Service层和Controller层的区别
1. Controller层(控制层):接收客户端的请求,然后调用Service层接口控制业务逻辑,获取到数据,传递数据给页面;2. Service层(业务层):接收Controller层的请求,然后调用Dao层,获取到数据,service层也叫服务层,主要负责业务模块的逻辑;3. DAO 层(数据操作层):连接数据库,对数据库进行操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作方法调用流程如图所示(以查询操作为例)Ser
2022-03-11 18:27:40
20538
原创 Git Clone项目的时候报错 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
问题背景:之前在github上拉去代码都是正常的 这一次clone的时候却出错了 在网上百度了一下 找到这个解决方案 随手记录一下解决方案:继续输入命令git config http.sslVerify "false"然后再试试还是不行的话再输入命令git config --global http.sslVerify "false"继续尝试 成功了再次克隆会报错,那就是原先执行clone时的那份文件没删除,删除,然后重新执行git clone命令大...
2022-02-28 20:39:48
1732
原创 Git 拉取仓库代码时出现Please make sure you have the correct access rights and the repository exists.
Git 克隆项目出错
2022-02-24 18:30:43
3949
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人