自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从单机到分布式

计算机5要素变化冯·诺依曼提出:计算机要分为5大组成要素运算器控制器输入设备输出设备存储器这5大组成要素从单机到分布式都经过变化。运算器在单机环境中,运算器大多指的是负责系统运算的核心部件。在分布式环境下,由于服务器从一到多的进行转变,运算器则可以解释为一个分布式系统下所有服务器的运算器,每个运算器都担任运算功能,但单个运算器又不能完成全部工作,所以整个系统的所有运算器统称为分布式环境下的运算器,所有运算器的共同运算能力为整个分布式系统的运算能力。控制器单机环境下控制器主要是指的是

2020-08-23 17:03:30 441

原创 Redis数据的持久化(RDB,AOF,混合)

一. 引言对于一个以内存作为存储介质的数据库来说,持久化是非常重要的一个模块。在Redis中有两种持久化策略,分别是RDB和AOF。本文就RDB和AOF持久化策略以及二者的优缺点进行简单描述。二. RDB1. RDB持久化的原理所有的数据在Redis中都是以key/value的形式存储。把某个时间点Redis数据库的key/value数据记录到文件,然后存储到磁盘这种持久化形式就是RDB持...

2019-08-10 19:59:04 1150

原创 阿里巴巴Java开发校招提前批一面总结20190710

首先自我介绍。1.一道笔试题判断是否匹配:aabb 匹配 “杭州 杭州 北京 北京”,返回true。abab 匹配 “杭州 北京 杭州 北京”,返回true。abab 匹配 “杭州 杭州 北京 北京”,返回false。2.说一下hashmap的底层数据结构我自己对map这块知识点的总结 : 传送门3.ArrayList和LinkedList的区别简单来说就是数组...

2019-08-10 15:50:46 2024 2

原创 阿里巴巴Java开发校招提前批二面总结20190716

自我介绍,项目介绍,实习单位介绍。1.项目中遇到的难点以及你是如何解决的根据实际项目来说2.实习工作中遇到的难点以及你是如何解决的根据实习工作来说3.说一下你对线程池的理解这里有我自己对线程池这一块内容的总结:一文看透线程池4.对于单线程和多线程的理解说一下,他们各自的优缺点单线程在执行时能避免线程上下文切换导致的性能开销,并且没有线程安全问题,能够按照开发者意愿去...

2019-08-10 15:50:36 748

原创 阿里巴巴Java开发校招提前批三面总结20190722

自我介绍,项目介绍,实习单位介绍1.说一下你实习过程中遇到的难点,还有你是怎么解决的根据实习项目说就好2.说一下你学校那个项目中你认为比较难的点,然后你是怎么处理的根据自己的项目说就好。(ps:我自己做的项目是已经上线了,然后面试官真的去搜索使用了。。。)3.你的项目中有遇到使用多线程的地方吗?描述一下根据自己说就好,多线程这一块用的还是很广泛的。4.平时用什么数据...

2019-08-10 15:50:27 2521 4

原创 Redis数据库中数据的生与死(存活时间与过期淘汰)

文章目录一.引言二.Redis数据存活时间的实现1.过期时间的存储2.过期时间的格式3.其他的函数三.Redis数据删除策略1.过期数据的删除策略2.未过期数据的删除策略四.数据删除相关知识1.数据共享2.数据删除的流程五.总结一.引言在Redis中存储的数据可以拥有一个存活时间,在存活时间内的数据可以被使用,当过了存活时间就会被删除。存活时间这一功能让Redis中的数据具有了新陈代谢的能力,...

2019-08-04 19:49:35 2469

原创 Redis的基本数据类型(底层结构,数据操作与事件通知)

