Java North

Java 's Blog


  • 首页

  • 分类

  • 作者

  • 归档

  • 关于

ArrayBlockingQueue 入队和出队的源码分析 --20210702

发表于 2021-05-31 | 分类于 ArrayBlockingQueue , 源码解读

大家好,我是指北君。

今天我们来聊一聊以数组为数据结构的阻塞队列 ArrayBlockingQueue,它实现了 BlockingQueue 接口,继承了抽象类 AbstractQueue。

阅读全文 »

Spring Boot 为什么可以使用 Jar 包启动? --20210625

发表于 2021-05-30 | 分类于 Spring-Boot

可能很多初学者会比较困惑,Spring Boot 是如何做到将应用代码和所有的依赖打包成一个独立的 Jar 包,因为传统的 Java 项目打包成 Jar 包之后,需要通过 -classpath 属性来指定依赖,才能够运行。我们今天就来分析讲解一下 Spring Boot 的启动原理。

阅读全文 »

这个Java类使用率100%,你猜的到吗? -- 20210621

发表于 2021-05-30 | 分类于 JDK , 源码解读

哈喽,大家好,我是指北君。

“今天,天气晴,32度,今天的砖头格外烫手,对面商店的冰镇可乐和你,依然是我不敢奢求的梦。我辛苦搬了一天砖,才写好这篇文章,你说你看到了这篇文章,马上就划掉了。突然天空开始有些暗了,暗的刚刚好,我流下泪水的样子就没人看到。”

你们看到这个标题的时候,肯定在骂我,什么类这么厉害,使用率100%? 其实我不是标题党,本篇文章给大家介绍的就是JDK中所有类的父类——java.lang.Object,你说使用率是不是100%,我想任何类都逃不掉吧。

Object 类属于 java.lang 包,此包下的所有类在使用时无需手动导入,系统会在程序编译期间自动导入。Object 类是所有类的基类,当一个类没有直接继承某个类时,默认继承Object类,也就是说任何类都直接或间接继承此类,Object 类中能访问的方法在所有类中都可以调用,下面我们会分别介绍Object 类中的所有方法。

阅读全文 »

看懂Integer源码,这篇文章就够了 -- 20210623

发表于 2021-05-30 | 分类于 JDK , 源码解读

  哈喽,大家好,我是指北君。
  今天的砖比较烫手,指北君不能出去搬砖了,在家为你们肝下了这篇文章。前面介绍了 java.lang 包下的 Object 类,这是所有类的父类。本篇文章接着介绍该包下的另一个也很常用的类 Integer。

阅读全文 »

Zookeeper实现Zab协议详解 --20210618

发表于 2021-05-30 | 分类于 分布式系统

大家好,我是指北君。

之前说了立志不当最菜程序员,所以上次我们不是决定要学习下这个分布式都会用到的这个技术:Zookeeper嘛,也给大家聊了被称为是最难理解的 Paxos 算法。

不懂 Paxos 算法的那得看下我们之前的这篇文章:Zookeeper基础Paxos算法详解

今天咱指北君就更进一步,学习下这个 Zookeeper 实现的基础协议–Zab协议(Zookeeper Atomic Broadcast),也称为zk原子广播协议。

首先大家可能会有疑问,Zab和我们上一篇讲解的Paxos之间有什么区别和联系 别着急,带着这个问题接着往下看吧,后面指北君会揭晓这个问题的答案的。

阅读全文 »

Zookeeper基础Paxos算法详解 --20210616

发表于 2021-05-30 | 分类于 分布式系统

大家好,我是指北君。今天,我想学习下zookeeper,毕竟微服务这么火,立志不当最菜程序员的我也不能掉队。

但是,这个zookeepr我也没用过,只能从这个理论基础学起了,最终目的就是对它这个源码也得有个大概的了解。啥,你问我为啥要学习源码?平时也不用!! 那你要看下为啥现在刚毕业00后的都张口闭口了解各种源码了,不卷能行么,不到35就得退休了。

今天就给大家聊下,对于这个zk理论的学习。

阅读全文 »

ReentrantLock 公平锁与非公平锁的源码分析 --20210614

发表于 2021-05-30 | 分类于 ReentrantLock , 源码解读

