Java
文章平均质量分 89
详解Java语言规范
IT李维
越努力越幸运,与君共勉。
展开
-
一文读懂lambda表达式
文章目录前言一、什么是lambda表达式二、lambda表达式初体验三、lambda表达式结构四、函数式接口1、消费型函数接口2、供给型接口3、函数型接口4、断言型接口 前言 lambda表达式现在应用得越来越多,以前我总觉得lambda表达式可读性是不是不太好,但是用了它之后,真香。一直想找个时间写篇文章总结一下,但是不是因为工作忙就是有其他的事情,从周一就立了一个flag,周末一定要写,但是周六又不由自主的打开了王者荣耀,唉,还一波连跪,就很离谱。抓住周末的尾巴,可算把flag完成了。 一、什么是lam原创 2021-08-01 18:29:10 · 328 阅读 · 1 评论 -
SpringBoot-自动配置核心原理
一、概述 在Spring Boot的开发过程中,我们想要在某一个场景下开发,只需要引入这个场景对应的starter,Spring Boot会自动加载相关依赖,配置好相关初始化参数,本文将从源码的角度解析Spring Boot自动配置的原理。从本文中,您将学习Spring Boot自动配置的核心原理、Spring、Spring Boot的一些核心注解,自动配置类的加载、注册的条件判断等。 二、源码解析 Spring Boot工程创建以后会默认生成一个*Application的启动类,这个类就是一个普通的包含J原创 2021-07-03 18:21:20 · 311 阅读 · 1 评论 -
ClassLoader.getResource()原理
站位原创 2021-02-03 11:45:24 · 1454 阅读 · 1 评论 -
多线程-Java线程状态转换过程详解
一、概述 从图中可以看出,线程的状态大致可分为5种,NEW、RUNNABLE、RUNNING、BLOCKED、TERMINATED。可能读者会感到疑惑,为什么没有等待状态,其实大家可以不必刻意去区分等待状态和阻塞状态,只需要弄清楚二者的区别即可。 等待状态的定义:处于这种状态的线程无限期地等待另一个线程执行特定操作。 阻塞状态的定义:一个线程因为等待临界区的锁被阻塞产生的状态。 我们可以看出二者的区别等待状态是主动的阻塞,阻塞状态是被动的阻塞。大家可以看看能够进入等待状态的方法:Object.wait()原创 2021-01-25 13:53:02 · 362 阅读 · 0 评论 -
Java中的迭代器模式-Iterator和Iterable源码解析
Hello,大家好: 在上一篇博文中我们讲解了设计模式中的迭代器模式,这一篇文章,咱们来聊聊JDK源码中是如何去实现迭代器模式的。如果对迭代器模式不清楚的同学,请查看这篇文章超详细-设计模式之迭代器模式。 在Java中存储数据的数据结构有很多种,例如Map、数组、列表等等。每种数据结构的遍历方式都不相同,对于使用者来说,我肯定希望能在不知道每种数据结构内部的存储细节的情况下,对每种容器完成遍历。于是Java实现了迭代器模式,定义一种通用的遍历元素的方法,由每种数据结构去实现这些遍历方法。下面我们将从源码的角原创 2021-01-08 20:38:48 · 533 阅读 · 2 评论 -
ArrayList源码解析
Hello,小伙伴们,大家好: 今天要分析的是ArrayList类的源码,我们一起来看看吧。 今天是我们源码篇的第一天,在阅读源码之前我们应该清楚阅读源码的意义在哪儿。我认为阅读源码的意义有以下三点: 1、阅读源码能够学习前辈们许多优秀的代码设计方法。 2、阅读源码能够帮助我们提升编程能力。 3、阅读源码能够帮助我们快速的定位开发、运行时碰到的各种问题。 所以对于想提升技术的小伙伴们,我们阅读源码是一段必经的旅程。 好,我们进入正题,开篇一张图,了解一下ArrayList的继承关系。 Iterable接口:原创 2021-01-05 12:48:31 · 363 阅读 · 1 评论