一 . 引言最近读完了《Redis设计与实现》这本书,对Redis数据库的理解加深了许多。于是就想把自己在书中所学,日常积累的知识做一个系统的总结。本文主要说的是Redis的5个基本数据类型:字符串(String),列表(list),哈希(hash),集合(set),有序集合(zset)包括数据的创建,底层的结构,操作数据命令的执行和数据删除策略这几块内容都会简单的归纳(注意:简单的归纳,...

2019-07-27 19:29:29 338

原创 Java中的并发工具类(CountDownLatch,CyclicBarrier,Semaphore和Exchanger)小结

目录一.正文前二.并发工具类总结1.CountDownLatch2.CyclicBarrier3.Semaphore4.Exchanger三.小结一.正文前Java技术书籍看了不少,其中最让我喜欢的就是《Java并发编程的艺术》。现在在读第五遍,书不厚,知识点也不难理解,但是要把他们真正融会贯通需要反复琢磨。本文是对书中第八章:并发编程工具类做一个自己的总结...

2019-07-21 18:51:01 407

原创 Redis的底层数据结构

目录引言Redis底层数据结构1.SDS(Simple Dynamic String)2.链表(list)3.字典(dict)4.跳跃表(zskiplist)5.整数集合(intset)6.压缩列表(ziplist)7.快表(quicklist)小结引言Redis是目前非常火热的一个非关系型数据库,它内置的数据类型一共有5种,string,li...

2019-07-13 19:05:21 810 2

原创 阿里巴巴Java研发实习三面面经20190622

1.说说你的项目吧简单介绍了自己项目的技术点。2.SpringBoot有了解过吗?有3.SpringMVC和SpringBoot的区别是什么SpringMVC是Spring生态中的一个功能模块,是一个web层框架,通过其中的DispatcherServlet,ModelAndView等组件提供了MVC模式的请求接收,处理,视图解析这些功能。是SSM架构中的一个框架。Spri...

2019-07-01 16:07:04 622 1

原创 从源码分析Java阻塞队列的工作方式

目录1.阻塞队列能做什么2.阻塞队列里有什么3.put方法的工作原理4.take方法的工作原理5.其他的方法6.其他的阻塞队列说到阻塞队列,大家的第一反应都是听说过,但是用的很少。阻塞队列的Java并发包中的一个重要组件,可以通过线程阻塞的方式实现线程安全的队列功能。阻塞队列在JDK中应用的也很多,各种线程池的实现就离不开各具特色的阻塞队列。这次,就从阻塞队...

2019-06-12 13:42:45 189

原创 阿里巴巴Java研发实习二面面经20190610

还是熟悉的自我介绍 。1.数据库事务ACID数据库ACID指的是数据库事务的原子性,一致性,隔离性和持久性。原子性指的是一个事务作为数据库的执行单元,其中的操作要么全部成功,要么全部失败。一致性指的是事务执行前后应该满足一致性条件,比如数据库中有个约束是 a + b = 10,a = 5,b = 5。当执行事务以后a变为7,那么根据一致性条件b就要变为3。隔离性指的是在多个事务...

2019-06-11 20:49:08 448

原创 深入理解AQS(AbstractQueueSynchronizer)

目录1.引入什么是AQS2.AQS的架构设计AQS可以做什么AQS中主要包含什么AQS的工作原理Condition的工作原理3.AQS的应用使用AQS的好处自己实现AQS1.引入什么是AQS说到AQS(AbstractQueueSynchronizer),很多同学都表示没听过。但是重入锁,读写锁这些同步工具大家肯定都用过,AQS都是这些锁底...

2019-05-30 14:31:32 565

原创 一文看透Java线程池

目录1.引入为什么要用线程池线程池使用场景2.线程池的架构设计线程池是什么线程池的简单架构图线程池的各项参数线程池的任务提交策略线程池中线程如何获取任务线程池的拒绝策略3.预设线程池FixThreadPoolSingleThreadExecutorCachedThreadPoolScheduledThreadPoolExecutor4...

2019-05-30 11:57:34 268

原创 阿里巴巴Java研发实习一面面经20190528

先来一段子自我介绍,和面试官简单聊聊。1.面向对象三大特征解释一下面向对象三大特征是封装,继承,多态。封装:把描述一个对象的属性和行为封装成一个类,把具体的业务逻辑实现成一个方法。并且封装能通过访问修饰符保护对象,让一个对象的属性私有,方法公开。继承:继承可以实现代码复用,把多个子类的共同特征抽取成一个父类,所有子类都能获得父类的所有属性和行为。继承具有单一性和传递型。多态:多...

2019-05-29 19:27:07 309

原创 Android职业规划

1.目前情况与知识储备上个月收获了抖音的Android工程师offer,准备以后入坑Android了。由于之前是做后端居多,现在转Android有必要给自己做一个规划。目前已有的知识储备:JavaSE基础,JavaEE基础,JVM,面向对象设计模式,Spring等Java框架,计算机网络,操作系统,MySQL数据库,Redis缓存,H5+CSS3+JS基本操作,数据结构。2.Andro...

2019-05-20 15:47:25 3799 4

原创 MySQL的知识点总结(并发,锁,事务)

说到数据库,就会聊到许多方面的东西。最近自己也是准备再一次系统的学习MySQL数据库。用博客记录自己的学习历程,希望在两个月的闭关后能达到自己目标。目录1.引入1.一条sql语句的执行流程2.事务与并发问题1.什么是事务2.RollBack的实现3.事务的四大特性(ACID)4.事务并发的三个问题(脏读,不可重复读,幻读)5.事务的隔离级别3.MySQL...

2019-05-20 01:53:32 1719

原创 RxJava源码分析(subscribeOn,observeOn与线程切换)

RxJava简介RxJava是现在大火的一个异步框架,他代码简洁好懂,功能强大,扩展性高,维护难度小。RxJava最吸引人的功能就是它的线程切换功能。在Android开发中,UI组件只能在主线程中进行,但是主线程中执行太复杂的逻辑又会导致APP卡顿,因此灵活的线程切换是一个安卓开发工程师的必会技能。RxJava提供了优秀的线程切换能力,能在不同的线程执行规定的逻辑代码。这次就来聊一聊RxJ...

2019-04-28 20:06:17 525

原创 RxJava源码分析(map,flatmap和类型变换)

目录RxJava简介RxJava源码分析(map方法)简单示例源码分析示例代码执行小结RxJava源码分析(flagmap方法)简单示例源码分析示例代码执行小结RxJava简介RxJava是现在大火的一个异步框架,他代码简洁好懂,功能强大,扩展性高,维护难度小。RxJava最具特色的就是他的类型变换了,这是RxJava最难理解的一部分,也是R...

2019-04-28 16:30:41 661

原创 Retrofit的封装之道

目录Retrofit简介怎么读源码Retrofit使用示例①:建立顶级工具类②:动态代理生成操作对象实例③:调用代理对象的方法④:操作Call对象⑤:打印结果小结Retrofit简介Retrofit是目前使用广泛的一款网络框架。底层通过封装OkHttp实现网络访问,并且具有高度解耦的特性。之前使用OkHttp我们需要自己封装Request,生成Cal...

2019-04-27 19:04:02 964

原创 从源码层面解析OkHttp的工作方式

目录1.OkHttp简介2.阻塞方式使用OkHttp①:首先创建一个OkHttpClient对象,这个对象用来统领一切的功能组件。②:通过Request类的静态方法把访问网络的各种条件封装成一个Request对象。③:把Request对象封装为Call对象。④:操作Call对象⑤:操作response获取信息2.非阻塞方式使用OkHttp3.小结分析源码,首...

2019-04-21 19:24:08 380

原创 完美世界Java研发实习HR面试面经20190416

简单的自我介绍1.你的项目是几个人做的啊最早包括我就两个人,现在项目正在推广,整个团队已经5个人了。2.项目中有遇到问题,怎么解决的根据项目回答3.你感觉团队一起工作和自己独立工作的区别是什么自己写代码比较随意,整套代码都是自己完成,在一些接口制定上比较随便。团队工作的话要制作大家认可的接口规范,不然每个人都按照自己的想法写代码那项目永远无法进展。我觉得团队工作更严谨,而且...

2019-04-17 20:48:59 944

原创 完美世界Java研发实习二面面经20190415

自我介绍,项目介绍1.聊聊你的项目吧,现在做的怎么样了根据自己的项目来说2.平时学习是通过哪些途径平时我会看一些新技术的博客来拓宽我自己的技术视野,沉淀下来的基础知识我更愿意去读一些有名的书来学习,也会利用碎片时间看一些技术号推送的文章。3.你有了解业内新技术动向是吧,那你简单概括一下JDK12的新特性吧JDK12首先在垃圾回收器上改动很大,新增一款短停顿时间的收集器,还对...

2019-04-17 20:25:39 473

原创 金三银四,我与字节跳动的故事

双非大三,没有考研计划,想找一份实习然后稳定下来。招聘岗位是Java研发。在金三银四的招聘季,我投了很多简历,有收获,更多的是失败。我投过阿里,简历面是我的人生第一面,紧张的什么都说不出来,自我介绍仅仅说了自己的名字。可想而知,直接挂了。我投过腾讯,一面结束面试官说下次再打给我,最后了解到这个部门不用Java技术,然后就挂简历了。然后我尝试了字节跳动。笔试四道编程题我做出来...

2019-04-17 12:57:53 628

原创 快手Java研发实习一面面经20190413

自我介绍,项目介绍。1.说一下HashMap吧大家可以看我之前的博客:Map一家亲2.ConcurrentHashMap怎么实现线程安全大家可以看我之前的博客:Map一家亲3.volitole可以为什么可以代替锁大家可以看我之前的博客(写了太多遍了,再写就吐了):Java中的三大关键字4.做个题吧。有一个二叉树,给你节点A和节点B,找出他们最近的公共祖先节点很基础的...

2019-04-15 12:04:18 744

原创 完美世界Java开发一面面经20190411

电话面试开始面试,首先自我介绍。1.Exception和Throwable的关系Java中的异常分为Error和Exception两大类,Error表示无法解决的错误,Exception表示可以尝试恢复的异常。两个类都是Throwable接口的实现类。2.checked异常和unchecked异常有什么区别checked异常要求我们必须在函数中进行catch或者在声明函数的地方...

2019-04-11 19:47:23 1304 8

原创 Java面试补给站——final、volatile、synchronized三大关键字

如果说语法是一个编程语言的骨架,那么关键字就是骨架的关节。在Java中有各种功能的关键字,最常用的int,break,public这些关键字都是在编程过程中必不可少的。本文从面试提问的角度聊一下final、volatile、synchronized这三个关键字。1.开篇为什么就聊final、volatile、synchronized这三个关键字呢?并不是说其他关键字不重要,而是在笔...

2019-04-10 19:21:45 1411 2

原创 抖音Android(Java)研发实习三面面经20190404

自我介绍,项目介绍缓冲一下气氛。1.Java中怎么创建一个新的线程有三种基本方法,继承Thread类,实现Runnable接口,向Thread对象如果该对象。实现Callable接口,配合FutureTask使用。其中Runnable接口实现和Callable接口实现都是让线程作为一个任务,他两的区别是实现Callable接口的线程在运行结束后会有一个返回值,实现Runnable接口没有返...

2019-04-05 15:11:54 979

原创 抖音Android(Java)研发实习二面面经20190402

一面过后面试官让我等5分钟继续二面。一面面经传送门开始面试,首先惯例自我介绍,项目介绍1.平时是怎么学习的看书和读源码,看书多一点,在碎片时间会看一些博客和技术号的文章2.看过哪些书(参考一面面经)3.有没有对自己未来做过规划啊有,我简历投的是Java后端,但是公司里基本没有用Java写后端的,所以我就被调岗来到了安卓。之前给自己规划的是先把后端这一部分学精学细,然后想...

2019-04-05 13:38:50 403

原创 抖音Android(Java)研发实习一面面经20190402

惯例自我介绍,项目介绍1.平时通过哪些方式学习读书和看源码多一些,Java周边的书籍读的比较多。还看一些博客和资料。平时会利用碎片时间看一些技术号发布的文章。最近在看Spring的源码。2.看过哪些书《Java编程思想》,《深入理解Java虚拟机》,《Java8实战》,《并发编程的艺术》,《高性能Mysql》,《设计模式》。其他书也有看,但只是挑了一部分去看的,没有完全看完。3...

2019-04-05 11:50:47 735

原创 今日头条Java研发实习三面面经20190323

这是今天的第三面,也是最后一面。给一下前两面的传送门吧!字节跳动一面字节跳动二面这次应该是一个leader面试我,气场就不一样。上来先来个自我介绍,我一直以为这个是HR面,就很轻松的说了一下自己,他也很轻松,和我聊了一些实习城市的选择这些问题,直到他突然一句话:先来做个题吧!听到这句话我感觉有人浇了我一盆冷水啊,我一直以为这是HR面试,心情很放松的,这一句话一下就让我紧张起...

2019-03-31 10:57:34 799

原创 今日头条Java研发实习二面面经20190323

一面结束后的10分钟,开始了二面。首先自我介绍,介绍自己,介绍项目1.说说你项目吧根据自己项目来说2.嗯好,说说Java的垃圾回收算法吧垃圾回收大体分为两步,首先是如何判别垃圾。分为引用计数法和可达性分析法。引用计数法是给每个对象加一个计数器,每有一个指向它的引用就给计数器加一,当这个计数器为零时表示没有引用指向这个对象,这时这个对象就是一个可以被回收的对象。但是这个算法有...

2019-03-28 18:03:37 623 2

原创 今日头条Java实习研发一面面经20190323

23号这天一次性来了三场面试,面试的问题都有点混了。首先自我介绍,老样子,介绍一下自己,介绍一下项目。1.说说你的项目,主要有什么功能这个因项目而定吧,大体介绍一下。2.了解HashMap吗?说一下吧HashMap和HashTable常常被放在一起对比,HashMap和HashTable都是底层通过哈希表来存储信息的容器,哈希表是用空间换时间算法的代表。在插入一个数据时,首先计...

2019-03-28 11:47:59 394

原创 大连腾讯无线Java研发实习一面面经20190325

这次是和面试官面对面进行交谈的。首先一段自我介绍,简单介绍一下自己,简单介绍一下擅长的领域以引导面试官提问相关的问题,然后说一下自己的项目。1.说说你的项目的,具体有哪些模块,你负责哪些部分(这个问题因人而异,详细介绍一下项目即可)。2.项目用了几张表,那些表的操作比较活跃大概用了9张吧,我记不太清了。因为目前项目正处于推广阶段,因此用户表的操作比较频繁,我想以后使用人数稳定下...

2019-03-27 11:06:08 2618 4

原创 腾讯Java研发实习一面面经20190322

惯例的自我介绍。其实自我介绍也挺有学问的,自我介绍的方面很大程度决定了接下来的问题。我先简单的介绍了一下自己,然后说了一下最近在学习的东西,然后说对Java很感兴趣,喜欢做很酷的事情。最后说了一下自己的项目。1.说说Java的内存模型吧Java的内存模型主要分为两大块,线程共享区和线程独享区。独享区就是我们平时说的栈,主要包括虚拟机栈,本地方法栈和程序计数器,两个栈都是用来调用方法...

2019-03-22 18:13:05 313

原创 Java面试补给站——Map一家亲

Map,几乎是使用最广的一个数据结构了,他通过键值对应的方式存储数据。小到各种算法题,大到Redis数据库都是用这种存储方式。可以说,键值对应存储是存储格式发展的一个小趋势。因此掌握Java中各种Map也是必不可少的。本文从面试提问的角度说一下各种Map的区别和应用场景。Map的分类和存储方式如上文所说,Java中的Map是用来存储键值对的。Map在设计思想是通过把键值两个变量“装”到...

2019-03-21 14:54:51 979

原创 阿里巴巴Java研发实习一面面经20190319

首先来一段自我介绍,双非没什么好说的,简单的说了一下自己叫什么,Java学的还不错,目前在维护一个小程序的。面试官问问我在学校开的课程,然后问问成绩。1.你刚刚说你的项目中的有个实名认证,这个是怎么做的买了阿里云的服务器,在服务器上挂vpn,然后通过vpn可以访问学校内网。用户验证时,输入学号和教务处密码,然后前端通过简单的对称加密,传输到后端服务器解密,然后模拟一个http请求访问学...

2019-03-20 13:24:45 589

原创 Java异常小总结

1.异常的分类Java的异常处理主要通过Throwable这个类实现的,Throwable又分为Error和Exception两大类。Error:程序没有办法处理的错误,类似于内存溢出这种错误。Exception:程序可以通过一些手段恢复的异常。2.异常的继承一般自定义异常只需继承Exception类即可。Exception类中有多个构造方法,简单一点的是子类中调用Except...

2019-03-18 19:13:44 140

原创 设计模式——迭代器模式

设计模式——迭代器模式俗话说:术业有专攻。作为一个容器,我只要负责存储对象就好嘛,迭代这种事本来就不该我管。1.情景举例最近程序员小C在公司项目中的一个模块。大体的需求就是自己通过封装通过数组实现一个容器类,并在其中放入特定的数据对象,然后暴露出相应的查询接口以便其他模块查询使用。这种问题对于小C来说小菜一碟,他马上就完成了这个容器类。public class MyConta...

2019-03-07 10:25:30 150

原创 设计模式——模板方法模式

设计模式——模板方法模式小时候每次考试的时候,都希望考卷都是写好的,每个人发一张,然后大家写上自己名字交卷子就可以了23333。1.情景举例公司又要制造机器了,我们的麻烦也就又来了。这两天,来了个新活儿,有个餐厅的一角放几个自助饮料机。经过调查之后,发现员工们普遍喜欢咖啡,橙汁,茶水。于是公司接了这个活。设计团队首先定义了一个所有饮料机的父类,以便统一管理他们。public ...

2019-03-04 20:49:47 159

空空如也

空空如也

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

TA关注的人

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