- 博客(135)
- 资源 (1)
- 收藏
- 关注
原创 【退役之重学Java】关于类加载机制的简介
方法区中的元数据对于Java虚拟机的运行和类加载过程至关重要,它们帮助虚拟机理解和执行类文件中的代码逻辑。同时,方法区的元数据也支持Java的反射机制和动态代理等高级特性的实现。方法区(Method Area)是Java虚拟机内存模型中的一个重要组成部分,主要用于存储类的元数据信息。总言之,JVM 通过 类加载器 将字节码文件 加载到 JVM 中,此时会在。中创建与类对应的元数据,注意类加载器由 JVM 自身管理维护。
2024-05-23 10:59:13 142
原创 【退役之重学Java】JVM 内存模型和 GC 简述
S0 和 S1 交替使用,比如,S0 和 Edge 一起做完一次 GC,就把存活的对象复制到S1,并清空 S0 和 Edge,下一次GC 就用 S1 和 Edge 做,把存活下来的对象复制到 S0,并清空 S1 和 Edge。存活六次以上young GC 的对象放到 old 区。
2024-05-22 13:24:08 74
原创 退役之重学Java】关于 == 和 equals()的理解
引用类型的数据,存储的是地址值,由地址值指向具体值。其实很好理解啦, == 就是比较两个变量。这样理解,equals 方法分为两种情况。所以,== 比较两个变量最表层的值。基本数据类型的变量直接存储数据。
2024-05-20 14:16:53 183
原创 【退役之重学Java】关于 Seata 控制分布式事务
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
2024-05-19 19:32:19 806
原创 【退役重学Java】关于 Sentinel 与服务熔断熔断
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度。
2024-05-19 17:06:10 205
原创 【退役之重学Java】关于 Gateway
Gateway 是 Spring cloud 的一个全新项目,基于 Spring 5 、Spring Boot 2 和 Project Reactor等技术开发的网关是为微服务架构提供一种简单有效的统一的 API 路由管理方式是替代 Zuul性能更佳,Gateway 是基于进行开发的。
2024-05-18 22:52:24 381
原创 【退役之重学Java】关于Spring
spring boot + spring + spring mvc + mybatis + XXX 之类的技术去进行开发,后续很多配置和定义的一些繁琐的复杂的工作就免去了,自动装配一些的一些功能,自动给你把一些事情干完了,不需要你去做。
2024-05-17 21:41:16 740
原创 【退役之重学Java】ThreadLocal
弱引用的 ThreadLocal 会被回收,对应的 value 在下一次 ThreadLocalMap 调用 set,get,remove 中的任一方法时会被清除,从而避免内存泄漏。事实上,在 ThreadLocalMap 中的 set/getEntry 方法中,会对 key 为 null (即 ThreadLocal 为 null)该方法一次探测下一个地址,直到有空的地址后插入,若整个空间都找不到空余的地址,则产生溢出。ThreadLocalMap 使用。来解决 hash 冲突。
2024-05-12 23:18:35 310 1
原创 【退役之重学Java】Redis 高并发与高可用
sentinel,哨兵。是 Redis 集群架构中非常重要的一个组件,主要功能如下集群监控,负责监控 Redis master 和 slave 进程是否正常工作消息通知,如果某个 Redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员故障转移,如果 master node 挂掉了,会自动转移到 slave node 上配置中心,如果故障转移发生了,通知client 客户端新的 master 地址哨兵本身也是分布式的,作为一个哨兵集群去运行,互相协同工作。
2024-05-11 19:57:37 1203
原创 【退役之重学Java】关于 Redis
Redis 基于reactor 模式开发了网络时间处理器,这个处理器叫做文件事件处理器,file event handler。文件事件处理器是单线程的,所以redis 为单线程模型,采用IO 多路复用机制同时监听多个socket,根据socket上的时间来选择对应的事件处理器来处理这个时间。如果被监听的socket 准备好执行accept、read、write、close 等操作的时候,跟宝座对应的文件事件就会产生,这个时候文件事件处理器就会调用之前关联好的事件处理器来处理这个事件。
2024-05-10 21:36:36 440
原创 【退役之重学Java】如何开发一个消息队列中间件
一、考虑可扩展性分析消息队列中的消息数量是不确定的,有时一两万个,出现流量高峰甚至消息积压的时候,就会有上百万、千万的消息在队列中。所以,为了增加系统的稳定性,消息队列需要具备快速扩容的能力实现采用分布式系统设计,将消息队列的每一个topic 进行分区,每一个分区放一个机器需要扩容,就增加分区的数量,进行数据迁移,这样就可以进行快速扩容了二、考虑持久化分析要保证机器重启或宕机时,消息队列的数据不丢失,就需要实现持久化实现消息队列的持久化可以通过两个组件实现:队
2024-05-10 15:16:20 191
原创 【退役之重学Java】如何保证从消息队列里拿到的消息顺序执行
MySQL binlog 同步数据,比如大数据team。在MySQL中进行增删改查,将其 binlog 发送到 MQ 里面,到消费出来执行,这里就必须要保证其顺序执行,不然数据库就会错乱。
2024-05-09 22:37:35 131
原创 【退役之重学Java】为什么要使用消息队列
总的来说,RabbitMQ 在可靠性、灵活性、性能和扩展性等方面具有优势,适用于各种不同规模和复杂度的消息传递场景。
2024-05-09 18:31:04 627
原创 【退役之重学Java】莫名奇妙的问题集锦
openFeign找不到服务解决: 依次重启注册中心,服务提供者,服务使用者过了一段时间,又找不到服务解决: 将 eureka 恢复为自我保护模式404解决: 设置新的 Feign 接口之后,需要手动重启服务
2024-04-10 00:43:43 192 1
原创 【退役之重学Java】pom文件没啥问题但报红
复制过来的pom文件,有几处版本号报红刚开始以为是版本号的问题,但是按道理从大佬那里复制过来的,应该不会有问题,还是检查了一下:把项目压缩发给师傅,师傅哪里没报错好吧,我已经猜到了为什么……清理缓存,重启!记录一下这次的遭遇,遇事不决,清缓重启!
2024-04-07 16:01:00 228
原创 【快捷键】好用的快捷键集锦
windows 10alt + tab,切换窗口ctrl + shift + tab 切换内部窗口ctrl + 数字 切换浏览器的内部窗口IDEActrl + shift + enter 自动补全,并进入下一行alt + enter 自动导包ctrl + d 复制当前行至下一行
2024-04-06 16:41:10 193
原创 【退役之重学Java】关于lambda表达式和函数式接口
使用 lambda 表达式为作为实参,传递给形参,形参为函数式接口,此lambda表达式没有指定类型,如何能匹配函数式接口的形参类型呢?
2024-04-04 21:51:52 179
原创 【退役之重学前端】JavaScript 类、构造器、原型的关系
ES6中类的概念,我之前花了较长的时间学习Java,所以对类感觉很亲切。我并不满足仅仅会使用,让我们一起深究一下 JavaScript 中的类吧。
2024-02-18 09:58:43 364
原创 【退役之重学前端】使用vite+vue3+vue-router,重构react+react-router前后端分离的商城后台管理系统
实战是快速掌握技术的好方法
2024-02-16 10:54:17 1255
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人