自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿文的专栏

技术向java

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

原创 JAVA实现存在更新不存在插入与及多余的进行删除(三)

通过这个ApplicationContextAware获取到所有bean服务,肤浅地以实体类拼凑一下服务名,找到bean服务就作为这个调用的bean服务。

2023-08-03 16:46:13 1151

原创 JAVA实现存在更新不存在插入与及多余的进行删除(二)

java

2022-07-27 17:21:00 2354

原创 JAVA实现存在更新不存在插入与及多余的进行删除

合并插入与删除

2022-07-21 17:01:01 2242

原创 说下对mysql MVCC的理解

readView作为读视图,存放查询那一刻读视图快照,与行记录的trx_id做比较,小于readView的trx_id则记录可见,大于等于readView的trx_id的除了与readView的creator_trx_id一致的可见外,其余不可见。然后我们要知道,mysql每行记录,都有隐藏的db_trx_id(事务id),db_roll_point(回滚到undoLog的id),如果该行没主键则还会有个隐藏主键字段。依赖这两点,可以做到在并发读写事务的时候,既保证数据的安全性,又保证一定的性能。

2025-07-15 13:37:25 244

原创 关于零拷贝的认知

概念理清

2024-06-11 11:08:24 354

原创 由BIO与NIO的区别到select、poll、epoll的粗浅理解

莫慌,再去getIO一下嘛,由于是非阻塞的,getIO即刻又返回了,可能还是没有结果,那就继续get下去,总有结果的。NIO是可以同步非阻塞IO,N是new的缩写,它监听请求,IO的读写非阻塞,而是加入了通道(channel)这个概念。是的,如果硬是要获取某个请求的读写IO来说,其实是阻塞的,BIO就是阻塞一到到结果返回,NIO虽然不阻塞直接返回了,如果为空,还是要不断循环去获取,说白了还是阻塞。BIO是同步阻塞IO,B是block的缩写,它监听请求,阻塞在那里,直到收到读或写,才继续往下执行。

2024-05-17 18:54:41 428

原创 再论无为而治

比如你是大领导,底下一堆有为下属,他们在做有为之事,你就要反着来做无为之事(做精炼、做熵减,有问题处理问题(处理掉问题亦是无),无问题精减工作),我好不容易做了1、2、3..10这么多事,结果就被你这个领导砍掉了3-4件,又3-4件精炼揉合成了1件事。这过程绝对是痛苦的。无为的反着来做就是要拥有,要勤力,要有学识、要有经验,要高工资,这个过程也绝对是痛苦的。真实应该是别人发挥了,你就浓缩他熵减它,别人不发挥了,你就督促他、引导他,绝对是痛苦的,而不是轻松的,躺平的。你有,无为就是减,你无,无为就是加。

2023-11-09 17:21:57 261

原创 关于需求管理之我见

需求分析与设计、背锅

2023-10-26 18:54:33 178

原创 梳理下我自已对Reactor与及IO多路复用的select\poll\epoll的理解

它的核心是Reactor与资源处理器。非阻塞同步的意思就是通过Reactor的IO多路复用(select或poll或epoll)实现非阻塞监听,然后监听到连接后,将数据从用户态搬运到内核态则是同步,业务处理完将数据从内核移到用户也是同步。所以总的来说,Reactor先是通过IO多路复用,非阻塞地监听到是否有请求连接过来了,再分发到资源处理器负责处理具体的(连接、读、写)事件。具体的流程是系统调用监听请求,判断请求是连接、读或写。它是非阻塞同步的,这里的非阻塞同步是指,监听请求这个过程非阻塞,

2023-09-05 17:05:10 1085

原创 两个类文件,实现根据返回的id显示对应的人员信息增强返回

这个AOP在@Controller方法返回前,校验返回的实体是固定的泛型且泛型参数对应的实体类中存在被@BaseId注解的变量,就基于这个变量生成一个人员信息实体,加进这个返回实体中返回给前台。比如第一次IO时就连接查出对应的返回实体,或者本来不需要后续又需要这些实体就又要补上代码。直接返回给前台时,前台可能要根据你这个user_id作为参数,再请求一次后台,获取对应的人员信息实体,以作人员信息展示。后台与前台交互时,由于后台存放的原始信息可能就是一些id或code,要经过相应的转换才能很好地在前台展示。

2023-09-05 16:13:36 236

原创 2023年中成长思辨

正因为意识到这点我是乐于去设计的,但设计这个东西,是不是讲天赋的不得而知,就好痛苦,纠结于很多个选择而头脑爆炸。遇到难的就逃避进而换,我感觉不是的,我绝对是想迎难而上,解决问题进而愉悦大家,共同成长。目前,我养成了每晚自学的习惯有6年了,自学类的书主要是技术类、与设计相关的书像重构、设计模式等说实话,看是看了,感觉收获不大。最近李想在微博说的一段话我很认可,大体是说他们的核心驱动是成长:学习然后实训形成闭环,进而成长,如果只是学习没实训,就像梦中打飞机,不会有成长,只是实训没学习,容易井底蛙,也不会成长。

2023-07-05 16:33:15 159

原创 极简介绍spring的循环依赖解决方案

6、首先会将涉及循环依赖的beanName存到一个set中,回到bean创建时发觉在set中,那就启用二级缓存,回到第4步,将实例化后的Aput到二级缓存,转而B创建要A时,二级缓存的map get(A)直接拿到一个未完整的A赋值给B,完成B的创建进而让A也能完成创建。9、如果只是二级缓存,AOP代理会导致在创建A时map.get(A)拿到的ObjectFactory再get()出来的A实例地址 与创建B时装配A时map.get(A)再get()得到的A的实例地址不一致。第一个map是完整可用的map。

