自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎您访问我的公众号【前程有光】

欢迎关注我的公众号【前程有光】 专注于系统架构实战,面试干货,分享百本各类电子书资料

原创 闭关苦修半年,最终靠着这份面试题,我成功拿到了阿里的offer!
原力计划

前言我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了阿里的offer,定级P7。我现在也来写面经,把我还能记住的,写下来,反馈给大家:一面 :mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景,慢查询解决等mysql有什么索引,索引模型是什么B-树与B+树的区别?为什么不用红黑树mysql主从同步怎么做乐观锁

2020-07-01 20:24:42 1977 4

原创 真的可惜,四面阿里,结果我被JVM垃圾回收机制与 OOM异常卡住了

前言为什么需要垃圾回收首先我们来聊聊为什么会需要垃圾回收,假设我们不进行垃圾回收会造成什么后果,我们举一个简单的例子我们住在一个房子里面,我们每天都在里面生活,然后垃圾都丢在房子里面,又不打扫,最后房子都是垃圾 我们是不是就没法住下去了。所以JVM垃圾回收机制也是一样的,当我们创建的对象占据堆空间要满了的的时候我们就对他进行垃圾回收,注意java的垃圾回收是不定时的,c语言的是需要去调用垃圾回收方法刚刚也说到 上面举的例子也说到 假设一个房子都被垃圾堆满了 那么我们没法住人了 那么我们是不是会告

2020-07-31 20:15:36 43

原创 面试官:你说你精通源码,那你知道ArrayList 源码的设计思路吗?

Arraylist源码分析ArrayList 我们几乎每天都会使用到,但是通常情况下我们只是知道如何去使用,至于其内部是怎么实现的我们不关心,但是有些时候面试官就喜欢问与ArrayList 的源码相关的问题,今天我们就来看看和ArrayList 源码相关的问题。一:整体架构1.1、ArrayList 结构ArrayList 整体架构比较简单,就是一个数组结构,比较简单,如下图:图中展示是长度为 n 的数组,index 表示数组的下标,从 0 开始计数,elementData 表示数组本身,源码中

2020-07-31 14:22:41 43

原创 这份java多线程笔记,你真得好好看看,我还没见过总结的这么全面的

1.线程,进程和多线程1.程序:指指令和数据的有序集合,其本身没有任何意义,是一个静态的概念2.进程:指执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位(注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。即在一个cpu的情况下,在同一时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉)3.线程:通常一个进程中可以包含若干个线程,一个进程中至少有一个线程。线程是cpu调度和执行的单位4.并行:指在同一时刻,有多条指令在多个处理器上同时执行。

2020-07-30 20:12:09 68

原创 看看吧!月薪20K以上的程序员才能全部掌握RabbitMq知识,你掌握了多少

一、RabbitMq基础知识0、概述消息队列的作用就是接收消息生产者的消息,然后将消息发送到消费者1、信道channel我的理解是生产者/消费者和rabbitmq交互的一个通道,负责交换机、队列管理;消息发布和消费管理;事务管理等2、交换机四种交换机:direct:可以用一个或者多个key绑定到一个或者多个队列上topic:支持路由的适配符 # *Fanout广播:将消息发送给所有的队列Header头交换机:自定义通过头消息属性来定义路由的匹配3、队列:保存消息的队列4、消费者:消息

2020-07-30 13:45:42 31

原创 教了公司新来的小姐姐这七种排序算法以及实现,她一脸崇拜的看着我

