自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL数据库优化:Java程序员秋招三面蚂蚁金服

自我介绍。JVM如何加载一个类的过程,双亲委派模型中有哪些方法?HashMap如何实现的?HashMap和Concurrent HashMap区别, Concurrent HashMap 线程安全吗, Concurrent HashMap如何保证 线程安全?HashMap和HashTable 区别,HashTable线程安全吗?进程间通信有哪几种方式?JVM分为哪些区,每一个区干吗的?JVM如何GC,新生代,老年代,持久代,都存储哪些东西?GC用的引用可达性分析算法中,哪些对象可作为GC .

2021-08-04 20:11:55 255

原创 Mybatis源码解析:Java泛型详解

注意:①泛型的类型参数只能是类类型,不能是基本属性类型;②不能对确切的泛型类型使用instanceof操作。如下面的操作是非法的,编译时会出错。if(ex_num instanceof Generic<Number>){ }4.2 泛型接口泛型接口与泛型类的定义及使用基本相同。泛型接口常被用在各种类的生成器(专门负责创建对象的类)中,一个生成器一般只定义一个next方法,用于产生新的对象。可以看一个例子://定义一个泛型接口public interface Generator&.

2021-08-04 20:09:51 366

原创 Mybatis源码解析:21道Java基础面试题及答案

10. HashMap和HashTable的区别。答案:Hashtable和HashMap类有三个重要的不同之处。1、第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。2、也许最重要的不同是Hashtable的方法是同步的,但是这也是HashTable效率低下的原因,任何方法都是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable

2021-08-04 20:08:42 312

原创 MyBatis整体架构分析:Rpc与RMI服务

4.gRPC:gRPC是谷歌团队基于Netty开发实现的底层网络库,而此框架还有Go语言的版本,基于Net库开发5.RMI:rmi可以说是java中最早的RPC框架之一,且此rpc框架由sun团队开发,集成于JDK中,可以说完全可以实现开箱即用,不需要任何外部jar依赖,但由于早期的rpc实现,且设计上并不是为了解决互联网企业类的高并发问题,所以不建议现在互联网开发中作为rpc实现RMI框架基本使用RMI既然是java团队设计出来的rpc框架,虽然现在已经不适合企业级生产使用,但是其中的思想和规范值得

2021-08-04 20:07:36 213

原创 Kafka必须掌握的核心技术:Leetcode--Java--1736

