![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 82
普通网友
这个作者很懒,什么都没留下…
展开
-
面试官:JVM三种核心内容有?并从实战角度解析!
01 前言这章节主要从实战角度方面,去解读JVM。问:JVM三种核心内容有哪一些?答:类加载机制+JVM调优实战+代码优化02 类加载机制Java源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java 类型,这就是虚拟机的类加载机制。2.1 类加载时机一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(L原创 2021-09-15 14:35:16 · 773 阅读 · 0 评论 -
【JVM系列8】JVM知识点总览
前言我理解JVM应该属于Java高阶的知识,之前是通过博客学习这块知识,后来对照着《深入理解Java虚拟机》书籍把重点知识又过了一遍。经过大半个月的学习,我给出我学习的感受。我感觉其实通过博客学习这块知识其实就够了,因为博客中的知识直击JVM的靶心,基本都是干货,但是对于一些实际的场景用例,博客给的示例不多,这个是通过博客学习唯一的缺点。通过书籍学习JVM知识,真的感觉这本书太厚了,不建议新人学习,因为这本书也就前5章的内容比较干货,后面的大部分知识可以直接跳过,或者作为选学的知识,比如你学习书原创 2021-09-15 14:34:22 · 162 阅读 · 0 评论 -
设计模式-责任链(职责链)模式及责任链设计模式的应用
1.什么是责任链设计模式责任链设计模式主要构成有抽象处理者、具体处理者、客户类,在处理请求的时候,将请求通过客户类发送至处理链路上,这样所有处理对象都有机会处理请求,使发送者与接受者解耦在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链将请求的发送者和请求的处理者解耦了。2.责任链模式的优点/缺点和使用场景使用责任链模式的优点:发送者与接收方的处理对象类之间解耦 封装每个处理对象,处理类的最小封装原则 可以任意添加处理对象,调整原创 2021-09-15 14:33:16 · 246 阅读 · 0 评论 -
两张图让你快速读懂JVM字节码指令
(一)概述很多人可能会觉得JVM字节码很神秘,我们写的一行行代码放到底层竟然可以用一串16进制的数字保存。再到计算机底层竟然可以用0和1执行如何复杂的代码。JVM的设计确实十分巧妙,但对我们几乎所有开发者来说,这些底层的内容我们已经不需要再去掌握了,因此今天我们不去讲JVM字节码究竟是怎么设计的,我们通过最简单的方法来快速读懂JVM字节码。(二)什么是字节码我们写的Java代码经过编译之后就会变成一个个.class文件,这就是字节码文件。用一些专门打开.class的工具打开后,可以发现里面就是一原创 2021-09-15 14:32:46 · 142 阅读 · 0 评论 -
详细介绍java关键字enum
今天,咱们来聊一下枚举enmu。枚举作为JDK1.5引入了新的类型,相信大家都不陌生,那么,具体有哪些用法呢,下面展开讲讲:一、定义常量在1.5之前,我们定义一个常量,通常用final关键字。而有了枚举之后,我们可以将一类常量定义在枚举类中,这样方便查找,代码逻辑也更清晰。如:public enum ErrorCodeEnum { CODE_ACCOUNT_ERROR, CODE_TOKEN_ERROR, CODE_PARAM_EMPTY, CODE_PARAM_ERROR,原创 2021-09-15 14:27:05 · 199 阅读 · 0 评论 -
Java 17 正式发布,Oracle推出免费JDK许可证,Spring 6 以 Java17为基准
一个小时前,JAVA 17 正式发布,这是一个LTS(长期支持)版本,带来了不少有用的新特性。关于Java 17 的一些新特性,胖哥已经在往期的文章中进行了介绍,这里就不再赘述了,有兴趣的可以移步文章 Java 17 新特性确定。Oracle 免费 JDKJAVA 17 带来的不仅仅是新功能。更快的 LTS 节奏和免费的 Oracle JDK 使其成为有史以来支持最好的现代版本。Oracle JDK收费为人诟病,此次Oracle推出了Free Java License ,大致摘要:Oracl..原创 2021-09-15 14:15:19 · 793 阅读 · 0 评论 -
Java17 新特性确定,Java之父:终于可以和一个长达25年的漏洞说再见了
Java 17 目前已经进入Rampdown Phase One阶段,所有的功能特性都已经被冻结。这说明Java 17的新特性已经定了,不会再增加新的JEP(JDK增强建议)。之所以关心Java 17是因为和Java 8、Java 11一样它是下一个LTS版本。发布日程距离Java 17发布的时间已经越来越近了。Rampdown Phase One阶段将持续近一个月。接下来的工作将以JEP3为基准,对可能出现的Bug进行修复、延迟修复、甚至是将Bug所在特性从版本中移除。大家关心的Java17发布时原创 2021-09-15 14:14:23 · 91 阅读 · 0 评论 -
面试官讲你这15道题都不会,你怎么来吊打我
前言1. redo log是什么? 为什么需要redo log?redo log 是什么呢?redo log 是重做日志。 它记录了数据页上的改动。 它指事务中修改了的数据,将会备份存储。 发生数据库服务器宕机、或者脏页未写入磁盘,可以通过redo log恢复。 它是Innodb存储引擎独有的为什么需要 redo log?redo log主要用于MySQL异常重启后的一种数据恢复手段,确保了数据的一致性。 其实是为了配合MySQL的WAL机制。因为MySQL进行更新操作,为了能够原创 2021-09-15 13:49:10 · 165 阅读 · 0 评论 -
java字符串之理论重点
1、简单概述一直以来,对String这个字符串类都是心存疑惑的,也不知道如何来进行解决。最近花点时间看了下别人的博客来研究一下,觉得挺有意思的,所以将此来记录下来。String将会牵扯到堆和常量池,字符串常量池在JDK8中是存在于堆中的,是属于堆的一部分。引入:String str = "计算机";"computer"也是一个字符串对象,只不过上面创建的这个会存在于字符串常量池中,返回来的是在字符串在常量池中的地址。String str = "计算机";String str原创 2021-09-14 16:10:52 · 379 阅读 · 1 评论 -
Java入门姿势 三大特性之一多态性
多态(polymorphism)是面向对象三大特征之一。同一行为,通过不同的子类,可以体现出来的不同的形态。多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人的“休息”方法,张三是睡觉,李四是旅游,王五是听音乐; 同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。编译器类型指的是‘=’左边的类型,运行期类型指的是‘=’右边的类型。当有继承关系时,可能发生编译期类型和运行期类型不同的情况,即编译期类型原创 2021-09-14 16:08:35 · 69 阅读 · 0 评论 -
Idea的springMVC项目,jsp页面的EL表达式失效问题,数据显示不出来。(已解决)
一、问题在做一个demo,因为很久没有重新用 jsp 页面直接 EL 取数据了,遇到了问题,记录一下。简单来说就是用 EL 在 jsp 页面里面从域中用 ${ xxx } 取数据:但是浏览器对应页面的位置是空白。 也没有显示 ${ xxx } 这个表达式的字符串本身。二、前置条件:已经引入了jstl和taglibs的依赖; 引入依赖之后在 jsp 页面的头部需要添加命名空间,也就是<%@ taglib prefix="c" uri="Oracle Java Technolo...原创 2021-09-14 16:05:01 · 1798 阅读 · 3 评论 -
java的各种集合为什么不安全(List、Set、Map)以及代替方案
我们已经知道多线程下会有各种不安全的问题,都知道并发的基本解决方案,这里对出现错误的情况进行一个实际模拟,以此能够联想到具体的生产环境中。1|0一、List 的不安全1|11.1 问题看一段代码:public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 3; i++){ new Th..原创 2021-09-14 15:58:20 · 301 阅读 · 0 评论 -
计算机网络:TCP协议建立连接的过程为什么是三次握手而不是两次?【对于网上的两种说法我的思考】
网上关于这个问题吵得很凶,但是仔细看过之后我更偏向认为两种说的是一样的。首先我们来看看 TCP 协议的三次握手过程如上图所示:解释一下里面的英文:里面起到作用的一些标志位就是TCP报文首部里的内容,ACK确认标志位,SYN同步标志位,ack确认号; 两端的状态CLOSED 就是连接关闭状态,LISTEN状态就是监听状态,SYN-SENT就是同步已发送状态,SYN-RCVD就是同步已接受状态,ESTABLISHED就是连接已建立状态。三报文挥手的过程如下:客户端发送连接请求:头部S原创 2021-09-14 15:57:37 · 353 阅读 · 0 评论 -
JDBC是如何打破双亲委派模式的
JDBC的DriverManager与SPI机制类加载的机制以及双亲委派机制的介绍可以参考 JVM类加载机制在JDBC 4.0之后,我们不再需要调用Class.forName()方法去加载驱动类。只需要将对应的驱动类jar包放到工程的class path下,驱动类会自动被加载。这种自动加载的技术被称为SPI(Service Privider Interface)[3],SPI可以简单理解为:为了解耦,从配置里获取某个接口的具体实现类。各个数据库也都更新支持了这个特性。包括MySQL-JDBC等,原创 2021-09-13 19:52:14 · 1280 阅读 · 1 评论 -
Jdk动态代理与Cglib动态代理
前言在前面的spring中,提到了aop的原理就是使用了动态代理,这篇文章就写一下jdk代理和cglib代理。先在这里贴一下相关的需要代理的对象和接口。首先是接口:public interface TestDao { void test();}复制代码然后是实现类:public class TestDaoImpl implements TestDao { @Override public void test() { System.out.println("原创 2021-09-13 19:50:49 · 3483 阅读 · 1 评论 -
java 并发编程中的ConcurrentModificationException 异常问题
云渲染服务中的 java.util.ConcurrentModificationException 异常问题针对最近云渲染服务中的出现的一个问题进行反思与回顾回调视频渲染进度问题在修改过回调进度的 url 后,启用了之前的代码片段。导致之前的漏洞被爆出:在多线程编程中,直接使用 hashmap 来保存当前的渲染任务,而不进行一些必要的线程间的互斥与同步操作,导致在一个线程通过迭代器遍历 hashmap 时,另一个线程同时修改 hashmap,导致程序抛出java.util.Concurrent原创 2021-09-13 19:50:07 · 259 阅读 · 0 评论 -
自己工作中一直接触不到高并发、分布式怎么办?
背景面试总会遇到一些关系高并发、分布式的问题,可是自己工作中不接触,自学又不深入,这可怎么办?分布式架构的知识太庞大了,小匠也是管中窥豹,结合自己的经验阐述一下自己的想法。结合我自己的一些面试经历,从分布式系统的构建体系说一下可能遇到的问题,涉及的技术和解决方案,这便是分布式系统的重点,也是面试的重点。现象我们从业务场景入手,用户越来越多,单个系统的内存、磁盘、CPU无法满足业务的需求的时候,需要把单机变成多机来解决问题,那么就需要引入分布式横向的扩充机器以增加吞吐量。针对不同的业务的需原创 2021-09-10 16:09:05 · 135 阅读 · 0 评论 -
线上服务CPU 100%, Java heap space一键定位,覆盖多个场景
案例分析1: 用户反馈系统严重卡顿,后台日志提示Broken Pipe,数据库CPU飙升至80%背景下午3点,用户反馈系统严重卡顿,后台日志提示Broken Pipe,数据库CPU达80%,重启服务之后,不到10分钟,还是会出现同样的情况,系统无法使用,阻塞用户日常工作,用户抱怨声音很大,要求立刻解决.过程下午3:30,我连上生产环境的DB,执行show full processlist语句,查看当前线程处理情况,定位到Command列,发现有一条SQL一直处理Query的状态,于是将该条记原创 2021-09-10 16:08:27 · 399 阅读 · 0 评论 -
聊一下 RocketMQ 的消息存储之 MMAP
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0) 本文作者: Nicksxs 创建时间: 2021-09-05 本文链接: 聊一下 RocketMQ 的消息存储之 MMAP这是个很大的话题了,可能会分成两部分说,第一部分就是所谓的零拷贝 ( zero-copy ),这一块其实也不新鲜,我对零拷贝的概念主要来自这篇文章,个人感觉写得非常好,在 rocketmq 中,最大的一块存储就是消息存储,也就是 Co原创 2021-09-10 16:07:46 · 279 阅读 · 0 评论 -
详细介绍java关键字static的使用
大家好,这里是可傥。继final关键字之后,今天介绍static关键字。 static关键字,意思为静态的。在java中,修饰变量(不可为局部变量,局部变量生命周期随着方法的结束而结束,而static修饰的是全局),方法,构造静态代码块,修饰类(为内部类),jdk1.5之后的静态导包(可读性较差)如何使用呢?咱们分别来介绍。一、修饰变量static修饰变量的时候,也可以叫做类变量或者静态变量。与非static修饰的实例变量不同的是,类变量属于类,为所有对象共有。而实例变量属于对象,为该对象私有。那如原创 2021-09-10 16:06:59 · 128 阅读 · 0 评论 -
并发编程之:Thread.join()和CountDownLatch
大家好,我是小黑,一个在互联网苟且偷生的农民工。先问大家一个问题,在主线程中创建多个线程,在这多个线程被启动之后,主线程需要等子线程执行完之后才能接着执行自己的代码,应该怎么实现呢?Thread.join()看过我 并发编程之:线程 的朋友应该知道怎么做,在Thread类中有一个方法join(),这个方法是一个阻塞方法,当前线程会等待调动join()方法的线程死亡之后再继续执行。我们通过代码来看看执行结果。public class JoinDemo { public sta原创 2021-09-10 16:06:01 · 235 阅读 · 0 评论 -
一文说清BIO、NIO、AIO不同IO模型演进之路
引言Netty作为高性能的网络通信框架,它是IO模型演变过程中的产物。Netty以Java NIO为基础,是一种基于异步事件驱动的网络通信应用框架,Netty用以快速开发高性能、高可靠的网络服务器和客户端程序,很多开源框架都选择Netty作为其网络通信模块。本文主要通过分析IO模型的优化演进之路,比较不同IO模型的异同,让大家对于Java IO模型有着更加深刻的理解,我想这也是Netty如何实现高性能网络通信理解的重要基础。话不多说,我们赶紧发车了。PS:文末有是彩蛋哦!IO模型1、什么原创 2021-09-10 16:05:20 · 201 阅读 · 0 评论 -
深入理解Java系列 | 线程基础
在上一篇文章深入理解Java系列 | 并发编程基础中,我们主要整理了并发编程的基础知识以及三大核心问题,并了解了线程是并发编程的重要实现方式,所以本文我们主要来了解一下Java中线程的基础知识。现在开始吧!1. 什么是线程?在上一篇文章深入理解Java系列 | 并发编程基础中我们已经知道:线程是进程的组成部分,一个进程至少有一个线程组成。一个进程中可以创建多个线程,每个线程拥有各自的计数器、堆栈和局部变量等属性,并且能够访问进程共享的内存变量。线程也是操作系统进行任务执行和调度的基本单位,操作系原创 2021-09-10 16:04:38 · 107 阅读 · 0 评论 -
java 设计模式实战,装饰者模式之不用改变也能变强
什么是装饰者模式网络百科如下:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。设计模式和编程语言无关,但是二当家的依然用Java语言去实战举例。装饰者模式中的角色抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 具体构件(Concrete Component)角色:定义一个将要接收附加责任的类。 装饰(Decorator)角色:持有一个构件(Compone原创 2021-09-10 16:04:00 · 328 阅读 · 0 评论 -
Java接口多实现还能这样玩
前言Java中的接口类通常是为了提取共同点,规范实现,便于阅读,处理好接口类多实现并提供优雅的命中具体实现,能够帮助我们简化代码,提高可读性;下面介绍几种用起来很舒服的多实现方式及调用方式供大家参考。示例枚举实现接口定义public interface Breakfast { void eat();}复制代码实现public enum BreakfastEnum implements Breakfast { Beijing("北京") {原创 2021-09-10 16:02:54 · 451 阅读 · 0 评论 -
RocketMQ原理-自动创建Topic机制
背景RocketMQ 源码版本 4.9.1-SNAPSHOT下载了 RocketMQ 源码,在本地 IDE 中正常启动了 Broker 服务 和 NameServer 服务。生产者发送消息的 demo 如下在发送消息的过程中报错了,报错信息如下从报错信息可以看到: **Topic 对应的路由信息没有正常获取到(Topic 名称为 TopicTest)。**也难怪,Broker 启动后没有人为地去创建 Topic 对应的队列,发送消息自然没办法获取到路由信息。想到 Brok原创 2021-09-09 22:06:01 · 3094 阅读 · 0 评论 -
Java经典算法详解-不来看看可惜咯
正在学Java的各位这几种Java编程中的经典算法千万不要错过,算法在Java开发中会起到非常重要作用,了解这些常用的算法会让你在工作中达到事半功倍的效果!看看今天为大家整理经典算法详解:一、插入排序这是一个很好的理解打麻将或扑克。例如,如果左手中有一套卡1、2、4、7和一张3,则从右向左将此卡插入2、4是来验证否正确。一次插入排序的操作过程:将待插元素,依次与已排序好的子数列元素从后到前进行比较,如果当前元素值比待插元素值大,则将移位到与其相邻的后一个位置,否则直接将待插元素插入当前元原创 2021-09-09 22:05:28 · 113 阅读 · 0 评论 -
mica-mqtt 1.1.1 发布,大量细节优化和修复
一、前言在连肝了一个多月之后,mica-mqtt 迎来了一个比较稳定的版本。在这一个多月里肝了 7 个正式版,100 多次提交。由衷感谢那些在关注、star、使用和反馈问题的同学。二、简介mica-mqtt 基于 t-io 实现的简单、低延迟、高性能 的 mqtt 物联网开源组件。使用详见 mica-mqtt gitee 源码 mica-mqtt-example 模块。三、功能支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 websocket mqtt 子协议(支原创 2021-09-09 22:04:28 · 712 阅读 · 0 评论 -
手写JdbcTemplate的模板方法模式
模板方法模式模板方法模式(Template Method Pattern)又叫模板模式,是指定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤,属于行为型设计模式。模板方法模式实际上是封装了一个固定流程,该流程由几个步骤组成,具体步骤可以由子类进行不同的实现,从而让固定的流程产生不同的结果。模板方法的本质就是抽象封装流程,然后进行类的继承实现。通用UML类图举例说明我们平时在家自己做饭, (1)买菜,(2)洗菜, (3)做原创 2021-09-09 22:03:46 · 214 阅读 · 0 评论 -
Zookeeper : 源码入门
一. 前言出于对集群选举流程的好奇 , 所以把 Zookeeper 源码拉下来跑了一下 , 这篇文档对这个过程做一个简单的记录.要想看懂任何源码 , 第一步就是要跑起来 . 这一篇主要介绍 , 如果快速的跑源码 ,同时简单介绍其中的关键点 , 便于处理二 . 源码的运行2.1 主启动流程// Step 1 : Git 拉取https://github.com/apache/zookeeper.git// Step 2 : 本地运行 (Intellij)1. 找到 zookeep原创 2021-09-09 22:02:55 · 306 阅读 · 0 评论 -
Java并发编程(一)Thread详解
一、概述在开始学习Thread之前,我们先来了解一下 线程和进程之间的关系:线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。由上描述,可以得知线程作为cpu的基本调度单位,只有把多线程用好,才能充分利用cpu的多核资源。本文基于JDK 8(也可原创 2021-09-09 22:02:11 · 1181 阅读 · 0 评论 -
1.3w字,一文详解死锁! ! !
死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁。1.死锁演示死锁的形成分为两个方面,一个是使用内置锁 synchronized 形成的死锁,另一种是使用显式锁 Lock 实现的死锁,接下来我们分别来看。1.1 死锁 synchronized 版public class DeadLockExample { public static void main(String[] args原创 2021-09-09 22:01:35 · 132 阅读 · 0 评论 -
5W字高质量java并发系列详解教程(上)-附PDF下载
并发是java高级程序员必须要深入研究的话题,从Synchronized到Lock,JDK本身提供了很多优秀的并发类和锁控制器,灵活使用这些类,可以写出优秀的并发程序,而这些类基本上都是在java.util.concurrent包中的,本文将会从具体的例子出发,一步一步带领大家进入java高质量并发的世界。本文PDF下载链接concurrent-all-in-one.pdf本文的例子可以参考github.com/ddean2009/l…第一章 java.util.concurrent简介ja原创 2021-09-09 22:00:27 · 124 阅读 · 0 评论 -
Java 应用程序的 CPU 使用率飙升原因分析
一. 问题while 的无限循环是否会导致 CPU 使用率飙升? 频繁的 Young GC 是否会导致 CPU 使用率飙升? 有大量线程的应用程序的 CPU 使用率高吗? CPU 使用率高的应用程序的线程数是否很大? 处于 BLOCKED 状态的线程是否会导致 CPU 使用率飙升? 分时操作系统中的 CPU 是消耗 us(用户态) 还是 sy(内核态)?二. 思考1. 我们如何计算 CPU 使用率?CPU% = (1 - idleTime / sysTime ) * 100 i原创 2021-09-09 21:58:04 · 4912 阅读 · 0 评论 -
最强并发编程44题(含答案):ReentrantLock+线程池+同步+线程锁
1、并发编程三要素?1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。实现可见性的方法:synchronized或者Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。3)有序性有序性,即程序的执行顺序按照代码的先后顺序来执行。2、多线程的价值?1)发挥多核C原创 2021-09-07 20:58:02 · 177 阅读 · 0 评论 -
最新蚂蚁花呗三面题目:红黑树+并发容器+CAS+Solr+分布式+大数据
蚂蚁花呗一面(一个小时):Java容器有哪些?哪些是同步容器,哪些是并发容器? ArrayList和LinkedList的插入和访问的时间复杂度? java反射原理, 注解原理? 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法? HashMap在什么情况下会扩容,或者有哪些操作会导致扩容? HashMap push方法的执行过程? HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头? 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AV原创 2021-09-07 20:56:39 · 156 阅读 · 0 评论 -
网易云音乐Java面试题:Mybatis事务+SpringBean+Java锁+Redis
一面(1h)介绍项目 用过哪些锁,在项目中是怎么使用的,使用的场景?Synchronized和Lock的区别?了解哪些并发编程中使用的容器? 介绍Map,Treeset,Arraylist,Llinkedlist的区别,从数组讲到链表,再讲到Hashmap,再讲到Hashcode()和equals()方法,哈希冲突的解决,再讲到了Concurrenthashmap的实现,JDK下1.7与1.8实现的区别,TreeMap与Treeset的区别。 spring相关bean对象循环依赖是怎么回事,怎么解原创 2021-09-07 20:53:46 · 207 阅读 · 0 评论 -
字节 / 百度 / 阿里相继发布 50W+ 优质 Java 岗(含内部面试真题及答案)
2021 刚刚启程,各互联网大厂便发布了一大波优质 Java 岗,平均薪资总包都在 40w 左右,你心动了吗?下面给大家列出几个具体的岗位及要求。此外,在文末还有分享:由各大厂面试官整理的字节、阿里、百度 Java 内部面试题(含答案),新鲜出炉!希望大家了解并掌握这些知识点,争取通过每一轮面试!字节跳动 Java 开发工程师薪资:25~40k 16 薪 扎实的计算机基础知识,较强的逻辑理解能力和学习能力 熟悉 python、php、C++、java、go原创 2021-09-07 20:46:54 · 96 阅读 · 0 评论 -
狂刷 200+ 面试文档,终斩获 字节 offer~
从面试之前的准备,到面试后的总结,个人感觉在拿到 offer 之后还是有些想总结下来的东西,把面试分享给大家。因为时间比较久了,可能会有一点疏漏,都是个人的想法,如有不妥请多包涵。本篇面试专题共包含:ActiveMQ、Dubbo、JVM、Kafka、Linux、memcached、MongoDB、MyBatis、MySQL、Netty、Nginx、RabbitMQ、Redis、Spring Cloud、Spring Boot、Spring MVC、Spring、SQL、Tomcat、zooke原创 2021-09-06 17:19:12 · 131 阅读 · 0 评论 -
RocketMQ学习-Springboot整合RocketMQ
SpringBoot整合RocketMQ需要注意的是SpringBoot的starter集成包时,要注意版本。因为SpringBoot集成的RocketMQ的starter依赖由Spring社区提供,迭代比较快,版本之间的差异还是比较大的。可能版本不同,就导致使用的时候出现错误。maven依赖, 直接把我的maven工程的配置放到这里了。普通消息maven工程创建我直接创建了一个空的maven工程,然后引入spring boot需要的一赖。<?xml version="1.0原创 2021-09-05 17:26:27 · 799 阅读 · 0 评论