会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
胡庆安
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2020年5月22日
深入理解MyBatis——缓存
摘要: MyBatis中使用缓存来提高其性能。 MyBatis中的缓存分为两种:一级缓存和二级缓存。使用过MyBatis的可能听到过这样一句话“一级缓存是sqlSession级别的,二级缓存是mapper级别的”。这也说明了,当使用同一个sqlSession时,查询到的数据可能是一级缓存;而当使用同一个ma
阅读全文
posted @ 2020-05-22 22:28 胡庆安
阅读(231)
评论(0)
推荐(0)
2020年5月20日
公平锁与非公平锁
摘要: 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位才能得到锁。 优点:所有的线程都能得到资源,不会饿死在队列中。 缺点:吞吐量会下降很多,队列里面除了第一个线程,其他的线程都会阻塞,cpu唤醒阻塞线程的开销会很大。 非公平锁:多个线程去获取锁的时候,会直接去尝试
阅读全文
posted @ 2020-05-20 21:44 胡庆安
阅读(463)
评论(0)
推荐(0)
2020年5月18日
sql优化
摘要: 1.查询SQL尽量不要使用select *,而是select具体字段。 反例: select * from employee; 正例: select,id,name from employee; 理由: 只取需要的字段,节省资源、减少网络开销。 select * 进行查询时,很可能就不会使用到覆盖索
阅读全文
posted @ 2020-05-18 21:18 胡庆安
阅读(339)
评论(0)
推荐(0)
2020年5月17日
深入研究HashMap
摘要: 一. HashMap的结构和底层原理 HashMap是我们非常常用的数据结构,由数组和链表组合构成的数据结构。大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry在Java8中叫Node。 因为他本身所有的位置都为null,在put插入的时候会根据key的hash去
阅读全文
posted @ 2020-05-17 16:44 胡庆安
阅读(251)
评论(0)
推荐(0)
2020年3月24日
分库分表
摘要: 一 .背景 随着时间和业务的发展,数据库中的数据量增长是不可控的,库和表中的数据会越来越大,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而一台服务的资源终究是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。 当用户表达到千万级别,在做很多操作的时候都会很吃力,所以当数据增
阅读全文
posted @ 2020-03-24 15:07 胡庆安
阅读(231)
评论(0)
推荐(0)
2020年3月18日
Redis学习笔记
摘要: 一 . Redis 是什么 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redi
阅读全文
posted @ 2020-03-18 13:33 胡庆安
阅读(216)
评论(0)
推荐(0)
2020年1月20日
线程与并发(四) 线程协作的两种方式
摘要: 有的时候我们需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直
阅读全文
posted @ 2020-01-20 14:57 胡庆安
阅读(483)
评论(0)
推荐(0)
2020年1月19日
线程与并发(三) 阻塞队列
摘要: 在我们使用非阻塞队列的时候有一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。但是有了阻塞队列就不一样了,它会对当前线程产生阻塞,比如一个线程从一个空的阻塞队列中取元素,此时线程会被阻塞直到阻塞队列中
阅读全文
posted @ 2020-01-19 14:39 胡庆安
阅读(229)
评论(0)
推荐(0)
2020年1月8日
在浏览器输入 URL 回车之后发生了什么?
摘要: 大致流程 一、URL 解析 地址解析: 首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。 HSTS 由于安全隐患,会使用 HSTS 强制客户端使用 HTTPS 访问页面。 其他操作 浏览器还会进行一些额外的操作,比如安全检查、访问限制(
阅读全文
posted @ 2020-01-08 12:53 胡庆安
阅读(174)
评论(0)
推荐(0)
2019年12月30日
线程与并发(二) 深入volatile关键字
摘要: 一.内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起
阅读全文
posted @ 2019-12-30 15:29 胡庆安
阅读(197)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告