
Java
文章平均质量分 65
Java
普通网友
这个作者很懒,什么都没留下…
展开
-
SQL查找是否“存在“,告诉你一个最省时的方法
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写 SQL 的时候,还要 SELECT count(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的 count目前多数人的写法多次 REVIEW 代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的 SQL 及代码写法如下##### SQL写法:SELECT count(*) FROM table WHERE a = 1 AND原创 2020-07-15 13:46:17 · 905 阅读 · 0 评论 -
看图搞懂微服务架构
微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。今天我们通过一组手绘图来梳理下微服务的核心架构。什么是微服务?微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下:就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。但通常在其而言,微服务架构是一种架.原创 2020-07-22 21:50:54 · 1930 阅读 · 0 评论 -
JDK14的最新特性之instanceof模式匹配
JDK14在2020年的3月正式发布了。可惜的是正式特性只包含了最新的Switch表达式,而Records,patterns,text blocks仍然是预览特性。本文要讲的就是JDK14的一个预览特性instanceof的pattern matching。也就是说在instanceof中可以使用模式匹配了。怎么理解呢?我们先举个历史版本中使用instanceof的例子。假如我们是动物园的管理员,动物园里面有Girraffe和Hippo两种动物。为了简单起见,上面两种动物我们都.转载 2020-05-11 20:21:48 · 742 阅读 · 0 评论 -
面试常被问到的 JDK 命令,你知道几个?
JDK 常用命令先给大家看一张总览图,然后我们一个个命令去使用一下,感受一下。JPS说明:首先通过上图,我们看到使用 jps 或者 jps | grep -v Jps 命令的时候是可以找到当前系统所有JVM。上面第二条命令是过滤本身的 Jps 程序。可以看到,输入这个命令后,会展示出当前系统所有的 Java 程序,并且会输出进程号 pid(也就是前面的数字)。我们通过命令 man jps 简单的看下说明,如下:可以看到 jps 命令有五个参数,每个参数的含义...原创 2020-05-14 15:34:16 · 1128 阅读 · 0 评论 -
Github霸榜!竟是阿里技术官的微服务分布式项目实战笔记总结
一个初创公司的老板带着他们的技术负责人来做技术交流,他们列了一长串问题,有微服务技术选型方面的,有技术难点方面的。这些问题如果不能快速解决,那么就会影响产品质量、上线进度,进而直接影响业务。这是很多企业常常面临的问题,业务有所发展是好现象,证明你所在的企业保持着向上发展的良好势头。这时候微服务分布式就成为很多企业不得不面临的选择,因此微服务分布式成为了考验很多技术骨干及架构师能力的必要条件。所以今天为大家带来了一份阿里大牛的微服务分布式项目实战笔记总结:笔记总览:...原创 2021-05-10 17:27:17 · 396 阅读 · 0 评论 -
什么是高性能服务器架构?【不只是思路】
在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明:1.缓存策略的概念和实例2.缓存策略的难点:不同特点的缓存数据的清理机制3.分布策略的概念和实例4.分布策略的难点:共享数据安全性与代码复杂度的平衡缓存缓存策略的概念我们提到服务器端性能问题的时候,往往会混淆不.原创 2020-05-13 21:53:48 · 1328 阅读 · 1 评论 -
面试官:ConcurrentHashMap的读操作不需要加锁?
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?ConcurrentHashMap的简介我想有基础的同学知道在jdk1.7中是采用Segment + HashEntry + ReentrantLock的方式进行实现的,而1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS + Synchronized来保证并发安全进行实原创 2020-05-16 19:12:21 · 1029 阅读 · 0 评论 -
RabbitMQ和Kafka哪个更吊一点
导言作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍一下基本的异步消息模式,然后再介绍一下RabbitMQ和Kafka以及他们的内部结构信息。第二部分(未完成)主要介绍这两种原创 2020-05-18 19:42:24 · 802 阅读 · 0 评论 -
SpringBoot 源码分析之 SpringBoot 可执行文件解析
SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。在pom文件里加入这个插件即可:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plug原创 2020-05-08 18:59:57 · 744 阅读 · 0 评论 -
Dubbo的架构设计及实现原理
0前言Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容如下。...原创 2020-04-30 18:29:02 · 1352 阅读 · 0 评论 -
阿里P9大牛匠心打造21版Java架构面试大全,跳槽涨薪稳了
3月已经过半,可能有很多小伙伴已经拿到了心仪的offer,也有很多面试碰壁了。不过不用灰心,小编这次就给大家分享一份由阿里大牛打造的Java架构面试大全,这份面试大全甚至已经帮助很多人拿到了大厂offer,非常香。面试大全总览:篇幅限制,在此就不全部展示了。想获取这份Java架构面试大全的朋友:一键三连后详细内容展示Java基础 相关面试题JVM 相关面试题多线程&并发 相关面试题网络 相关面试题...原创 2021-03-19 14:52:22 · 391 阅读 · 3 评论 -
2021最新BATJ等一线互联网大厂春招面试题汇总,拿走不谢
本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈……希望大家都能找到适合自己的公司,开开心心的撸代码。由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的PDF文档可分享给大家(文末获取).原创 2021-03-15 16:37:36 · 505 阅读 · 4 评论 -
4面阿里、3面拼多多归来,分享个人总结
阿里一面:1:自我介绍2:面:谈谈你做过项目中印象较深或自认为做的比较好的地方?答:我觉得我在Xx做的不错,用了XX需求实现XX功能,性能提高了N倍…等噼里啪啦的说了一堆。3:面:你说使用到了AOP,能谈谈它的实现原理嘛?答:它是依靠动态代理实现的,动态代理又分为JDK自身的以及CGLIB…4:面:嗯,能说说他们的不同及优缺点嘛?答:JDK是基于接口实现,而CGLIB继承代理类。。。(就是这样会直问下去,如果聊的差不多了就开始问一些零散的问题)5:JMM内存模型,原创 2021-03-13 16:42:04 · 340 阅读 · 0 评论 -
“裸辞” 备战15天三面美团,交叉面却被吊起来锤
美团一面:收到了HR的信息,通知我去面试,说实话真的挺紧张的。自己准备了近一个月的时间,很担心面试不过,到时候又后悔不该“裸辞”。自我介绍 spring的IOC,AOP原理 springmvc的工作流程 handlemapping接收的是什么 项目中你用到了MyBatis,说说#和$的区别 MyBatis你写的XML怎么绑定对应的接口?namespace.id Spring有几种方式定义Bean git你用过哪些命令 linux怎么在查找目录下的一个文件 redis基本数据结构原创 2021-03-06 16:24:25 · 1509 阅读 · 0 评论 -
深入OAuth2核心源码,阿里大佬的Spring Security手册惊呆我了
包含Spring Security Java配置、Spring Security安全防护和源码导读。详细讲解OAuth2实战,并剖析OAuth2核心源码目录展示由于手册内容太多,在此只截取部分内容展示。需要获取完整手册的小伙伴 见下:详细内容展示...原创 2021-01-12 16:01:01 · 261 阅读 · 1 评论 -
学完这份“顶级”SpringCloudAlibaba笔记,微服务竟如此简单
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,依托Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。下面这些都是Spring Cloud Alibaba技术栈中的技术点,各位看官瞅一眼有没有眼熟的。微服务环境搭建 Nacos Discovery--服务治理 Sentinel--服务容错 Gateway原创 2021-01-09 16:44:44 · 234 阅读 · 3 评论 -
强者是如何给 Spring MVC 做单元测试的?
「一、前言」今天我们来了解一个新玩意 -- mock 测试。这里仅仅做一个入门,对返回视图和返回 Json 数据的方法进行测试演示,不会把所有的方法都介绍到,具体文档详见链接:Mock Test,本章节主要讲解以下两部分内容:1、Mock 测试简介2、测试用例演示二、Mock 测试简介1、什么是 mock 测试在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个「虚拟的对象」来创建以便测试的测试方法,就是「mock 测试」在测试过程中,对于某些不容易构造或者不容易获取的对象.原创 2021-01-08 16:18:45 · 121 阅读 · 0 评论 -
堪称神级的Spring Boot手册,从基础入门到实战进阶
SpringBoot系列从⼊⻔到进阶手册目录:因为手册内容太多,下面只截取部分内容展示。需要获取完整笔记的小伙伴一键三连后,私信我【spring boot手册】即可内容展示:快速入门:开发:数据访问:⽇志管理:监控管理:整合 Dubbo:Elasticsearch:监控管理:...原创 2021-01-03 15:56:41 · 313 阅读 · 2 评论 -
阿里三面,复盘总结55题:java基础+分布式+网络+架构设计
阿里一面自我介绍 链表,数组的优缺点,应用场景,查找元素的复杂度 二叉树怎么实现的 Java中都有哪些锁 可重入锁的设计思路是什么 乐观锁和悲观锁 synchronized机制 hashmap原理,处理哈希冲突用的哪种方法(拉链) 还知道什么处理哈希冲突的方法(开放地址检测) 开放地址检测怎么实现的 从哈希表中删除一个元素,再加入元素时恰好与原来那个哈希冲突,这个元素会放在哪 并发容器,Hashtable和concurrenthashmap区别 redis原子操作怎么用比较好原创 2020-11-09 14:53:09 · 9403 阅读 · 27 评论 -
同事跳槽京东后,分享给我一份JAVA核心开发手册(架构筑基+开源框架+分布式架构+微服务架构+性能调优)
随着一批又一批的程序员新星涌入,所谓长江后浪拍前浪...但前浪可别被拍死在沙滩上呀!除了不断的学习,提升自己的技术,作为程序员的你我想应该都别无选择吧,除非想在沙滩上凉凉...前些日子,在某大厂的朋友偷偷给了我本内部学习资料——[JAVA核心手册],仔细翻阅一番才知道里面收纳整理的知识可真是齐全,不得不来感叹一番...我将[JAVA核心手册]大致分为以下5篇内容架构筑基篇:并发编程+JVM+网络+数据结构与算法+MySQL+Tomcat 设计思想解读开源框架篇:设计模式+Spring+Spri原创 2020-10-07 13:43:45 · 3431 阅读 · 26 评论 -
Java 8 如何快速实现 List转map 、分组、过滤等操作啊?
利用java8新特性,可以用简洁高效的代码来实现一些数据处理。定义1个Apple对象:publicclassApple{privateIntegerid;privateStringname;privateBigDecimalmoney;privateIntegernum;publicApple(Integerid,Stringname,BigDecimalmoney,Integernum){...原创 2020-09-22 13:45:44 · 462 阅读 · 0 评论 -
一篇文教你学会:Spring Boot整合Netty
前言本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容。Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不再过多细说了。Protobuf介绍protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式原创 2020-09-02 15:19:04 · 1141 阅读 · 0 评论 -
18天四面阿里,成功斩获offer,分享一下个人面经
上个月接到阿里的面试通知,也是我近期面试的第一家公司,却没想到来了一个开门红!总共4轮面试,我很快就拿到了阿里的offer,结果出来很快,也给我增添了不少的信心。特分享一下这次阿里的面经,供大家参考。阿里一面一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。中间面的问题有些记不清了,下面列出了一面问到的问题:自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟) 你感觉比本科阶段自己进步了多少原创 2020-08-19 21:04:28 · 695 阅读 · 0 评论 -
半个多月时间4面阿里,已经成功拿下offer,分享一下个人面经
月初才开始投简历准备面试,上个月接到阿里的面试通知,也是我近期面试的第一家公司,却没想到来了一个开门红!总共4轮面试,我很快就拿到了阿里的offer,结果出来很快,也给我增添了不少的信心。特分享一下这次阿里的面经,供大家参考。阿里一面一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。中间面的问题有些记不清了,下面列出了一面问到的问题:自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟) 你感原创 2020-08-19 20:00:11 · 14990 阅读 · 25 评论 -
直到看完阿里大牛的消息中间件笔记,才知道什么叫“深入理解”
消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。 目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、 ZeroMQ、MetaMQ等。这份笔记结合阿里大牛近年来在实际项目中使用消息中间件的经历和踩过的一-些坑总结整理而成,主要介绍消息中间件使用的背景、基本概念,以及常用的四种消息中间件产品在各个业务场景中的使用案例。以下是笔记中总原创 2020-08-18 15:27:12 · 2152 阅读 · 1 评论 -
幸亏阿里学长的这份Java多线程笔记,才能让我轻松拿下阿里一面
内推进阿里,面试之前阿里学长给了一份Java多线程笔记,让我轻松拿下阿里一面。以下这些技术点都是阿里学长的全解析笔记中总结的内容:笔记内容介绍:基础篇进程与线程基本概念 Java多线程入门类和接口 线程组和线程优先级 Java线程的状态及主要转化方法 Java线程间的通信原理篇Java内存模型基础知识 重排序与happens-before volatile synchronized与锁 CAS与原子操作 AQS...原创 2020-08-12 19:09:41 · 663 阅读 · 0 评论 -
面试屡屡碰壁,痛定思痛闭关修炼!半年后4面阿里成功拿offer
每个程序员都有一个大厂的梦,而互联网大厂首当其冲自然是阿里巴巴最吃香。“不想进大厂的程序员不是好程序员”为此也在几个月前就开始筹备了,在一位大佬的内推下加上自己对知识点的复习和努力也如愿以偿的成功拿到阿里的offer!下面先分享下面经:一面1.自我介绍,包括做过项目。2.有看过哪些JDK源码,了解哪些常用库。3.集合框架HashMap的扩容机制,ConcurrnetHashMap的原理4.jvm内存模型与gc内存回收机制5.classloader结构,是否可以自己定义一个ja原创 2020-08-11 19:37:04 · 8419 阅读 · 7 评论 -
大厂面试必问!HashMap 怎样解决hash冲突?
HashMap冲突解决方法比较考验一个开发者解决问题的能力。下文给出HashMap冲突的解决方法以及原理分析,无论是在面试问答或者实际使用中,应该都会有所帮助。在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:HashMap<String,Object>m=newHashMap<String..原创 2020-08-10 19:05:44 · 985 阅读 · 0 评论 -
5年Java程序员,五面蚂蚁险拿offer定级P7,大厂面试不过如此?
当时面试能记下的就这些了,可能不太全请见谅:一面1、HashMap和ConcurrentHashMap;2、再谈谈一致hash算法?3、乐观锁还有悲观锁;4、可重入锁和Synchronize?5、事务四大特性?6、事务的二段提交机制?7、聚簇索引和非聚簇索引?8、用自己的实践经历说一下索引的使用场景(说一个就要举一个例子)?9、当前读和快照读?10、类加载过程?11、双亲委派机制及使用原因?12、说说GC算法?13、对于未来你有什么职业规划?...原创 2020-08-07 17:49:17 · 2187 阅读 · 1 评论 -
赞!期待已久的《架构解密:从分布式到微服务》终于出第2版了
微服务、云原生、Kubernetes、Service Mesh 是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。以下是这位资深架构师的笔记内容:由于内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容。有需要获取完整版的朋友点赞后,私信【笔记】即可(一定要记得关注我,不然没办法回复陌生人私信)第1章:深入理解网络讲解分布式的基础一-网络, 对原创 2020-08-04 17:06:17 · 1478 阅读 · 0 评论 -
包教包会:搭建RocketMQ双主双从同步集群,
一、环境准备1、补充如果单机都不会安装的,或者管控台不会安装的请先前往如下这篇文章:https://blog.youkuaiyun.com/ctwctw/article/details/107143968再次强调,如果单机都不会的话,先抽出2min看看上面文章,因为需要改jvm配置的,默认8G,没那么大的内存启动会报错的。2、机器机器 用途 172.17.160.28 namesrv、broker-a-master、broker-b-slave 172.17.160.29原创 2020-08-03 20:29:51 · 731 阅读 · 0 评论 -
详解:java工具之解析yaml文件
工具使用背景很多配置项都是使用yaml的格式进行配置的, 按一定的格式进行缩进, 一眼看上去,清晰明了.如Springboot工程下图所示:如:k8s的Deploy文件:本次写这个yaml工具解析是想解析k8s的config文件,然后封装一个k8s客户端. 因为无论阿里云还是华为云,要查看多个容器的日志. 都不是方便.基础依赖这个工具是在已有的工具上进行封装的gradle:compile group: 'org.yaml', name: 'snakeyaml'..原创 2020-08-01 19:25:19 · 1386 阅读 · 1 评论 -
双非末流渣渣一本年初裸辞,5面阿里最终定级P7,扎心的辛酸历程
简单介绍下背景笔者双非末流渣渣一本毕业,工作已有6年多。年前从一家小公司CTO离职,准备年后“金三银四”换个更大的舞台。疫情爆发,市场经济遭到沉重打击,大批企业裁员,整个三月都居家隔离。期间,阿里第一次电话面,未通过。四月,海投大厂简历,积累面试经验,鹅厂视频面试,未通过;熊厂视频面试,未通过;阿里第二次电话面。未通过。五月初,阿里电话面通过,转视频初试,通过。出发杭州。阿里一面1.自我介绍2.做过哪些项目,用过哪些技术3.四大组件4.activity生命周期5.启.原创 2020-08-01 19:25:33 · 933 阅读 · 3 评论 -
我凭借这20多个HashMap 面试题,把美团面试官吊打了!
1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transientNode<K,V>\[\]table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 pu...原创 2020-07-22 21:44:36 · 656 阅读 · 0 评论 -
了解和使用MySQL线程池,看这篇文章就够了。
最近出现多次由于上层组件异常导致DB雪崩的情况,笔者将部分监控DB启用了线程池功能,在使用线程池的过程中不断深入学习的同时,也遇到了不少问题。本文就来详细讲述一下MySQL线程池相关的知识,以帮助广大DBA快速了解MySQL的线程池机制,快速配置MySQL的线程池以及里面存在的一些坑。其实我想说,了解和使用MySQL线程池,看这篇文章就够了。一、为何要使用MySQL线程池在介绍为什么要使用线程池之前,我们都知道随着DB访问量越来越大,DB的响应时间也会随之越来越大,如下图:而DB的.原创 2020-07-15 17:17:47 · 1017 阅读 · 0 评论 -
备战金九银十从刷题开始:多线程+JVM+微服务+网络+Redis+MySQL
又快到金九银十,有很多朋友可能自己准备不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。针对这些的同学,在这分享总结的Java面试的高频面试题(包括了Java集合,JVM,多线程,MyBaits,微服务,Dubbo,Kakfa,中间件,Redis,数据库,Linux,设计模式等),进行了整理,分享给大家,希望大家能带着这些问题和答案解析,能让你进行有针对性行的学习,对面试做到知己知彼,百战百胜。由于答案太多,所以只截取了部分目录展示。有想获取完整文档的朋友...原创 2020-07-15 13:47:38 · 2230 阅读 · 1 评论 -
三年Java程序员,先后面试美团、网易、滴滴已拿offer分享一下面经
一位三年经验的Java程序,先后面了网易、美团、滴滴三家大厂,分享一下自己的面经 主要是一些大厂常考的点。话不多说直接上题:Java基础1.HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化。2.HaspMap扩容是怎样扩容的,为什么都是2的N次幂的大小。3.HashMap,HashTable,ConcurrentHashMap的区别。4.极高并发下HashTable和ConcurrentHashMap哪个性能更好,为什么,如何实现的。5.HashMap在...原创 2020-07-07 14:31:53 · 878 阅读 · 4 评论 -
面试官:说一下HashMap的实现原理?
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析(JDK8会有所不同,需要了解的可自行阅读JDK8的HashMap源码)。JDK7和JDK8中HashMap的大致变化是(这其实也是一个常被问道的面试题~原创 2020-07-03 20:55:58 · 2506 阅读 · 1 评论 -
点赞!超详细的一份 Spring 异步任务教程
异步任务使用方式Spring 异步任务需要在相关的方法上设置@Async注解,这里为了举例,我们创建一个EmailService类,专用完成邮件服务。代码如下所示:@Slf4j@ServicepublicclassEmailService{/***异步发送任务**@throwsInterruptedException*/@SneakyThrows@Asyncpublicvoid...原创 2020-07-02 22:22:46 · 977 阅读 · 0 评论 -
有了这份大佬总结的1000道互联网Java面试题文档,offer稳了
由于题目太多只能截取部分展示,有想获取这份Java面试文档的朋友:点赞后,私信【资料】即可(一定要记得关注我,不然没办法回复陌生人私信)MyBatis面试题Redis面试题MySQL面试题Zookeeper面试题Spring面试题SpringBoot面试题SpringCloud面试题RabbitMQ面试题微...原创 2020-07-01 21:19:32 · 818 阅读 · 3 评论