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