哈喽,大家好,我是指北君。

今天为你带来的是 ReentrantLock 公平锁与非公平锁的分析,它是 Java 并发包下的一个实现类,实现了 Lock 接口和 Serializable 接口。

阅读全文 »

小白都能理解的原码反码补码教程 --20210611

发表于 2021-05-30 | 分类于 底层技术

  哈喽,大家好,我是指北君。

  曾几何时,指北君北原码反码补码绕的有点晕,网上教程也很多,详细的太难理解,容易理解的又有问题。于是乎指北君花了很长时间,肝出了这篇文章,目的是让一个小白看完都能彻底理解。

阅读全文 »

JDK源码解读——MethodHandle --20210609

发表于 2021-05-29 | 分类于 JDK , 源码解读

哈喽,大家好,我是指北君。反射(Reflect)作为Java最重要的一种机制,相信大家一定都很熟悉了,今天指北君要介绍另一种和反射机制类似的方法调用机制——MethodHandle。

MethodHandle是Java7引入的一种机制,主要是为了JVM支持动态语言,

阅读全文 »

JDK源码解析——深入函数式接口(应用篇一)--20210607

发表于 2021-05-29 | 分类于 JDK , 源码解读

Lambda表达式,相信大家都耳有所闻,而且不少小伙伴在日常的工作中也在使用。但说到函数式接口,可能有一些即使会使用Lambda表达式的小伙伴也会觉得陌生。今天,指北君就将带领大家对Lambda、及其所使用的一些和函数式接口相关的知识点进行一个全面的学习。 函数式接口所涉及的知识点包含:java.util.function包,@FunctoinInterface注解,Lambda表达式,双冒号操作符。同时,我们还将对函数式接口的实现原理进行深入的剖析。

阅读全文 »

听说你想学Java并发编程?先把这个学了(2)--20210604

发表于 2021-05-29 | 分类于 JDK

大家好,我是指北君。

俗话说,铁要趁热打,指北君在写完AQS第一篇文章后,就马不停蹄的输出第二篇了,这篇主要是讲AQS是如何解决互斥问题的,如果没看过AQS系列第一篇的童鞋,建议先把第一篇看完,它是后面两篇的基础。

说到互斥,我们第一个反应是什么?锁!对,AQS就是利用的锁来解决互斥的,那我们就来看看AQS是如何实现这个锁的。

阅读全文 »

听说你想学Java并发编程?先把这个学了(1) --20210602

发表于 2021-05-29 | 分类于 JDK , JUC , 源码解读

大家好,我是指北君。

最近在学习Java并发编程,但学了很久,总觉得差点意思,因为只会使用相关工具类,却不知实现原理,有时候写出了bug也不知道啥原因,所以指北君一怒之下,决定死磕java.util .concurrent工具包下的源码!!经过一个月的熬灯夜读,指北君总于小有所成,现在决定输出这一个月的所有收获!

JUC包下的类这么多,我们先从哪个开始呢?这个答案是唯一的,那就是AQS!

阅读全文 »

Spring Boot 入门指南 --20210601

发表于 2021-05-28 | 分类于 Spring-Boot

什么是Spring Boot

Spring Boot 是 Spring 开源组织下的一个子项目,也是 Spring 组件一站式解决方案,主要是为了简化使用 Spring 框架的难度和简化 Spring 框架复杂的XML配置。使用 Spring Boot 可以很容易创建一个独立运行的、基于 Spring 的生产级应用程序,而且Spring Boot 对 Spring 平台和第三方库做了一些版本适配,这样我们就可以尽快的上手。

阅读全文 »

一网打尽 java 8 的日期用法 -2022-01-22

发表于 2021-01-09 | 分类于 java

java 已经出到 17 了,而小编还在用 8 的版本,在 8 中已经推出了新的日期 API,不在使用 。java.time 包下提供了用于日期、时间、实例和周期的主要 API。

阅读全文 »
1 … 15 16
Java Geek Tech

Java Geek Tech

一群热爱 Java 的技术人

314 日志
117 分类
43 作者
RSS
GitHub 知乎
Links
  • 纯洁的微笑
© 2019 - 2023 Java Geek Tech
由 Jekyll 强力驱动
主题 - NexT.Mist