自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 记录一些面试题

mysql索引的类型普通索引 index 没有限制 既可以不唯一 也可以为空唯一索引 unique  必须唯一 可以为空主键索引 primary key 唯一 不能为空全文索引 fulltext组合索引https 用了ssl协议 非对称加密 所以是安全的String 不可变两个原因   String 本质是 final 字符数组 value[]   说明value指向的地址不可变  但是本身数组内...

2018-02-20 17:43:40 190

原创 BeanFactory初始化

先从上图红点debug进入代码configLoacations 指的是你的资源文件位置,此处指的就是classPath下的applicationContext.xmlrefresh默认为true, parent我们没传为空。我们顺便来看看classPathxmlApplicationContext的继承关系setConfiglocations是classPathXmlApplicationCont...

2018-02-10 22:29:02 1801

原创 IOC容器及其原理(一)

一个bean诞生需要经过两个阶段,容器启动阶段和Bean实例化阶段。下面我们通过这个图来说明        加载 解析配置信息,主要就是依靠ResouceLoader来加载并且解析资源(xml文件),然后封装成了Resouce。        装配BeanDefinition 就是BeanDefinitionReader读取Resource 转换为BeanDefinition, BeanDefit...

2018-02-10 20:05:16 3717

原创 网易云别人的面经 我试着写出答案

针对这个面经https://www.nowcoder.net/discuss/35362?type=2&order=0&pos=17&page=2写一些部分答案hashmap如何解决链表过长?红黑树有哪些特性?链表过长就会转化为红黑树,提高查找效率。红黑树的特性 1. 根节点是黑色 2 每个红色节点的叶子节点都是黑色 3 从任意节点到每个叶子节点的路径中,都包含相同数目的黑色节点。

2018-02-05 22:16:33 911

原创 CompletionService ExecutorService区别

Java中ExecutorService和CompletionService区别我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用。之前我一直习惯自己维护一个list保存submit的callable task所返回的Future对象。在主线

2018-02-05 17:04:49 402

原创 同步工具 semaphore countdownlatch使用小结

semaphore 控制访问共享资源的最大线程数  semaphore.acquire获得许可证    semaphore.release释放许可证下面这个代码最多运行3个打印机工作,初始许可证的数目为3 semaphore = new Semaphore(3);public class PrintQueue { /** * 信号量控制打印者的访问 */

2018-02-05 14:17:12 926

原创 读写锁

小结一下;读锁是共享的,多个线程可以同时获得读锁。写锁是互斥的,只要有写就是互斥的,比如线程a获得了写锁(lock.writlock),没有释放,那么其他线程不能获得这个写锁,也不能获得对应的读锁(lock.readlock),也就是有写线程获得了写锁没有释放,那么读线程,写线程都会堵塞。

2018-02-04 21:11:47 135

转载 java 方法区

首先要说明的是,此文章转载自 http://blog.csdn.net/zzhangxiaoyun/article/details/7518917 谢谢作者。另外,这里ps一下,Class对象是存放在堆区的,不是方法区!这点很多人容易犯错。类的元数据(元数据并不是类的Class对象!Class对象是加载的最终产品,类的方法代码,变量名,方法名,访问权限,返回值等等都是在方法区的)才是存在方

2018-02-03 20:09:26 269

原创 再学习类加载过程

1.加载类加载就是指将类的二进制class文件读入到内存中,然后将其放在方法区,在堆区创建一个class对象,作为访问这些数据的接口。2. 验证验证的目的是为了确保Class文件中的字节流包含的信息符合当前虚拟机的要求,而且不会危害虚拟机自身的安全。不同的虚拟机对类验证的实现可能会有所不同,但大致都会完成以下四个阶段的验证:文件格式的验证、元数据的验证、字节码验证和符号

2018-02-03 19:47:44 128

原创 syncronized 底层原理

如果对上面的执行结果还有疑问,也先不用急,我们先来了解Synchronized的原理,再回头上面的问题就一目了然了。我们先通过反编译下面的代码来看看Synchronized是如何实现对代码块进行同步的:1 package com.paddx.test.concurrent;2 3 public class SynchronizedDemo {4 public void m

2018-02-03 18:48:17 626

转载 b 树 b+树

转载: https://www.cnblogs.com/ivictor/p/5849061.htmlB树和B+树的区别 如图所示,区别有以下两点:1. B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。2. B+树中所有叶子节点都是通过指针连接在一起,而B树不会。 B+树的优点:1. 非叶子节点不会带上ROWID,这样,一...

2018-02-01 16:44:51 171

原创 建立索引的原则

小结经常查询的字段,order by ,gropu by后面字段,按范围查找的字段要建立索引。重复值很多,如性别字段,不要建立索引。多表关联查询的时候,关联字段要建立索引。复合索引的工作原理,复合索引有多个字段,先是按照第一个字段排序,第一个字段排序后相同的记录再按照第二个字段排序。索引where语句后面必须用到第一个字段,如果只用到第二个字段不用第一个字段,索引不会有用。

2018-02-01 15:07:58 291

原创 简单工厂 工厂方法 抽象工厂

代码参考地址 https://github.com/liuqidong/javase/tree/a5afb4e10a4929862d30c1e817ff471add0f7973/PatternDemo/src/main/java/com/bjsxt/factory/simplefactory简单工厂也叫静态工厂,就是通过静态方法,通过不同的参数构建不同的对象。uml图如下 

2018-02-01 13:58:08 234

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除