思路贪心 + 模拟。从高位到低位模拟每个位出现?的情况。第0和第1个位置为?时会受到对方的限制,注意判断第3和第4个位置直接取最大的值即可先转化为字符数组可以方便取值,最后返回string用new String(char[]) 构造器实现不要用toString()会有问题代码class Solution { public String maximumTime(String time) { //先转成字符数组方面取值 c

2021-08-04 20:06:40 80

原创 Java高级:Java利用UDP协议建立广播组通信【附通信源码(4)

使用DatagramSocket()创建一个数据包套接字,使用DatagramPacket(byte[] buf,int offset,int length,InetAddress address,int port)创建要发送的数据包。使用DatagramSocket类的send()方法发送数据包。接收数据包的步骤如下:使用DatagramSocket(int port)创建数据包套接字,并绑定到指定的端口使用DatagramPocket(byte[] buf,int le..

2021-08-04 20:05:18 93

原创 【工作感悟】Java定义一个数组不知道数组长度

如何保证缓存和数据库一致性说了这么多缓存的必要性,那么使用缓存是不是就是一个很简单的事情了呢,我之前也一直是这么觉得的,直到遇到了需要缓存与数据库保持强一致的场景,才知道让数据库数据和缓存数据保持一致性是一门很高深的学问。从远古的硬件缓存,操作系统缓存开始,缓存就是一门独特的学问。这个问题也被业界探讨了非常久,争论至今。我翻阅了很多资料,发现其实这是一个权衡的问题。值得好好讲讲。以下的讨论会引入几方观点,我会跟着观点来写代码验证所提到的问题。不更新缓存,而是删除缓存大部分观点认为,做缓存不应该是去

2021-07-30 14:15:02 455

原创 【大牛系列教学】Java面试技巧之不要给自己挖坑实战干货

线程是否要锁住同步资源锁住 悲观锁不锁住 乐观锁锁住同步资源失败 线程是否要阻塞阻塞不阻塞自旋锁,适应性自旋锁多个线程竞争同步资源的流程细节有没有区别不锁住资源,多个线程只有一个能修改资源成功,其它线程会重试无锁同一个线程执行同步资源时自动获取资源偏向锁多个线程竞争同步资源时,没有获取资源的线程自旋等待锁释放 轻量级锁多个线程竞争同步资源时,没有获取资源的线程阻塞等待唤醒 重量级锁4.多个线程竞争锁时是否要排队排队公平锁先尝试插

2021-07-30 14:14:14 94

原创 【吐血整理】Java线程池实现方式

结构化数据、非结构化数据与半结构化数据文章的开始,聊一下结构化数据、非结构化数据与半结构化数据,因为数据特点的不同,将在技术上直接影响存储引擎的选型。首先是结构化数据,根据定义结构化数据指的是由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,也称作为行数据,特点为:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。例如:因此关系型数据库完美契合结构化数据的特点,关系型数据库也是关系型数据最主要的存储与管理引擎。非结构化数据,指的是数据结构不规则或不完整,没有任何预

2021-07-30 14:13:22 199

原创 【Spring注解驱动开发】程序员在未来十年的发展前景如何

什么是ACID?事务的定义和实现一直随着数据管理的发展在演进,当计算机越来越强大,它们就能够被用来管理越来越多数据,最终,多个用户可以在一台计算机上共享数据,这就导致了一个问题,当一个用户修改了数据而另外一个还在使用旧数据进行计算过程中,这里就需要一些机制来保证这种情况不会发生。ACID规则原来是在1970被Jim Gray定义,ACID事务解决了很多问题,但是仍然需要和性能做平衡协调,事务越强,性能可能越低,安全可靠性和高性能是一对矛盾。一个事务是指对数据库状态进行改变的一系列操作变成一个单个序列逻

2021-07-30 14:11:52 161

原创 【MySQL】使用eclipse开发Java程序的步骤

蚂蚁金服(五面)蚂蚁金服:一面一面就做了一道算法题,要求两小时内完成,给了长度为N的有重复元素的数组,要求输出第10大的数。典型的TopK问题,快排算法搞定。算法题要注意的是合法性校验、边界条件以及异常的处理。另外,如果要写测试用例,一定要保证测试覆盖场景尽可能全。加上平时刷刷算法题,这种考核应该没问题的。蚂蚁金服:二面自我介绍下呗开源项目贡献过代码么?目前该部门做什么,业务简单介绍下,内部有哪些系统,作用和交互过程说下Dubbo踩过哪些坑,分别是怎么解决的?开始进入正题,说下你对线程

2021-07-30 14:11:04 127

原创 【2021Java最新学习路线】dockerpull命令

正文做了 3~5 年编程开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受:感觉自己卡在瓶颈进步缓慢,技术水平很难像早期一样实现大幅突破?其实大家往往忽略了这一点——提升自己的架构认知(工作5年左右程序员必须重视架构认知的提升,这会很大程度上推动你今后的成长)。架构的本质在于面对业务场景给出优雅的解决方案,使得业务能够快速迭代和持续交付,从而达到降本增效的目标。提升架构认知高度,就像达克效应所描述的一样,要敢于从愚昧之巅跳到绝望之谷,通过爬升开

2021-07-30 14:10:18 156

原创 「架构师必备」mysqldatetime格式化日期

字节跳动⾯试前⼀⾯⼆⾯⼩结⾯试前头条的⾯试是三家⾥最专业的,每次⾯试前有专⻔的HR和你约时间,确定OK后再进⾏⾯试。每次都是通过视频⾯试,因为都是之前都是电话⾯或现场⾯,所以视频⾯试还是有点不⾃然。也有⼈觉得视频⾯试体验很赞,当然萝⼘⻘菜各有所爱。最坑的⼆⾯的时候对⽅⾯试官的⽹络⽼是掉线,最后很冤枉的挂了(当然有⼀些点答得不好也是原因之⼀)。所以还是有点遗憾的。字节一面:先⾃我介绍下聊项目,逆向系统是什么意思聊项目,逆向系统用了哪些技术线程池的线程数怎么确定?如果是IO操作为

2021-07-30 14:09:29 164

原创 ZooKeeper的十二连问,秦皇岛Java培训机构

头条二面二轮技术面,17:00~20:25,晚饭时间hr 小姐姐还特贴心的带我体验了一把传说中的头条餐厅,不超过半小时聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每个服务做什么事情 的流程图讲项目中的难点、挑战,你是如何解决的redis 中有几种类型 & 各自底层怎么实现的 & 项目中哪个地方用了什么类型,怎么使用的redis如何实现分布式锁,zk如何实现分布式锁,两者的区别。如果service还没执行完,分布式锁在redis中已经过期了,怎么解决

2021-07-30 14:08:38 173

原创 ZooKeeper的十二连问,尚硅谷全套视频百度云2019

一面自我介绍项目中的监控:那个监控指标常见的有哪些?微服务涉及到的技术以及需要注意的问题有哪些?注册中心你了解了哪些?consul 的可靠性你了解吗?consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?Spring Cloud 有了解多少?Spring Bean 的生命周期HashMap 和 has

2021-07-30 14:07:45 202

原创 mysql数据库修改root密码

GC概述垃圾收集(Garbage Collection)通常被称为“GC”,由虚拟机“自动化”完成垃圾回收工作。思考一个问题,既然GC会自动回收,开发人员为什么要学习GC和内存分配呢?为了能够配置上面的参数配置?参数配置又是为了什么?“当需要排查各种内存溢出,内存泄露问题时,当垃圾成为系统达到更高并发量的瓶颈时,我们就需要对GC的自动回收实施必要的监控和调节。”JVM中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生随线程而灭。栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理。它们的

2021-07-29 19:00:19 129

原创 mysql数据库使用教程

概述什么是RedisRedis有哪些优缺点为什么要用Redis /为什么要用缓存为什么要用Redis而不用map/guava做缓存?Redis为什么这么快二、数据类型Redis有哪些数据类型Redis的应用场景三、持久化什么是Redis持久化?Redis的持久化机制是什么?各自的优缺点?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?四、过期键的删除策略Redis的过期键的删除策略Redis key的过期时间和永久有效分别怎么设置?我们知道通过e

2021-07-29 18:59:31 83

原创 mysql数据库sql语句大全

正文谈到 MYSQL 的事物, 相信大家对这几个概念都不会陌生:四大特性:ACID并发问题脏读不可重复读幻读隔离级别Read Uncommitted(读未提交)Read Committed(读提交)Repeatable Read(可重读)Serializable(可串行化)下面的思维导图可能更表达得清晰????MySQL 的默认事物隔离级别是 RR (Repeatable Read) ,可重复读级别是能够解决脏读、不可重复读的这两个事物并发问题的,但是幻读的问题仍

2021-07-29 18:58:39 361

原创 mysql数据备份通常有哪几种方式

三面头条面试岗位是后台研发工程师,地点选择了上海,通过大佬内推,跳过死亡笔试,加上疫情期间,所以直接视频面,从3点开始,断断续续到晚上8点结束。一共三轮技术面试,每一轮都要写代码,也喜欢问一些底层知识,让我有点懵逼。一面:写一个题,找一个无序数组的中位数写了个快排,然后让我找到无序数组第k大的一个数,我说先排序再找,实际上可以用快排的partition函数。快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少。操作系统了解么,Linux和windows说说L

2021-07-29 18:57:55 159

原创 mysql改密码错误1045

微服务是什么微服务起源于2005年Peter Rodgers博士在云端运算博览会提出的微Web服务(Micro-Web-Service),根本思想类似于Unix的管道设计理念。2014年,由Martin Fowler 与 James Lewis共同提出了微服务的概念,定义了微服务架构风格是一种通过一套小型服务来开发单个应用的方法,每个服务运行在自己的进程中,并通过轻量级的机制进行通讯(HTTP API)。关键的三点是small、automated以及lightweight。对比SOA,微服务可以看做是S

2021-07-29 18:57:09 157

原创 mysql授权语句

并发模型和分布式系统很相似并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是 进程 彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程机器挂掉等等。但是一个并发模型同样面临着比如 CPU 故障、网卡出现问题、硬盘出现问题等。因为并发模型和分布式模型很相似,因此他们可以相互借鉴,例如用于线程分配的模型就类似于分

2021-07-29 18:56:20 167

原创 mysql批量update造成死锁

目录进入Spring Boot世界讲述Sping、Spring Boot 和Spring Cloud 之间的关系,还重点讲述了如何利用开发工具(如IDEA)来实现开发,如何通过API文档来寻找类对象方法,告诉我们在开发过程中如何学习、发现和解决问题需要免费领取这份Alibaba架构师耗时一年整理的《Spring Boot实战,让你的开发像搭积木一样简单 》的朋友,可以在文末免费领取准备开发环境首先介绍搭建开发Spring Boot的环境,然后介绍项目管理模型文件pom.xml,最后讲解如何

2021-07-29 18:55:34 912

原创 mysql执行sql文件导入数据

第一部分 Java相关以及答案答案第二部分算法跟编程第三部分html&JavaScript&ajax部分答案第四部分Javaweb部分答案第五部分数据库部分答案第六部分XML部分答案第七部分.流行的框架与新技术答案第八、九部分.软件工程与设计模式以及j2ee部分最后对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没

2021-07-29 18:54:45 75

原创 mysql性能优化金字塔法则pdf

微服务架构①微服务概念:②Spring Cloud微服务架构:海量数据处理①:经典的海量数据处理面试题高可用架构①基于 Hystrix 实现高可用:②限流:③熔断:高并发架构①消息队列:②搜索引擎:③缓存:④分库分表:⑤读写分离:⑥高并发系统:分布式系统①系统拆分:②分布式服务框架:③分布式锁:④分布式事务:⑤分布式会话:结局:总结+分享看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们真的又得开启面试

2021-07-29 18:53:53 230

原创 mysql忽略大小写

策略 1——停止挖掘Law of Holes 是说当自己进洞就应该停止挖掘。对于单体式应用不可管理时这是最佳建议。换句话说,应该停止让单体式应用继续变大,也就是说当开发新功能时不应该为旧单体应用添加新代码,最佳方法应该是将新功能开发成独立微服务。如下图所示:除了新服务和传统应用,还有两个模块,其一是请求路由器,负责处理入口(http)请求,有点像之前提到的 API 网关。路由器将新功能请求发送给新开发的服务,而将传统请求还发给单体式应用。另外一个是胶水代码(glue code),将微服务和单体应用集

2021-07-29 18:53:00 91

原创 Java开发哪个方向好

一、对Kafka的认识1.Kafka的基本概念2.安装与配置3.生产与消费4.服务端参数配置二、生产者1.客户端开发必要的参数配置消息的发送序列化分区器生产者拦截器2.原理分析整体架构元数据的更新3.重要的生产者参数三、消费者1.消费者与消费组2.客户端开发必要的参数配置订阅主题与分区反序列化消息消费位移提交控制或关闭消费指定位移消费再均衡消费者拦截器多线程实现重要的消费者参数四、主题与分区1.主题的管理创建主题

2021-07-28 19:07:25 73

原创 Java开发可以自定义的表单

缓存雪崩我们首先看下这个正常的缓存流程是怎样的?如下图所示:可以看到,首先这个用户访问这个某东,然后这个某东去访问这个 Redis,如果 Redis 有该访问数据,就会直接返回查缓存拿到的数据;如果 Redis 缓存没有查到该数据,就会去 MySql 数据库中查询,查询到有结果把从 MySql 中查到的数据同步至 Redis 缓存中去,同时会把这个查询到的结果返回回去。这是一个简单的正常的缓存流程。 那么我们基于这个正常的缓存流程,来看下什么是缓存的雪崩。首先给大家举个例子,就是在双十一的时候,在

2021-07-28 19:06:36 392 1

原创 Java开发入门思维导图

专题5:Java序列化1、什么是java序列化,如何实现java序列化?2、保存(持久化)对象及其状态到内存或者磁盘3、序列化对象以字节数组保持-静态成员不保存4、序列化用户远程对象传输5、Serializable 实现序列化6、writeObject 和 readObject 自定义序列化策略7、序列化 ID8、序列化并不保存静态变量9、Transient 关键字阻止该变量被序列化到文件中10、序列化(深 clone 一中实现)专题6:J

2021-07-28 19:05:45 349

原创 Java开发入门书籍

正文这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建搭建完redis集群环境后,开始springboot之旅1、REDIS介绍redis的介绍及应用场景参考 redis介绍2、项目构建我们还是从redis项目构建开始说起,首先还是进入的spring官网,从这里开始构建项目,如下图当然也可以自己添加pom文件,如下3、添加配置文件application.properties中4、JEDIS配置类的编写

2021-07-28 19:04:59 43

原创 Java开发一个功能大概几天

阅读源码程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。那要如何正确的分析源码呢?分布式架构随着我们的业务量越来越大和越重要,单体的架构模式已经无法对应大规模的应用场景,而且系统中决不能存在单点故障导致整体不可用,所以只有垂直或是水平拆分业务系统,使其形成一个分布式的架构,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的

2021-07-28 19:04:14 1310 2

原创 Java开发spark视频

第一次压测惨不忍睹,平均响应时间150ms,而且在这次压测过程中还发现其它的问题,后台报错,经查是OpenSearch每秒查询次数限制优化代码与配置1、修改OpenSearch配置,并且将压测环境中的OpenSearch连接地址改为内网地址。2、将代码中循环查询缓存的地方改为一次性批量查询返回。3、和相关同学确认后去掉项目中无用的代码。第二次压测虽然优化了代码,修改了配置,但是情况更糟糕了,而且还改出了新的问题。当时,反复检查了代码,确定查询缓存的次数已经是最少了,而且连接线程池相关参数也调到

2021-07-28 19:03:25 107

原创 Java开发linux桌面应用

抖音Java岗后端一面(7.22)(47分钟)1. 自我介绍还没完屏幕就黑了。。重连后直接问问题。。2. hashmap底层实现3. java线程池参数,以及具体使用流程4. mysql底层为什么不用b树,b*树,而用b+树。5. 写了个sql语句(很简单的联表查询)6. sql语句中,表逗号表,sql会如何优化7. 连接时mysql底层是怎么做的8. 记性不太好,忘了很多题…9. 算法题: (1)经典[1,2,2,2,3]找出数组中超过一半的元素 (2)给定正整数n,问1-n组成的二叉

2021-07-28 19:02:40 1582 4

原创 Java延时任务

1. CAP 的由来要理解 CAP,首先我们要清楚,为何会有人提出 CAP?他提出 CAP 是为了解决什么问题?时间回到 1985 年,彼时,后来证明了 CAP 理论的 Lynch 教授此时给当时的 IT 界来了一记惊雷:她通过不可辩驳的证明告诉业界的工程师们,如果在一个不稳定(消息要么乱序要么丢了)的网络环境里(分布式异步模型),想始终保持数据一致是不可能的。这是个什么概念呢?就是她打破了那些既想提供超高质量服务,又想提供超高性能服务的技术人员的幻想。这本质是在告诉大家,在分布式系统里,需要妥协

2021-07-28 19:01:51 203 1

原创 Java应用程序的开发步骤包括

01 并发宝典:面试专题面试专题分为四个部分,分别如下Synchronized 相关问题可重入锁 ReentrantLock 及其他显式锁相关问题Java 线程池相关问题Java 内存模型相关问题1.1 Synchronized 相关问题(这里整理了八问)问题一:Synchronized用过吗?其原理是什么?问题二:你刚才提到获取对象的锁 ,这个“ 锁 ”到底是什么?如何确定对象的锁?问题 三:什么是可重入性 , 为什么说Synchronized是可重入锁?

2021-07-28 19:01:00 385

原创 Java应届生工资多少

字节跳动技术一面面问的都还比较基础,答得也还算顺利说下你的实习项目吧讲一下线程参数的含义Innodb的索引实现为什么是B+树?Redis的使用,分布式锁的实现操作系统虚拟内存换页的过程TCP三次握手volatile关键字的作用乐观锁、悲观锁HashMap结构,是否线程安全?ConcurrentHashMap如何保证线程安全?之前用过哪些设计模式?算法题:滑动窗口字节跳动技术二面发现字节的面试官都挺年轻的,头发也没怎么秃,哈哈~说一下B树和B+树的区别说一下HashMa

2021-07-28 19:00:07 604

原创 Java导入导出功能,满满干货指导

1 进程进程与程序操作系统之中最为通用的概念就是「进程」。与此相关的面试题以及各种技术优化策略也层出不穷,足以够证明它对于理解操作系统中举足轻重的地位。事实上,通过「进程」,程序员可以更为直观的理解自己所开发的软件,并且能够从中深刻的认识到操作系统在软件运行做了些什么。简单来讲,进程就是正在执行的程序。每个进程都包含有属于自己的一段地址空间,可以看作是一部分内存空间。在这样的地址空间中,进程能够根据需要进行内存的读写。地址空间里面一般包含可执行程序,以及对应程序的数据及其堆栈。与每个进程相关的还有一

2021-07-27 15:23:16 856

原创 Java导入excel到数据库重复,已有千人收藏

1.为什么要使用分布式锁使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作。1.1举一个很长的例子系统 A 是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在 Redis 中,用户下单的时候会更新 Redis 的库存。此时系统架构如下:但是这样一来会产生一个问题:假如某个时刻,Redis 里面的某个商品库存为 1。此时两个请求同时到来

2021-07-27 15:21:36 1386 1

原创 Java导入excel到数据库重复,太完整了!

一轮:第一轮面试官(是一位女性,喜欢钻研一些细节性的东西)自我介绍1、 HashMap和ArrayList的原理解释下。2、 Netty原理介绍下。3. 了解过NIO,BIO,AIO么?介绍下异同,代码中如何使用?4. 分布式锁用过么?用什么函数?什么使用场景?5. 能介绍下垃圾回收机制么?6. redis的数据结构介绍下。项目中用过哪些?什么场景7. 幂等性是什么?如何保障?8. 交易系统中的数据一致性咋保障?二轮:第二轮面试官(年龄看起来不大,人很好说话,给人一种很舒服的感觉)

2021-07-27 15:20:49 571

原创 Java对象转json内存溢出,已拿offer附真题解析

前言很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。好在,很早之前就有一位阿里巴巴的技术专家总结了一份**《Java工程师成神之路》**,作者按照自己的经验总结了从基础,到高级、底层、架构、进阶、扩展等6个大的章节。几乎囊括了Java体系内的所有知识点。这份资料之前开源在GitHub上,短短几个月时间,收获了15k+的Star数,最近,笔者了解到,该项目有了重大

2021-07-27 15:19:18 471

原创 Java对象序列化,详细的Java学习指南

整理的70道阿里的Java面试题,都来挑战一下,看看自己有多厉害。1、java事件机制包括哪三个部分?分别介绍。2、为什么要使用线程池?3、线程池有什么作用?4、说说几种常见的线程池及使用场景。5、线程池都有哪几种工作队列?6、怎么理解无界队列和有界队列?7、线程池中的几种重要的参数及流程说明。8、什么是反射机制?9、说说反射机制的作用。10、反射机制会不会有性能问题?11、你怎么理解http协议?12、说说http协议的工作流程。13、http有哪些请求提交方式?14、http

2021-07-27 15:17:42 48

空空如也

空空如也

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

TA关注的人

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