首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
言熙
掘友等级
JAVA工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
31
文章 31
沸点 0
赞
31
返回
|
搜索文章
赞
文章( 31 )
沸点( 0 )
几百行代码写个Mybatis,原理搞的透透的!
`Mybatis` 最核心的原理也是它最便于使用的体现,为什么这说? 因为我们在使用 Mybatis 的时候,只需要定义一个不需要写实现类的接口,就能通过注解或者配置SQL语句的方式,对数据库进行
缓冲池(buffer pool),这次彻底懂了!!!
应用系统分层架构,为了加速数据访问,会把最常访问的数据,放在缓存(cache)里,避免每次都去访问数据库。 操作系统,会有缓冲池(buffer pool)机制,避免每次访问磁盘,以加速数据的访问。 MySQL作为一个存储系统,同样具有缓冲池(buffer pool)机制,以避免…
红黑树的介绍与实现
在插入一个新的元素的时候,它的颜色必须是红色,如果是黑色的话,它就会违反条件4。在插入新节点的时候,如果它的父节点是黑色的,则插入完成;如果父节点是红色,就违反了条件3,则需要通过颜色的改变和树的旋转来调整使得整个树满足这4个条件。 我们约定X是新插入的节点,P是它的父节点,U…
LinkedList详解
LinkedList既是List的实现类,也是Queue的实现类,所以LinkedList也可以当作队列使用。LinkedList的属性有: 在LinkedList里面,节点的插入分成三种情况,在头部插入、在尾部插入、在中间插入。 首先复制头节点的引用,然后创建一个新节点(ne…
Vector和Stack详解
Vector可以说成是ArrayList的线程安全版本,都是通过动态数组实现,Vector是通过给实例对象加锁实现线程安全。Vector和ArrayList的另一个区别在于Vector的扩容可以指定每次扩容的大小,没指定的话扩容为原来的2倍。 可以看到,当栈为空,如果访问栈顶元…
Dubbo初体验
最近打算学习RPC框架,于是就开始学习Dubbo,并做了一个简单的demo(关于Dubbo介绍,大家可以去看看官方文档),demo的全部代码放到了GitHub上。接下来依次介绍工程的各个模块(工程结构模仿了Dubbo官方demo),采用Maven构建。 Jedis:RedisJ…
HashMap详解
散列表是一种以常数平均时间执行插入、删除和查找的数据结构。在对散列表中的元素进行操作的时候,通常只针对元素的某部分数据,这部分被称为关键字(key);我们把表的大小定义为tableSize,每个关键字被映射到[0, tableSize - 1]这个范围中的某个数,并且被放到数组…
ArrayList详解
ArrayList利用一个数组存储元素,它的实现很简单,基本属性只有两个。 AarryList提供了三种构造方法。 插入元素时,当size == elementData.length的时候,就需要扩容,我们先看看扩容。 扩容实际上是通过System.arraycopy方法将旧数…
一文彻底读懂MySQL事务的四大隔离级别
事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 原子性: 事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行。 一致性: 指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10…
收藏 | 阿里程序员常用的 15 款开发者工具(2020 版)
1. Java 工程脚手架 Java Initializr 简介:2020 年由阿里巴巴中间件团队发布的定制版 Java工程脚手架,快速搭建工程应用。 支持 Spring 官方脚手架的全部功能,且增加了丰富的典型配置和使用案例。多种标准应用架构供选择,让你生成完工程就可以直接写…
下一页
个人成就
文章被点赞
16
文章被阅读
5,584
掘力值
260
关注了
6
关注者
5
收藏集
8
关注标签
12
加入于
2020-06-17