Java架构筑基

84 篇文章
16 人订阅

编程算法

本人秃顶程序员

Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

14500
本人秃顶程序员

详解Spring Boot的应用限流

比如最近就有个这样的需求,我作为客户端要向kafka生产数据,而kafka的消费者则再源源不断的消费数据,并将消费的数据全部请求到web服务器,虽说做了负载(有...

8300
本人秃顶程序员

JVM优化Java代码时都做了什么?

JVM 在对代码执行的优化可分为运行时(runtime)优化和即时编译器(JIT)优化。运行时优化主要是解释执行和动态编译通用的一些机制,比如说锁机制(如偏斜锁...

11100
本人秃顶程序员

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

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

10400
本人秃顶程序员

算法之常见排序算法-冒泡排序、归并排序、快速排序

对于编程中琳琅满目的算法,本人向来是不善此道也不精于此的,而说起排序算法,也只是会冒泡排序。还记得当初刚做开发工作面试第一家公司时,面试官便让手写冒泡排序(入职...

8500
本人秃顶程序员

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

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

7600
本人秃顶程序员

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

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

8200
本人秃顶程序员

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

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

3700
本人秃顶程序员

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

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

11200
本人秃顶程序员

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

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

11600
本人秃顶程序员

面试中可能被问到的常用排序算法

排序算法是一种比较简单的算法,从我们一开始接触计算机编程开始接触的可能就是排序或者搜索一类的算法,但是因为排序在其他的一些算法中应用较多,所以为了提高性能已经研...

9400
本人秃顶程序员

资深架构师吐血总结Java垃圾收集算法

由于垃圾收集算法的实现涉及大量的程序细节,而且每个平台的虚拟机操作内存的方法又各不相同,因此博客中不过多的讨论算法的实现,只是介绍几种算法的思想以及发展。

10530
本人秃顶程序员

详解并发编程的优缺点

一直以来并发编程对于刚入行的小白来说总是觉得高深莫测,于是乎,就诞生了想写点东西记录下,以提升理解和堆并发编程的认知。为什么需要用的并发?凡事总有好坏两面,之间...

5920
本人秃顶程序员

详解并发编程的优缺点

一直以来并发编程对于刚入行的小白来说总是觉得高深莫测,于是乎,就诞生了想写点东西记录下,以提升理解和堆并发编程的认知。为什么需要用的并发?凡事总有好坏两面,之间...

6200
本人秃顶程序员

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

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

9920
本人秃顶程序员

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

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

11400
本人秃顶程序员

对于MySQL你必须要了解的锁知识

MySQL 的锁按照范围可以分为全局锁、表锁、行锁,其中行锁是由数据库引擎实现的,并不是所有的引擎都提供行锁,MyISAM 就不支持行锁,所以文章介绍行锁会以I...

12320
本人秃顶程序员

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

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

10030
本人秃顶程序员

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

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

13320
本人秃顶程序员

我来告诉你解决死锁的100种方法

死锁是多线程编程或者说是并发编程中的一个经典问题,也是我们在实际工作中很可能会碰到的问题。相信大部分读者对“死锁”这个词都是略有耳闻的,但从我对后端开发岗位的面...

14520

扫码关注云+社区

领取腾讯云代金券