面试复习
jswd_50x
这个作者很懒,什么都没留下…
展开
-
易忘知识点总结
NIO原理详解链接nginx和tomcat的区别链接IO多路复用技术链接原创 2020-01-10 18:05:24 · 171 阅读 · 0 评论 -
架构师面试128题
文章链接转载 2019-11-01 18:06:50 · 108 阅读 · 0 评论 -
几种树形结构的总结
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包含三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构与存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的的存储结构。逻辑结构(线性结构与非线性结构)存储结构(顺序存储、链式存储、索引存储、散列存储)线性结构数据元素之间存在一对一的关系线性表 栈、队列、数组...原创 2019-06-28 14:49:59 · 18983 阅读 · 0 评论 -
Java并发之AQS详解
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 以下是本文的目录大...转载 2019-05-29 15:38:05 · 72 阅读 · 0 评论 -
Spring IOC 容器源码分析
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。本文采用的源码版本是 4.3.11.RELEASE,算是 ...转载 2019-05-28 16:58:25 · 87 阅读 · 0 评论 -
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
今天发一篇"水文",可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍。本来以为花不了多少时间的,不过最终还是投入了挺多时间来完成这篇文章的。网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不...转载 2019-05-28 16:55:37 · 75 阅读 · 0 评论 -
Mybatis常见面试题总结
文章链接转载 2019-05-30 18:01:25 · 133 阅读 · 0 评论 -
MySQL索引原理以及查询优化
文章链接转载 2019-05-30 18:00:15 · 101 阅读 · 0 评论 -
图解GC过程和GC算法 及垃圾回收器对比
1. Minor GC(1) Minor GC过程假设现在Heap内存大小为20M,其中年轻代为10M,老年代为10M,年轻代中Eden区6M,From区2M,To区2M,新创建的对象首先往Eden区分配,当再次分配一个对象,假设大小为1M,此时Eden区已经没有足够空间来给这个对象分配内存,如图所示:这时候触发一次Minor GC,把Eden区的存活对象转移到From区,非存活对...原创 2019-05-30 14:08:02 · 321 阅读 · 0 评论 -
类加载机制-类加载的时机、过程
原文链接转载 2019-01-21 15:43:30 · 147 阅读 · 0 评论 -
wait notify 和condition 的区别
Object 类中 wait,notify 与 notifyAll 方法可以用来实现线程之间的调度,比如在阻塞队列(BlockingQueue)的实现中,如果队列为空,则所有消费者线程进行阻塞 ( wait ),如果某一个时刻队列中新添加了一个元素,则需要唤醒某个或所有阻塞状态的消费者线程( notify,notifyAll ),同理如果是队列已满,则所有生产者线程都需要阻塞,等到某个元素被消费之...原创 2019-01-18 16:51:04 · 1454 阅读 · 1 评论 -
java的深度克隆和浅度克隆
说到克隆,其实是个比较简单的概念,跟现实生活正的克隆一样,复制一个一模一样的对象出来。clone()这个方法是从Object继承下来的,一个对象要实现克隆,需要实现一个叫做Cloneable的接口,这个接口没有什么方法,和Comparable接口差不多,仅仅是起一个标志作用,实现了这个接口你就能实现克隆操作。 这里有两个概念,深度克隆和浅度克隆,这东西虽然平常不怎么用,但是了解一下还是有必...原创 2019-01-18 16:46:08 · 2573 阅读 · 0 评论 -
HashMap 相关问题
在多线程环境中,使用HashMap进行put操作时会引起死循环,导致CPU使用接近100%,下面通过代码分析一下为什么会发生死循环。 首先先分析一下HashMap的数据结构:HashMap底层数据结构是有一个链表数据构成的,HashMap中定义了一个静态内部类作为链表,代码如下(与本文无关的代码省略):静态内部类entry代码staticclas...原创 2019-01-18 16:37:46 · 214 阅读 · 0 评论 -
HashMap的原理1.7 和1.8 的区别
一、初窥HashMapHashMap是应用更广泛的哈希表实现,而且大部分情况下,都能在常数时间性能的情况下进行put和get操作。要掌握HashMap,主要从如下几点来把握:jdk1.7中底层是由数组(也有叫做“位桶”的)+链表实现;jdk1.8中底层是由数组+链表/红黑树实现 可以存储null键和null值,线程不安全 初始size为16,扩容:newsize = oldsize*2...原创 2019-01-18 16:28:41 · 7681 阅读 · 4 评论