Java架构筑基

85 篇文章
17 人订阅

Java

本人秃顶程序员

Java研发面试题『八部曲』——从第一步开始

Java中主要有如下几种类型的变量 局部变量 类变量(静态变量)-- 属于类 成员变量(非静态变量)-- 属于对象

7900
本人秃顶程序员

资深程序员总结:彻底理解Spring容器和应用上下文

有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协...

10300
本人秃顶程序员

SpringMVC知识点梳理—够你面试掰活的(超详细)

Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进...

4900
本人秃顶程序员

优秀的Java程序员必须掌握的8项代码编程技巧!

Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。

11500
本人秃顶程序员

Docker容器的未来,将继续充分利用Linux功能

Michael Crosby是如今最有影响力的Docker容器开发人员之一,他帮助领导containerd的开发以及担任Open Container Initi...

14800
本人秃顶程序员

阿里P8架构师浅析如何避免在Java中检查Null语句

通常,在Java代码中处理null变量、引用和集合很棘手。它们不仅难以识别,而且处理起来也很复杂。事实上,在编译时无法识别处理null的任何错误,会导致运行时N...

7900
本人秃顶程序员

详解后端Java面试——OOA/D,UML,和XML

统一建模语言(Unified Modeling Language,UML)又称标准建模语言;常用图包括:用例图,静态图(包括类图、对象图和包图),行为图,交互图...

8800
本人秃顶程序员

【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制

细心的同学一定会发现 :以无参数构造方法创建 ArrayList 时,实际上初始化赋值的是一个空数组。当真正对数组进行添加元素操作时,才真正分配容量。即向数组中...

4100
本人秃顶程序员

详解Java—ServiceLoader之源码分析

其构造方法是一个private方法,不对外提供,在使用时我们需要调用其静态的load方法,由其自身产生ServiceLoader对象:

5000
本人秃顶程序员

使用Java 10的var类型推断的几个注意点!

不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改进良...

12000
本人秃顶程序员

深入理解《单例模式》之源码分析

执行这段代码会发现o1<>o2,这就破坏了单例。 为什么呢?罪魁祸首就是如下代码,它是反射的newInstance()的底层实现。

11400
本人秃顶程序员

面试题丨Java的类/实例初始化过程

昨天看到群里面有人分享了一道题目,我答错了,于是趁机了解了下Java的类/对象初始化过程:

12400
本人秃顶程序员

连 JVM 类加载机制都扯不清楚,还想成为架构师?

类加载器把class文件中的二进制数据读入到内存中,存放在方法区,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。

8010
本人秃顶程序员

Java大学问——优雅地处理异常

你有没有这样的印象,当你想要更新一款 APP 的时候,它的更新日志里总有这么一两句描述:

10120
本人秃顶程序员

如何成为一个有逼格的Java架构师

这两天和朋友谈到Java开发的发展,其实Java开发已经在不知不觉中发生了非常大的改变,前几年的开发行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌...

6300
本人秃顶程序员

一文讲解重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁

重量级锁?自旋锁?自适应自旋锁?轻量级锁?偏向锁?悲观锁?乐观锁?执行一个方法咋这么辛苦,到处都是锁。

12000
本人秃顶程序员

在面试中如何展示虚拟机和内存调优技能

在这个寒冬中,我们得不断提升自己的能力,所以这次,我就针对“虚拟机描述”这个点扩展出去,具体讲些在面试中展示虚拟机内存调优能力的话术。

10420
本人秃顶程序员

JDK源码——利用模板方法看设计模式

第一,把冰箱门打开;第二,把大象放进去;第三,把冰箱门关上。我们可以看见,这个问题的答案回答的很有步骤。接下来我们介绍一种设计模式——模板方法模式,你会发现,它...

10530
本人秃顶程序员

如何在代码中应用设计模式

因为我们的项目的需求是永远在变的,为了应对这种变化,使得我们的代码能够轻易的实现解耦和拓展。如果能够保证代码一次写好以后都不会再改变了,那可以想怎么写怎么写了。

13420
本人秃顶程序员

ReentrantLock是如何基于AQS实现的

ReentrantLock是一个可重入的互斥锁,基于AQS实现,它具有与使用 synchronized 方法和语句相同的一些基本行为和语义,但功能更强大。

10720

扫码关注云+社区

领取腾讯云代金券