前言最近学习一些排序算法,怕自己以后忘记就打算整理起来供自己复习如有错误希望大佬指正,欢迎大家在评论区交流探讨。1.冒泡排序通过待排序的序列从前往后依次比较相邻的元素,若发现逆序则两两交换,直到下一趟排序下来没有进行交换,说明排序完成冒泡排序每一趟会确定一个最大值(默认从小到大)import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { int

2020-07-29 20:28:45 41

原创 历时两年零三个月,从刚毕业的外包到现在的阿里P7offer,我只做了这几件事

前言最近,金九银十在即,很多人都在准备面试,特别给大家总结了 Java 程序员面试必备题,这份面试清单是我从 去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。下文主要是我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,有需要的可以看文末有领取方式面试题模块介绍说了这么多,直奔主题,我们这份面试题,总内容包含了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常

2020-07-29 16:54:13 65

原创 深度分享:面试阿里,字节跳动,美团90%会被问到的HashMap知识

一,HashTable哈希表,它相比于hashMap结构简单点,它没有涉及红黑树,直接使用链表的方式解决哈希冲突。我们看它的字段,和hashMap差不多,使用table存放元素private transient Entry<?,?>[] table;private transient int count;private int threshold;private float loadFactor;private transient int modCount = 0;它没有常量字

2020-07-29 15:14:08 38

原创 这些Servlet知识你一定要知道,金九银十大厂面试官都爱问

前言Servlet是服务器端的Java应用程序,可以生产动态Web页面。透过JSP执行过程可以知道JSP最终被编译成一个.class文件,查看该文件对应的Java类,发现该Java类继承自org.apache.jasper.runtime.HttpJspBase类,而HttpJspBase继承自HttpServlet类,由此可知JSP第一次运行时实质上是被JSP引擎翻译成了一个Servlet,然后再编译,最后再执行。自定义Servlet类继 承HttpServlet抽象类,HttpServlet抽象类继

2020-07-28 20:58:45 34

原创 【建议收藏】一份阿里大牛花了三天整理出来的XML学习笔记,写的非常详细

1. 什么是XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准2. 为什么使用XML?我们没有XML这种语言之前,我们使用的是String作为两个程序之间的通讯!现在问题就来了,如果我们传输的是带有关系型结构的数据,String怎么表达呢?String对关系型数据

2020-07-28 14:02:07 28

原创 一年六个月十八天,从外包到字节跳动客户端提前批,没想到我也能够逆袭

前言话不多说,但先介绍一下自己还是要的,末流985大学本科,自动化方面专业,自学Java和后端。听朋友说字节今年后端投递的人非常多,竞争比较大,我本科不是CS,也只是做创新创业项目的时候接触过Java后端,后来看到有说客户端0经验的,就让别人帮忙内推了一下,没想到四面过了!!!哈哈哈分享一下我的面试流程:一面(45min左右):自我介绍。(我就说了下自己的经历和项目)问了一下平时怎么学Java的,做的项目有没有和Java有关的。进程和线程的区别。http请求三次握手,四次挥手

2020-07-27 21:21:33 62

原创 面试官:小伙子,你能给我说一下HashMap的实现原理吗?

1. HashMap概述:HashMap是基于哈希表的Map接口的非同步实现(他与Hashtable类似,但Hashtable是线程安全的,所以是同步的实现),此实现提供可选的映射操作,允许使用null值和null键,但他并非有序。2. HashMap数据结构与实现原理:在jdk1.7和jdk1.8中,HashMap的数据结构是有所差别的,进行一些优化来解决冲突问题,下面我们就分别从两个版本的角度来分析一下他的改动与区别(一)jdk1.7版本在jdk1.7版本的时候采用的是数组+链表的形式,也就是

2020-07-27 13:52:03 48

原创 盘点一下面试官最爱问的泛型和包装类,建议反复观看,真的写的非常详细

泛型泛型:可以在类或方法中预支地使用未知的类型。tips:一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。通过我们如下代码体验一下:public class GenericDemo2 { public static void main(String[] args) { Collection<String> list = new ArrayList<String>(); list.add("abc

2020-07-26 20:16:36 37

原创 深度分析:面试阿里,字节跳动,美团90%被问到的List集合,看完还不懂算我输

1 List集合1.1 List概述在Collection中,List集合是有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。在List集合中,我们常用到ArrayList和LinkedList这两个类。关于Java List的一些重要观点是;Java List接口是Java Collections Framework的成员。List允许您添加重复元素。List允许您拥有’null’元素。List接口在Java 8中有许多默认方法,例如replaceAll,

2020-07-26 14:02:37 35

原创 2020阿里Java面试题目大汇总,看看你离阿里还有多远,附答案!

前言首先说一下情况,我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了阿里的offer,定级P7。现在我把我面试经历的东西整理出来分享给大家,希望对大家有所帮助!(文末附答案)一:阿里技术一面常用的异常类型?sessionjava锁gc原理hashmaplistlink arraylist 区别aop 原理多线程kafka 原理和容错spark had

2020-07-24 20:16:08 90

原创 不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

什么是线程安全?当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作时不会发生数据冲突问题。线程安全解决办法?1、如何解决多线程之间线程安全问题?答:使用多线程之间同步synchronized或使用锁(lock)2、为什么使用线程同步或使用锁能解决线程安全问题呢?答:将可能会发生数据冲突问

2020-07-24 14:22:50 32

原创 java开发两年,连Spring中bean的装配都不知道?你怎么涨薪啊

Spring1.1.1.1 创建一个beanpackage com.zt.spring;public class MyBean { private String userName; private Integer userAge;}1.1.1.2 配置Config 配置beanpackage com.zt.spring;import org.springframework.context.annotation.Bean;import org.springframe

2020-07-23 21:06:04 38

原创 要去面试,先刷完这16道高频面试题,阿里,字节跳动,美团任你选

1.JDK8 新特性Lambda 表达式-也是函数编程的一种方式(将函数做为参数)方法的应用,应用已有的java类对象的方法或者构造器。与Lambda表达式相结合,方法应用使得语言构造更加简洁,从而减少代码的冗余默认方法,默认方法就是一个在接口里边有了一个实现的方法新工具-新的编译工具,如:Nashorn引擎jjs,类依赖分析器jdepsStream API  - 把真正的函数式编程风格引入到Java中。Date Time API - 加强对日期与时间的处理Optional 类 -

2020-07-23 14:22:54 54

原创 你看,蚂蚁金服都上市了,程序员什么时候才能财富自由呢?

前言今天我们不聊技术,我们聊聊互联网,聊聊程序员,聊聊毕业后的自己。我已经毕业很久了,甚至已经慢慢记不清当时毕业后的情况了,知道前几天和粉丝聊天的时候一位刚毕业的粉丝问我,大佬你毕业后第一年是怎么熬过来的啊?我当时有点懵,从什么时候我们会用‘熬’这个字来形容自己的生活,自己的工作。毕业前的我们满怀细想,充满朝气我一定要闯出自己的事业,我要怎么怎么样!可是从踏出校门的那一刻开始,我们的朝气,活力,拼劲都被每个月的花呗借呗,加班,同事的摩擦,领导的训骂给磨的一丝不剩了。剩下来的只有那颗早已没有冲劲却还在每天跳

2020-07-22 21:19:12 423

原创 java开发三年,Java中接口的使用你得知道,不然你凭什么涨薪

接口概述:接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–>.classpublic interface 接口名.java–>.class接口的使

2020-07-22 14:36:45 72

原创 我从未见过如此精辟的解说方式,双列集合框架 Map,看一遍就够了

1.常用的实现类结构一、HashMap实现了Map、Cloneable、Serializable接口,继承了AbstractMap类public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable /** * Map接口: 实现键值对,Map接口规定了一个key对应一个value *

2020-07-21 20:30:45 44

原创 又陷入知识盲区了,面试被问SpringBoot集成dubbo,我当时就懵了

前言前两天在和粉丝聊天的时候,粉丝跟我说之前在面试的时候被问到SpringBoot这一块的知识被问的有点懵,和我问了不少这方面的东西。事后我想了想不如把这些东西分享出来吧,让更多的人看到,这样不管是对自己知识的一个提升还是对面试的准备都有好处。好了,满满的干货都在下面了!1.创建maven项目父工程(不使用idea的spring Initializr)不勾选任何模板,直接使用默认项目模板删除src文件夹,创建这个项目的目的是为了作为父工程,无需src文件夹,只保留pom文件即可编辑pom文件设

2020-07-21 14:11:17 94

原创 阿里面试官:小伙子,你给我说一下Spring Bean初始化的几种常规方式吧

前言通过构造方法实例化通过静态工厂实例化通过实例工厂实例化通过FactoryBean实例化RumenzA实体类package com.rumenz;public class RumenzA { private String id; private String name; public static RumenzA createRumenzA(){ RumenzA rumenzA=new RumenzA(); rumenzA.

2020-07-20 20:47:25 83

原创 Java8用了这么久了,Stream 流用法及语法你都知道吗?

1.简介Stream流 最全的用法Stream 能用来干什么?用来处理集合,通过 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,Stream API 提供了一种高效且易于使用的处理数据的方式为什么用Java 8 Stream ?因为 操作简单为什么操作简单?因为 Lambda 表达式,它极大的提高了编程效率和程序可读性怎么操作流? 首先你的有个数据源(数组、集合),操作会产生新的流对象,原来的流对象不会改变流用法有结束操作,这种代码不是你写了一个方法就执行

2020-07-19 20:34:09 68

原创 这个厉害了,阿里P7大佬都在看的SpringCloud 总结,帮你梳理全部知识点!

微服务微服务架构是一种以一些微服务来替代开发单个大而全应用的方法,每一个小服务运行在自己的进程里,并以轻量级的机制来通信, 通常是 HTTP RESTful API。微服务强调小快灵, 任何一个相对独立的功能服务不再是一个模块, 而是一个独立的服务。  微服务是一种生态,不是一种具体技术微服务的特性自主性(松耦合)可以对微服务架构中的每个组件服务进行开发、部署、运营和扩展,而不影响其他服务的功能。这些服务不需要与其他服务共享任何代码或实施。各个组件之间的任何通信都是通过明确定义的 API 进行的。

2020-07-19 15:18:08 168

原创 金九银十想去跳槽面试?那这份Java面经你真得看看了,写的非常详细!

前言前两天在和朋友吃饭的时候聊到时间这个东西是真的过的好坏啊,金三银四仿佛还在昨天。一眨眼金九银十又快到了,对程序员来说这两个是一年最合适的跳槽涨薪环节了,今年的你已经做好准备了吗?不妨看看这篇文章吧,基本的面试流程以及面试题全整理在下方了!一、面试整体流程1.简单的自我介绍2.简单介绍一下你的项目为了解决XXX问题,开发了一套XXX系统,该系统主要有那些部分组成,简单介绍项目的架构,参与哪个模块的开发,说一下这个模块的业务及设计3.问一些JAVA的基础知识4.一般会问你还有什么需要问我的吗?

2020-07-17 19:46:13 63 1

原创 全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知

前言前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧。话不多说,满满的干货都整理在下面了!JVM探究jvm的位置jvm的体系结构堆里面有垃圾,需要被GC回收栈里面是没有垃圾的,用完就弹出去了,栈里面有垃圾,程序就崩了,执行不完main方法。Java栈,本地方法栈,程序计数器里面是不可能存在垃圾的。也就不会有垃圾回收。所谓的jvm调优就是在堆里面调优了,jvm

2020-07-17 13:49:54 78

原创 新鲜出炉,这是全网讲的最详细的springboot整合消息服务了吧,建议收藏!

springboot整合activeMqActiveMq是Apache提供的开源消息系统采用java实现,很好地支持JMS(Java Message Service,即Java消息服务) 规范ActiveMq安装:http://activemq.apache.org/components/classic/download/ 在官网下载安装对应的版本下载完成后解压就可以使用ActiveMq默认的端口号是8161,用户名和密码都是admin 在本机可以使用http://localhost:8161 去

2020-07-16 20:19:48 53

原创 java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪
原力计划

前言前两天和一个同学吃饭的时候同学跟我说了一件事,说他公司有个做了两年的人向他提出要涨薪资,他就顺口问了一个问题关于spring依赖注入的,那个要求涨薪的同学居然被问懵了。。。事后回家想了想这一块确实有点难度的就写篇文章把我自己知道的和网上整理的分享给大家,至少大家在被问到这一块的时候能答上来,不会因为这个被卡涨薪。话不多说,满满的干货都在下面了!1.什么是Spring的依赖注入?依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码

2020-07-16 13:37:02 305

原创 这个是真的厉害,高并发场景下的订单和库存处理方案,讲的很详细了!
原力计划

前言之前一直有小伙伴私信我问我高并发场景下的订单和库存处理方案,我最近也是因为加班的原因比较忙,就一直没来得及回复。今天好不容易闲了下来想了想不如写篇文章把这些都列出来的,让大家都能学习到,说一千道一万都不如满满的干货来的实在,干货都下面了!介绍前提:分布式系统,高并发场景商品A只有100库存,现在有1000或者更多的用户购买。如何保证库存在高并发的场景下是安全的。预期结果:1.不超卖 2.不少卖 3.下单响应快 4.用户体验好下单思路:下单时生成订单,减库存,同时记录库存流水,在这里需要先

2020-07-15 21:26:47 198 2

原创 实在是秒啊,我还从来没见过把Spring之AOP讲的这么通俗易懂的,安排!
原力计划

Spring之AOP什么是AOP?AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。目的:  利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。作用及其优势作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强优势: 减少重复代码,提高开发效率,并且便于维护AOP 的底层实现AOP 的底层是通过 S

2020-07-15 16:06:41 152

原创 深度分析:java8的新特性lambda和stream流,看完你学会了吗?
原力计划

1. lambda表达式1.1 什么是lambda以java为例,可以对一个java变量赋一个值,比如int a = 1,而对于一个方法,一块代码也是赋予给一个变量的,对于这块代码,或者说被赋给变量的函数,就是一个lambda表达式//为变量赋值int a = 1;//将代码块赋值给变量var = public void fun(int x){ x+1;}//可以简化var = (x)->x+1;1.2 java为什么要引入lambdalambda是为函数式编程服务的编

2020-07-14 19:51:13 45

原创 花了三天整理,Spring Cloud微服务如何设计异常处理机制?还看不懂算我输
原力计划

前言首先说一下为什么发这篇文章,是这样的、之前和粉丝聊天的时候有聊到在采用Spring Cloud进行微服务架构设计时,微服务之间调用时异常处理机制应该如何设计的问题。我们知道在进行微服务架构设计时,一个微服务一般来说不可避免地会同时面向内部和外部提供相应的功能服务接口。面向外部提供的服务接口,会通过服务网关(如使用Zuul提供的apiGateway)面向公网提供服务,如给App客户端提供的用户登陆、注册等服务接口。而面向内部的服务接口,则是在进行微服务拆分后由于各个微服务系统的边界划定问题所导致的功能

2020-07-14 13:29:02 70

原创 做了两年java,这些高性能高可用高并发的技术架构你都知道吗?
原力计划

前言每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行等一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展、安全等各种技术架构目标。一、分层分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一个完整的系统。在

2020-07-13 20:58:49 93

原创 面试阿里,字节跳动90%会被问到的微服务,你确定不进来看看吗?
原力计划

1、您对微服务有何了解?微服务:又称微服务 架构,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 。通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物。他们最初从使用各种材料的小部分开始,并继续从中构建一个大型蜂箱。这些细胞形成图案,产生坚固的结构,将蜂窝的特定部分固定在一起。这里,每个细胞独立于另一个细胞,但它也与其他细胞相关。这意味着对一个细胞的损害不会损害其他细胞,因此,蜜蜂可以在不影响完整蜂箱的情况下重建这些细胞。请参考上图。这里,每个六边形形状代表单

2020-07-13 13:22:35 215

原创 阿里面试官:小伙子,你给我说一下前后端分离的接口规范是什么?
原力计划

1. 前言随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自撸起袖子就是干,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚至会更高。往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。本文的主要初衷就是规范约定先

2020-07-12 20:19:05 114

原创 深度分析:面试阿里,字节跳动,美团几乎都会被问到的阻塞队列
原力计划

基本概念阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空阻塞队列一共有7种,我们着重讲一下ArrayBlockingQueue ,LinkedBlockingQueue ,DelayQueue,SynchronousQueue这四种阻塞队列ArrayBlockingQu

2020-07-12 13:37:40 71

原创 java大厂面经-阿里腾讯、网易美团、京东、华为、快手、字节全在这里了
原力计划

前言在这篇文章详细说了该如何去复习,之前也答应各位把面经整理一下,但是因为入职的事情耽搁了,现在整理出来回馈给大家!美团一面0.自我介绍1.问项目(项目详细介绍、用到什么技术、有什么优化)2.线程池?创建线程池需要哪些参数?是否会存储内存溢出?3.常用的数据结构?4.栈跟队列的区别?5.编程题:使用两个栈实现队列的功能6.mysql的b树和b+树?7.聚簇索引和非聚簇索引?8.索引的优化,索引的失效?为什么不是索引建的越多越好?9.线程安全的问题?(这个问题我并没有听懂)10.创

2020-07-10 20:46:21 235

原创 面试半年!三面阿里,四面蚂蚁金服,居然倒在了一个Java集合之Map上?
原力计划

Map接口Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写 hashCode()和 equals()方法常用 String类作为Map的“键”key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的valueMap接口的常用实现类:HashMap、TreeMap、LinkedHashMap和Proper

2020-07-10 14:08:01 140

原创 新鲜出炉!2020年最新java面试题大全,面试突击必备!

前言发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了一套Java面试题,希望对大家有帮助哈~打算这几天每天更新15~20题。(这样有助于你们阅读和理解!)我们先从简单的开始1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。 具体来说 JDK 其实包含了

2020-07-09 21:05:24 87

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