
Java技术
文章平均质量分 91
看点代码再上班
欢迎关注公众号【看点代码再上班】。我是tin,司职后端开发,在这里分享Java相关知识、我的工作经验和工作思考。坚持原创,持续原创,感谢关注。
展开
-
还傻傻搞不懂MySQL事务隔离级别么(图文并茂,保证你懂!)
并行事务可能出现的问题,具体表象就是脏写,脏读,不可重复读,幻读。MySQL通过隔离不同程度地规避这些问题,MySQL隔离级别有4种,包括:读未提交(READ UNCOMMITTED)、读提交 (READ COMMITTED)、可重复读 (REPEATABLE READ)、串行化 (SERIALIZABLE)原创 2023-07-02 09:46:14 · 265 阅读 · 24 评论 -
gpt被我问得连连认错:cglib还能代理私有方法?
我问gpt,cglib能不能代理私有方法,它说……我说我给你纠正这么多错误,你给我说下明天哪只鸡会涨吧,它给我说原创 2023-06-01 08:44:52 · 381 阅读 · 5 评论 -
kafka源码终于启动成功
kafka源码超过50万行,设计得不要太好,要想看它,就是这么简单。原创 2022-05-23 08:38:11 · 1529 阅读 · 0 评论 -
面试官:Dubbo服务重启下线,消费者继续调用,都异常了怎么办
在分布式系统中,服务节点重启的时候,消费者流量继续调用该节点,那么这部分调用全部异常,对于线上用户来说,系统故障?原创 2022-04-10 10:41:57 · 2489 阅读 · 0 评论 -
Integer的缓存模式,自动拆装箱,关于128不等于128的问题
我们都遇到过Integer a=128,Integer b=128,但a==b不成立的困惑,今天结合源码和Java的拆装箱说一说其中的原由,先上一个目录:一、值相等的Integer,==却不成立?二、自动拆/装箱2.1 自动装箱2.2 自动拆箱三、其他基本类型的缓存四、结语原创 2022-03-19 18:35:02 · 2357 阅读 · 1 评论 -
30万行的框架代码,这样给Dubbo加扩展
Dubbo已是一个比较大的项目,2.7.15版本中光Java代码已累积到了30万行。在国内微服务界Dubbo声名远扬,其中,它的扩展思想设计得就非常好。今天结合实例讲一讲如何给Dubbo加扩展,先上一个目录:一、Dubbo的扩展机制二、从扩展点到@SPI注解三、自定义一个扩展原创 2022-03-05 10:13:34 · 471 阅读 · 0 评论 -
面试官:为什么jdk动态代理只能代理接口实现类?
大家好,我是tin,这是我的第15篇原创文章 我们日常业务能够使用jdk动态代理编码的场景非常少,但是我们使用的框架用到jdk动态代理的却非常多,今天结合jdk动态代理源码讲一讲“为什么jdk动态原创 2022-01-23 16:41:34 · 1859 阅读 · 3 评论 -
面试官:cglib为什么不能代理private方法?
cglib实质上是通过继承父类并重写父类的方法达到生成代理类的,那么自然的,final类和final方法一定无法原创 2022-01-16 21:25:03 · 2954 阅读 · 5 评论 -
AQS是什么?Java并发编程大师的源码不得不拜读呀
**本文首发于公众号【看点代码再上班】,欢迎围观,第一时间获取最新文章。**目录初识ReentrantLock什么是AQSAQS中的同步状态stateCLH变体队列独占模式共享模式公平锁&非公平锁结语大家好,我是tin,这是我的第13篇原创文章今天把ReentrantLock和AQS一起翻一翻,通过源码说一说我们的Java锁。初识ReentrantLock首先,我们同时启用5个线程对一个公共变量counter从0开始累加,每个线程只对变.原创 2022-01-09 11:37:47 · 380 阅读 · 0 评论 -
为什么私有方法上的Spring Cache注解不生效?
从Spring AOP原理解释为什么私有方法上不能加缓存上面讲到了spring cache自己做了一层限制,不支持非public方法加缓存注解,那么,spring cache为什么这么做?如果只是看spring cache源码的逻辑,不加这个限制,不也一样是可以“走得通”么?原创 2022-01-02 21:00:20 · 542 阅读 · 0 评论 -
人人都说好的Spring Cache,用起来~
**本文首发于公众号【看点代码再上班】,欢迎围观,第一时间获取最新文章。**大家好,我是tin,这是我的第11篇原创文章目录为什么要用缓存Spring Cache介绍Spring Cache使用入门Spring Cache依赖Spring的天然优势——AOP,我们只需要显式地在代码中调用第三方接口,在方法上加上注解,就可以实现把获取到的结果后把结果插入缓存内,在下一次查询的时候优先从缓存中读取数据。接入Caffeine缓存实现框架常用注解送书啦结语为什么要.原创 2022-01-01 12:05:40 · 640 阅读 · 0 评论 -
再来一篇,看jdk源码大师亲自操刀编写的集合源码
我们打开ConcurrentHashMap源码,类开头鲜明地标着作者:@author Doug Lea原创 2021-12-05 20:52:00 · 492 阅读 · 0 评论 -
提升技术认知,参加2021上海QCon技术大会
文章首发于公众号【看点代码再上班】,欢迎围观,第一时间获取最新文章。全文共计6482字,预计阅读时间15分钟目录开篇第一天-上午签到&前记主题演讲一、《把内容交付这件事做好》二、《Toward Software Performance Evaluation at Scale: A Journey》三、《开源开放,人人贡献:极狐(GitLab)的开源之道》四、《从云原生到原生云:企业规模化智能增长的最佳实践》五、《企业级云原生应用管理》第一天-下午..原创 2021-12-05 18:51:18 · 7623 阅读 · 0 评论 -
著名的Java并发编程大师都这么说了,你还不知道伪共享么!
文章首发于公众号【看点代码再上班】,欢迎围观,第一时间获取最新文章。全文共计2163字18图,预计阅读时间13分钟大家好,我是tin,这是我的第7篇原创文章图拍摄于深圳桃园南山图书馆,年前某个阳光明媚的周六,看到挂满的灯笼,觉得甚是喜庆。文章较长,先上一个目录:上个全文目录:一、Doug Lea 二、CPU缓存架构 三、CPU缓存行 四、伪共享 五、结语一、Doug lea在微博上看到这么一句话,挺有意思的。Doug Lea是谁?为什么这么说?估计还真挺多人不认识他吧。.原创 2021-02-20 09:44:31 · 251 阅读 · 0 评论 -
实例分享CompileCommand查看jit编译结果(mac环境)
反汇编命令:-XX:+UnlockDiagnosticVMOptions-XX:+PrintAssembly -Xcomp-XX:CompileCommand=print,*AtomicInteger.incrementAndGet把这些参数设置到jvm启动参数,但一般首次执行会报错:Java HotSpot™ 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain addi原创 2021-02-06 11:21:08 · 601 阅读 · 0 评论 -
线程池是怎么回收空闲线程的?如果你认为有定时任务,那你就错了!
本文首发于公众号【看点代码再上班】,欢迎关注,第一时间获取最新文章。全文共计2350字17图,预计阅读时间12分钟大家好,我是tin,这是我的第4篇原创文章一、来唠嗑唠嗑题外话配图和本文内容无关,之所以留此配图是因为最近自己作为万年windows系统用户终于尝试买入了人生第一台mac,也就是今年刚出来,大家都比较关心、讨论也满天飞的mac M1!此文作为使用mac输出的第一篇技术文章,谨此纪念。感觉怎么样呢?作为一个完全mac新用户,主要的体会是这样的:续航真真长!自己亲测,17-1原创 2021-01-07 00:41:26 · 1318 阅读 · 0 评论