首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
天空本尊53007
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
【架构师成长必备】如何阅读一个开源项目的源码?【石杉的架构笔记】
这篇文章,给大家简单介绍一下很多同学都非常关心的一个问题:如何阅读一个开源项目的源码。 我相信很多同学都希望能够去阅读一些源码来提升自己的技术水平,毕竟在面试的时候,很多大厂都经常会扣到非常深入的底层源码。 其实开源项目有很多种,比如说有Spring这种框架类的,还有比如数据库…
【死磕Java并发】—–J.U.C之AQS(一篇就够了)
越是核心的东西越是要反复看,本文篇幅较长,希望各位细细品读,来回多读几遍理解下。
Java集合源码分析之基础(六):红黑树(RB Tree)
红黑树和AVL树的思想是类似的,都是在插入过程中对二叉排序树进行调整,从而提升性能,它的增删改查均可以在**O(lg n)**内完成。 本文会从定义到实现一棵红黑树展开,还会简单介绍其与AVL树的异同。 红黑树是一棵二叉排序树。且满足以下特点: 每个节点或者是黑色,或者是红色。…
JDK并发AQS系列(三)
在数据竞争情况下,一个线程只有在成功获取锁后才能继续往下执行,当离开竞争区域时将释放锁,释放的锁供其他即将进入数据竞争区域的线程获取。 同步器一般用acquire和release方法执行获取释放锁操作,acquire方法包括的逻辑是先尝试获取锁,成功则往下执行,否则把线程放到等…
深入理解java虚拟机
以上问题在《深入理解java虚拟机》这本书里都有详尽的解答。 一. java各版本发展史 02年发布1.4版本,走向成熟的版本。代表技术:正则,异常链,NIO,日志类,xml解析等 06年发布1.6版本,使用java6命名。代表技术:锁,同步,垃圾收集,累加值等算法优化。宣布开…
一个接口查询关联了十几张表,响应速度太慢?那就提前把它们整到一起
系统做了分库分表,但是需要统计所有的数据。 那么此类需求要如何满足呢?我们选择了“通过 ETL 提前进行数据整合”的方案。 说到ETL,很多开发伙伴可能会有些陌生,更多的时候 ETL 是用在大数据、数据分析的相关岗位;我也是在近几年的工作过程中才接触到ETL的,现在的项目比较依…
Spring Boot 2 实战:使用 Flyway 管理你数据库的版本变更
1. 前言 随着项目的不断迭代,数据库表结构、数据都在发生着变化。甚至有的业务在多环境版本并行运行。数据为王的时代,管理好数据库的版本也成为了迫切的需要。如何能做到像 Git 之类的版本控制工具来管理数据库?Java 项目中常用 Flyway 和 Liquibase 来管理数据…
String 源码浅析————终结篇
说说这几天看源码的感受吧,其实 jdk 中的源码设计是最值得进阶学习的地方。我们在对 api 较为熟悉之后,完全可以去尝试阅读一些 jdk 源码,打开 jdk 源码后,如果你英文能力稍微过得去,那么源码有相当详细的注释告诉你 api 的含义,具体用法。假设平时在写代码的过程中突…
BIO到NIO源码的一些事儿之NIO 上
此篇文章会详细解读NIO的功能逐步丰满的路程,为Reactor-Netty 库的讲解铺平道路。 接上一篇 BIO到NIO源码的一些事儿之BIO,我们来接触NIO的一些事儿。 在上一篇中,我们可以看到,我们要做到异步非阻塞,我们自己进行的是创建线程池同时对部分代码做timeout…
深入理解Java虚拟机(一)
如果执行java方法,计数器记录正在执行的字节码指令地址。如果执行的是Native方法,计数器为空。 唯一没规定任何OutOfMemoryError情况的区域。 异常:线程请求的栈深度大于虚拟机允许的深度,抛出StackOverflowError。虚拟机动态扩展过程中无法申请到…