2023-06-17 10:58:34 226

原创 我是如何学习IT技术的

我最近在学的应该是Java相关、计算机系统相关、算法相关三个方向。java嘛,我的本职工作主要靠它混饭吃,那它的框架、组件、原生api与jvm相关等都有在学。计算机系统与及算法相关,则是在30岁后,想着往后的生涯前途,除了CRUD还能干嘛呢?没有一个明确的方向,就想着打好基础准没错,所以学的他们我的学习通常是通过:博客、视频、书。在上下班路上时会看技术博客,中午休息时会看下视频,晚上在家休息时,以看书为主。

2023-06-05 14:11:00 142

原创 GcRoot可达性分析随想

这时候走可达性分析算法的时候,由于当前main方法在入栈中,main内的所有变量都是可达的,那么无论minorGC还是majorGC又或fullGC都回收不了。在运行中,我们去看它的内存分配与回收:栈中被分了一块内存(main方法入栈),堆和元空间被分了内存(类信息与对象实例数据)。也就是随着程序的运行,JVM帮我们自动根据程序的代码分配内存来执行程序,与及回收没被使用的内存。由这些Gc Root经由深度优先搜索算法标记上的节点,就是可达的,是不可回收的,其余只要触发GC,就可以被回收掉。

2023-05-18 13:24:00 193

原创 由类加过载开始,说道说道JVM的内存分配与回收(未排版)

这里我们只关注【当前栈桢局部变量指向的对象】(大部份的回收都是这个),在13行时,这一刻栈的内存部局如上图。在进行内存回收进行对象是否可用的标记时,由于栈桢中main方法内的局部变量dao恰好就是GcRoot的数据,表明对象还在被引用中,所以它不会被回收。到得main方法都出栈后,GcRoot可达性分析扫描时,会发觉栈桢是空的,没有gcroot的数据了,那么dao堆实例如果触发gc就会被回收掉。之后根据对象在内存中的排列是不是规整的,规整的就指针碰撞,否则就空闲列表来为对象分配内存。

2023-05-13 11:32:41 109

原创 动态代理远程方法调用,返回的结果不一致问题处理

由于客户提供的工具类叫RemoteProxy,固名思义是远程动态代理嘛,可能用了AOP增强,或者可能是多线程线程安全问题导致的返回结果不一致。我写的测试用例验证通过,在布署到客户的测试环境的时候,每当跑到这个工具类的方法调用就报$Proxy can not be cast to XXX类型异常。我的项目是由于这个热布署的依赖导致,我由于偷懒直接去掉这个依赖就ok,网上应该还有保留这个依赖依然解决类加载器不一致的方案,看官们如有需要请自行百度。明明断点到方法内部的最后一步,显示返回的结果是【true】。

2023-03-22 18:51:14 266

原创 2022真年终总结

年终总结

2023-01-20 15:16:29 156

原创 java虚拟机与海纳百川,有容乃大的逻辑链自洽想法

道德经与java虚拟机

2023-01-20 13:58:28 176

原创 Windows 2012 nginx server_name域名无法访问

nginx

2023-01-12 15:20:39 1226 1

原创 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

druid

2022-12-24 15:21:44 8662

原创 35岁老油条学习图算法总结

图算法

2022-11-28 11:55:54 485

原创 在需求中对有向图算法的应用-有向图的构建

图算法

2022-11-15 10:08:38 347

原创 JVM垃圾回收说为学日益,为道日损

心得体会

2022-11-09 15:05:46 135

原创 记一次线上类文件读取(读取jar包的类文件),附解决方案

类文件查找

2022-10-28 17:25:07 628

原创 尝试抛开面试的八股看JVM

jvm

2022-10-09 11:25:04 200

原创 看两页书不过份吧

可能有一丢丢触动就好

2022-09-09 17:00:35 191

原创 利用python进行抠图的一次实践AssertionError: In PaddlePaddle 2.x,

python实战

2022-08-10 10:56:05 718

原创 基础排序-堆排序

堆排

2022-07-30 15:41:19 149

原创 基础排序-快速排序

快排

2022-07-30 15:38:12 77

原创 基础排序-冒泡排序

冒泡

2022-07-30 15:35:25 85

原创 基础排序-归并排序

归并

2022-07-30 15:32:51 108

原创 基础排序-希尔排序

希尔

2022-07-30 15:28:45 106

原创 基础排序-插入排序

基础比较插入排序

2022-07-30 15:25:46 141

原创 基础排序-选择排序

算法比较排序

2022-07-30 15:09:31 120

原创 从面试官角度看下JAVA有多卷

心得

2022-07-28 17:20:08 1670

原创 JVM垃圾回收简单流程图

JVM

2022-07-19 16:52:02 410

原创 一次简单的服务器布署记录(JAVA+VUE应用)

JAVA应用

2022-06-08 15:28:10 283

原创 低学历在IT真是难进大厂吗?后路在哪里

心路历程

2022-05-25 11:05:14 137

原创 ThreadLocal之我见

ThreadLocal

2022-05-17 10:45:58 137

原创 绝学无忧-35岁的出路随想-未修整

35岁技术去处

2022-05-12 18:55:40 152

空空如也

空空如也

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

TA关注的人

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