自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring源码学习(二)

文章目录spring IOC体系管理Bean(BeanFactory)定义Bean(BeanDefinition)加载解析注册Bean(BeanDefinitionReader)spring IOC实现流程、BeanDefinition加载解析与注册过程bean获取与创建流程先来一个简单的面试题:spring默认是单例的吗?spring 默认单例。本文我们讲解spring IOCsprin...

2019-02-18 09:49:10 283

原创 spring源码学习(一)

面试题目:ioc是什么?45秒答:没有ioc之前我们创建对象,都是通过new的方式。如果一个类依赖另外一个类,有可能通过在一个类构造方法里面new,也有可能在类外new了之后传进来,无论用哪一种方式都会使得对象的依赖关系和初始化混乱。如果有了ioc,我们可以通过容器对类进行管理,通过声明的方式把这些类通过容器通过反射自动的注入都别的类里面去。用到的技术,xml(对bean进行定义和解析)、反射(...

2019-02-16 19:55:11 201

原创 mysql主从架构

mysql主从架构如下:mysql应用读写分离:

2019-02-15 16:09:58 565

原创 netty学习基本组件

netty对于socket的抽象

2019-01-29 15:49:44 134

转载 堆外内存的申请回收机制分析

堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代码中还可以使用堆外内存,比如Netty,广泛使用了堆外内存,但是这部分的内存并不归JVM管理,GC算法并不会对它们进行回收,所以在使用堆外内存时,要格外小心,防止内存一直得不到释放,造成线上故障。堆外内存的申请和释放JDK的ByteBuffer类提供了一个接口allocateDirect(int capacity)进行堆外内存的申请...

2019-01-25 17:49:15 285

转载 java 线程的几种状态

新建(new)新建一个线程的对象。可运行(runable)线程对象创建后,其他线程调用该线程的start方法。或者该线程位于可运行线程池中等待被线程调用,已获取cpu的使用权。运行(running)可运行的线程获取了cpu的使用权,执行程序代码/阻塞(block)由于某些原因该线程放弃了cpu的使用权。停止执行。除非线程进入可运行的状态,才会有机会获取cpu的使用权。1、 等待...

2019-01-24 16:56:07 144

转载 synchronized和 Lock 的区别与用法

在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。我们先从最简单的入手,逐步分析这2种的区别。一、synchronized和lock的用法区别synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法上,也可以加...

2019-01-24 11:49:40 304

原创 蚂蚁金服电话面试

今天把项目上线了,终于有一天早下班,在地铁上就接到蚂蚁金服的面试电话,猝不及防,在地铁上不方便,我就让他在十分钟后打电话给我。十分钟后匆匆忙忙稍微找了个比较安静,其实也不安静的地方,面试官打电话给我了。首先他自我介绍了一下,然后开始问问题了。1、object里面有什么方法?2、wait和sleep和await的区别?3、线程的几种状态?4、线程池的优势?线程池的原理5、ThreadL...

2019-01-23 23:05:16 843

转载 以B tree和B+ tree的区别来分析mysql索引实现

B树是一种多路自平衡搜索树,它类似普通的二叉树,但是B书允许每个节点有更多的子节点。B树示意图如下:B树的特点:(1)所有键值分布在整个树中(2)任何关键字出现且只出现在一个节点中(3)搜索有可能在非叶子节点结束(4)在关键字全集内做一次查找,性能逼近二分查找算法B+树是B树的变体,也是一种多路平衡查找树,B+树的示意图为:从图中也可以看到,B+树与B树的不同在于:(1)所有关...

2019-01-23 18:22:38 101

转载 B tree和B+tree的区别

相同的地方:B树和B+树其实都是平衡搜索树。这里要脑补一下平衡搜索树的概念:这个词划分一下就是平衡+搜索+树。也就是说,他首先是一棵树,其次能搜索,再次他是平衡的。大家耳熟能详的一个概念:二叉平衡搜索树。(详细的大家可以在百度上搜一下定义,或者拿起那本厚实的「算法导论」看看)。不同的地方:但是B树和B+树却有不同的地方。就是这些不同的地方,决定了他们的用处可能不一样。我画了一个不太漂亮的...

2019-01-23 18:11:16 4134 2

原创 常用限流算法

1、令牌桶算法令牌桶算法是比较常见的限流算法之一,大概描述如下:1)、所有的请求在处理之前都需要拿到一个可用的令牌才会被处理;2)、根据限流大小,设置按照一定的速率往桶里添加令牌;3)、桶设置最大的放置令牌限制,当桶满时、新添加的令牌就被丢弃活着拒绝;4)、请求达到后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务逻辑之后,将令牌直接删除;5)、令牌桶有最低限额...

2019-01-23 14:23:11 175

原创 阿里UC面试题

分布式消息队列1,为什么使用消息队列啊?消息队列有什么优点和缺点啊?答案:解耦、异步、削峰、写日志(kafka)2,如何保证消息队列的高可用啊?如何保证消息不被重复消费啊?B, kafka,act ivemq, rabbitmq, rocketmq都有什么优点,缺点啊???4,如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路分布式搜索引擎1,es的工作过程实现是如何的?如何...

2019-01-23 12:09:40 1053 1

原创 50个红球和50个篮球,放入两个箱子,怎么样放置才能使拿到红球的概率最大?

50个红球和50个篮球,放入两个箱子,怎么样放置才能使拿到红球的概率最大?一个箱子放1个红球 另一个放49红球和50篮球 拿到红球概率=0.5+49/99约等于0.75...

2019-01-22 15:25:48 5930 1

转载 两数之和

介绍一下简单的算法:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:对于这道题,首先想到的就是暴力方法,即使用两个for循环,遍历两次数组,看有没有和是目标值的。显然这样时间复杂度太大,O(n*n)因此需要改良的算法,用到哈希查找的方法。建立哈希表,从左向右扫描一遍,将整数与索引存放到map中。扫描一遍,...

2019-01-22 14:50:23 99

整理的真实阿里面试经验分享

整理的真实阿里面试经验分享,从16年到18年的都有,有基础题目、框架题、算法题、智力题等

2019-01-22

空空如也

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

TA关注的人

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