上一页 1 2 3 4 5 6 ··· 8 下一页
  2019年9月7日
摘要: 一、概述 1.8版本的LinkedHashMap 继承自 HashMap,在 HashMap(数组链表+红黑树) 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题。除此之外,LinkedHashMap 对访问顺序也提供了相关支持。在一些场景下,该特性很有 阅读全文
posted @ 2019-09-07 19:42 菜鸟小于 阅读(481) 评论(0) 推荐(1) 编辑
摘要: mysql抽象架构:可以分为SQL Layer和Storage Engine Layer mysql的engine层是基于表的,不是基于库的,创建表的语句可以指定engine Mysql的架构 Mysql 架构器中各个模块都是什么? (1)、连接管理与安全验证是什么? 每个客户端都会建立一个与服务器 阅读全文
posted @ 2019-09-07 09:35 菜鸟小于 阅读(296) 评论(0) 推荐(0) 编辑
  2019年9月6日
摘要: 在面试中网络问题是一定会考察的,而TCP协议则是考察网络知识的重点。经常会被问道的问题如下: 三次握手过程 首先需要服务器监听特定的端口,等待客户端来请求连接。当客户端需要建立连接时,客户端会先向服务器发送syn报文,将报文中syn置为随机生成的序号n(这里假设序号为1000)。服务器收到同步报文后 阅读全文
posted @ 2019-09-06 10:25 菜鸟小于 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 本文的源码是基于JDK1.8版本,在学习HashMap之前,先了解数组和链表的知识。 数组:数组具有遍历快,增删慢的特点。数组在堆中是一块连续的存储空间,遍历时数组的首地址是知道的(首地址=首地址+元素字节数 * 下标),所以遍历快(数组遍历的时间复杂度为O(1) );增删慢是因为,当在中间插入或删 阅读全文
posted @ 2019-09-06 09:30 菜鸟小于 阅读(1253) 评论(0) 推荐(2) 编辑
摘要: LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。解决的实际问题:当做数据缓存时,缓存的数据会随着时间的推 阅读全文
posted @ 2019-09-06 08:28 菜鸟小于 阅读(703) 评论(0) 推荐(0) 编辑
  2019年8月30日
摘要: 在多线程编程中,线程安全问题是一个最为关键的问题,其核心概念就在于正确性,即当多个线程访问某一共享、可变数据时,始终都不会导致数据破坏以及其他不该出现的结果。而所有的并发模式在解决这个问题时,采用的方案都是序列化访问临界资源 。在 Java 中,提供了两种方式来实现同步互斥访问:synchroniz 阅读全文
posted @ 2019-08-30 08:56 菜鸟小于 阅读(402) 评论(0) 推荐(0) 编辑
  2019年8月29日
摘要: Java 中 Thread类 的各种操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解。一般来说,线程从最初的创建到最终的消亡,要经历创建、就绪、运行、阻塞 和 消亡 五个状态(想要了解线程进程的关系可以参考《Java并发背景》)。在线程的生命周期中,上下文切换通 阅读全文
posted @ 2019-08-29 22:01 菜鸟小于 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 并发与操作系统的生命历程息息相关。进程的出现,使得程序状态的保存变为现实,为进程间的切换提供了可能,实现了操作系统的并发,大大提高资源利用率 阅读全文
posted @ 2019-08-29 15:34 菜鸟小于 阅读(311) 评论(0) 推荐(0) 编辑
  2019年8月24日
摘要: 1.首先,需要搞明白什么是上下文切换?上下文切换就是从当前执行任务切换到另一个任务执行的过程。但是,为了确保下次能从正确的位置继续执行,在切换之前,会保存上一个任务的状态。 2. 然后,需要明白进程与线程的区别?(网上很多,这里简单说明) 1).线程是进程的一部分。进程是表示资源分配的基本单位,又是 阅读全文
posted @ 2019-08-24 10:52 菜鸟小于 阅读(2110) 评论(0) 推荐(0) 编辑
  2019年8月21日
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行 阅读全文
posted @ 2019-08-21 17:34 菜鸟小于 阅读(885) 评论(1) 推荐(1) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页