自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈平安安的博客

26届双非一本软件工程学Java的小陈 ,立志秋招月薪过万!!!

  • 博客(14)
  • 收藏
  • 关注

原创 Git版本控制

​WebSocket 是一种全双工通信协议,让客户端(比如浏览器)和服务器之间能够保持实时、持续的连接。和传统的 HTTP 请求-响应模式不同,WebSocket 是一条**“常开的隧道”**,连接的双方可以随时发送和接收数据,而不需要不断建立和关闭连接。HTTP 就像点外卖: 每次下单(请求)- 到货(响应)都是一次独立的操作,完成后连接关闭。WebSocket 像是打电话:你打通了电话(建立连接),可以随时聊天(双向通信),直到挂断(关闭连接)。​新建。

2025-07-26 21:55:18 702

原创 Maven学习

1. 02工程需要使用domain包下的实体类但是没有2.domain包在03工程中3.只需要在02工程中的POM文件中引入03工程的依赖坐标(该坐标在03工程的POM文件下可以找到)4.但是此时你maven编译02工程会报错(03工程的依赖找不到)(因为本地仓库没有03工程依赖)5.对03工程进行install可以看到03工程的依赖可以安装到了本地仓库,此时可以运行02工程了依赖具有传递性 依赖的冲突性依赖因为有传递性,所以会导致依赖冲突的问题(依赖多个版本的依赖,不确定用哪个)可选依赖可选依赖是隐藏当前

2025-07-23 21:50:58 1205

原创 Mysql锁和存储引擎

只能读不能写不加锁加锁sql语句备份语句不在mysql执行是一个工具在window命令行执行就可以了备份时候指定 用户名 和密码 和备份数据库 和备份存储的位置总结。

2025-05-08 22:49:44 307

原创 websocket

1.轮询 2.长轮询3.SSE(server-sent event):服务器发送事件WebSocket是一种基于TCP连接上进行全双工通信协议HTTP既不是全双工也不是半双工:允许数据在两个方向同时传输:允许数据在两个方向传输,但是统一时间段内只允许一个方向传输响应码101表示将协议切换为websocket。

2025-03-31 11:23:43 353

原创 Java网络编程篇

TCP/IP 协议详解TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的核心协议族,定义了计算机之间如何通信。它采用分层模型,每层负责不同的功能,共同完成数据传输。1. TCP/IP 四层模型TCP/IP 层主要协议功能应用层提供应用程序间的数据交互(如浏览器访问网页、邮件发送)。传输层TCP, UDP确保数据可靠传输(TCP)或快速传输(UDP)。网络层负责寻址和路由,将数据包从源主机发送到目标主机(如 IP 地址寻址)。

2025-03-24 19:34:23 850

原创 Java多线程篇

参考回答在JDK中的Thread类中的枚举State里面定义了6中线程的状态分别是:新建、可运行、终结、阻塞、等待和有时限等待六种。关于线程的状态切换情况比较多。我分别介绍一下当一个线程对象被创建,但还未调用start方法时处于新建状态,调用了start方法,就会由新建进入可运行状态。如果线程内代码已经执行完毕,由可运行进入终结状态。当然这些是一个线程正常执行情况。如果线程获取锁失败后,由可运行进入Monitor的阻塞队列阻塞,只有当持锁线程释放锁时,会按照一定规则唤醒阻塞队列中的阻塞。

2025-01-19 20:43:08 1593

原创 Java集合篇

元素可以重复数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。现在假如,我们通过arrar[1],想要获得下标为1这个元素,但是现在栈内存中指向的堆内存数组的首地址,它是如何获取下标为1这个数据的?分析ArrayList源码主要从三个方面去翻阅:成员变量,构造函数,关键方法以下源码都来源于jdk1.8底层数据结构ArrayList是动态数组的数据结构实现LinkedList是双向链表的数据结构实现操作数据效率。

2025-01-17 14:13:29 1578

原创 Java消息中间件篇

另一种方法是安装RabbitMQ的死信插件,简化配置,在声明交换机时指定为死信交换机,并设置消息超时时间。主节点处理所有操作并同步给从节点,若主节点宕机,从节点可接替为主节点,但需注意数据同步的完整性。通过业务唯一标识检查数据库中数据是否存在,若不存在则处理消息,若存在则忽略,避免重复消费。使用仲裁队列,主从模式,基于Raft协议实现强一致性数据同步,简化配置,提高数据安全性。扩大队列容量,使用RabbitMQ的惰性队列,支持数百万条消息存储,直接存盘而非内存。提高消费者消费能力,如使用多线程。

2025-01-14 20:53:04 497

原创 Java微服务篇

候选人自定义Ribbon负载均衡策略有两种方式:创建一个类实现IRule接口,这将定义全局的负载均衡策略。在客户端配置文件中指定特定服务调用的负载均衡策略,这将仅对该服务生效。候选人服务雪崩是指一个服务的失败导致整个链路的服务相继失败。服务降级:在请求量突增时,主动降低服务的级别,确保核心服务可用。服务熔断:当服务调用失败率达到一定阈值时,熔断机制会启动,防止系统过载。候选人我们项目中使用了Seata的AT模式来解决分布式事务问题。AT模式通过记录业务数据的变更日志来保证事务的最终一致性。

2025-01-14 15:13:49 810

原创 JVM篇.

问题回答程序计数器:线程私有的,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。javap -verbose xx.class 打印堆栈大小,局部变量的数量和方法的参数。类似于计算机组成原理中的中断后的恢复依赖于PC回复线程假如线程1执行到第10行时间片被线程2夺走了则pc会记录线程1运行到第10行当线程2时间片走完后走线程1 的时候则回直接从第10行开始运行而不是第一行java虚拟机对于多线程是通过线程轮流切换并且分配线程执行时间。

2025-01-12 20:23:49 2038

原创 Redis篇

嗯,我想一下。缓存穿透是指查询一个一定不存在的数据,由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它。

2025-01-11 19:38:22 875

原创 设计模式篇

在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。这样的例子还有很多,如找领导出差报销、生活中的“击鼓传花”游戏等。

2025-01-10 21:03:32 820

原创 SSM框架篇

候选人Spring实现事务的本质是利用AOP完成的。它对方法前后进行拦截,在执行方法前开启事务,在执行完目标方法后根据执行情况提交或回滚事务。

2025-01-10 12:21:45 410

原创 MySQL篇

1.聚合查询2.多表查询3.表数据量过大查询4.深度分页查询表象 :页面加载过慢,接口压测响应时间过长(超过1s)

2025-01-09 12:39:02 263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除