随笔分类 - Java进阶学习
摘要:一、前言 1.持久层 Java数据持久层,其本身是为了实现与数据源进行数据交互的存在,其目的是通过分层架构风格,进行应用&数据的解耦。 我从整体角度,依次阐述JDBC、Mybatis、MybatisPlus。 前者总是后者的依赖。只有在了解前者,才可以更好地学习后者。 2.技术选型 ciwai ,还
阅读全文
摘要:一张图解决ThreadLocal 一、前言 年底梳理知识体系时,研究了一下ThreadLocal的源码,整理了一张核心图。 想着,都走到这一步了,那就写一篇深度解读的文章吧。看过我之前文章的小伙伴都知道,我写博客,就喜欢写点别人没写的。要么就写个结构比别人好的。什么都不行,那就别写了。自己留着看就好
阅读全文
摘要:高级工程师 Java注解 前言 代码,就是我们身为程序员的名片。 简洁,优雅,统一,是我们的追求。 优秀的代码,会给浏览者一种艺术的美感。如DL大神的JUC包,感兴趣的小伙伴,可以研究一下。 那么日常中,各位看到的优秀代码,有着哪些特点呢?充分利用的工具类(lang3,lombok,Validati
阅读全文
摘要:《算法导论》第二章demo代码实现(Java版) 前言 表示晚上心里有些不宁静,所以就写一篇博客,来缓缓。囧 拜读《算法导论》这样的神作,当然要做一些练习啦。除了练习题与思考题那样的理论思考,也离不开编码的实践。 所以,后面每个章节,我都会尽力整理出章节中涉及的算法的Java代码实现。 二分查找 算
阅读全文
摘要:Java集合概述(上) 前言 先说说,为什么要写这么一篇博客(我总是喜欢写原因)。因为最近到年底了,正好又要准备面试,所以在做各方面的技术总结。而Java集合是Java非常重要的一部分,自己前前后后也花了不少时间学习,但是一直比较零散。所以,打算趁着这个机会,来写一个总结。 由于能力有限,这方面没有
阅读全文
摘要:Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧。我看了一眼,是之前发布的《Rabbit安装(单机及集群,阿里云》。我朋友很哈皮地告诉我,我的博客被某个Java平台进行了微信推送。看到许多人阅读,并认同了我的博客,心理还是很开心的。 好
阅读全文
摘要:高性能编程 前言 首先说一下我为什么要写这篇博客。因为面试有提到这个,我当时直接说不懂(一方面当时心态很差,另一方面面试官的询问方式令我很反感。所以直接refuse了。小伙伴们千万别学我)。 所以,打算谈一谈我对Java高性能编程方面的认识与总结。 首先,高性能编程不涉及架构层次。所以打算通过这篇文
阅读全文
摘要:J.U.C剖析与解读2(AQS的由来) 前言 前面已经通过实现自定义ReentrantLock与自定义ReentrantReadWriteLock,展示了JDK是如何实现独占锁与共享锁的。 那么实际JDK源码中的ReentrantLock与ReentrantReadWritreLock是如何实现的呢
阅读全文
摘要:J.U.C剖析与解读1(Lock的实现) 前言 为了节省各位的时间,我简单介绍一下这篇文章。这篇文章主要分为三块:Lock的实现,AQS的由来(通过演变的方式),JUC三大工具类的使用与原理剖析。 Lock的实现:简单介绍ReentrantLock,ReentrantReadWriteLock两种J
阅读全文
摘要:Java锁 Synchronized深层剖析 前言 Java锁的问题,可以说是每个JavaCoder绕不开的一道坎。如果只是粗浅地了解Synchronized等锁的简单应用,那么就没什么谈的了,也不建议继续阅读下去。如果希望非常详细地了解非常底层的信息,如monitor源码剖析,SpinLock,T
阅读全文
摘要:从BIO到Netty的演变 前言 计算机网络可以说是每个学计算机的都绕不过去的一道坎。计算机网络到底有多么重要,你走到大学图书馆的计算机部分,翻开那些什么《从零开始:黑客XXX》,《黑客攻防从入门到放弃》等书籍,基本第一部分都是在谈论网络。你去一些X客论坛,上面的教程帖也基本都是从网络部分开始的。
阅读全文
摘要:"Java高性能编程之CAS与ABA及解决方法" 前言 如果喜欢暗色调的界面或者想换换界面,可以看看我在个人博客发布的 "Java高性能编程之CAS与ABA及解决方法" 。 CAS概念 CAS,全称Compare And Swap,比较与交换。 属于硬件级别的同步原语,从处理器层面提供了内存操作的原
阅读全文
摘要:JsonUtil(基于Jackson的实现) 前言: 其实,我一直想写一个有关Util的系列。 其中有四个原因: 1. Util包作为项目的重要组成,是几乎每个项目不可或缺的一部分。并且Util包的Util往往具有足够的通用性,可用于不同的项目。 2. Util包中的代码封装往往非常有意思,对他们的
阅读全文