面试真题·进阶教程·职场干货·思维导图免费分享
先说一下自己的个人情况,18届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多2年多的时间,可惜的是今年4月份受疫情影响遇到了大裁员,而我也是其中一员。好在早有预感,提前做了准备,之前一直想去字节跳动,年前就已经在做准备了,这场持久战拉得很长,也最终以7个月的时间取得胜利。在踏入字节跳动,办理入职手续的那一天,作为一个男子汉,确实是落泪了。特分享一波我的真实经历,共勉。
字节跳动,相信大家都已经对这家公司很熟悉了,尤其是近几年来,对它的认识也在不断刷新,它惊人的发展速度确实让行业内人刮目相看,如今很多年轻人也想要挤进字节跳动,它越来越火热,自然也就越来越难进了! 对于字节跳动,我也有不一样的情愫,毕业后就开始着手准备面试的事情,字节跳动也是我的目标之一。在面试前,我做了不少功课,众所周知的是字节对于算法的要求是很高的,算法算是字节面试必问的,也是成功的关键之一。所以,提前刷一刷算法题很有必要,而我也特意整理到了一份难得的“算法宝典”,这本宝典讲各大算法题讲得非常透彻,花了一些时间啃透后,我竟真拿下了字节跳动的offer。
今天我们来详细了解一下主从同步延迟时读写分离发生写后读不到的问题,依次讲解问题出现的原因,解决策略以及 Sharding-jdbc、MyCat 和 MaxScale 等开源数据库中间件具体的实现方案。 一、写后读不到问题 MySQL 经典的一主两从三节点架构是大多数创业公司初期使用的主流数据存储方案之一,主节点处理写操作,两个从节点处理读操作,分摊了主库的压力。 但是,有时候可能会遇到执行完写操作后,立刻去读发现读不到或者读到旧状态的尴尬场景。这是由于主从同步可能存在延迟,在主节点执行完写操作,再去从节点执行读操作,读取了之前旧的状态。
通常情况下redis的数据全部存储在内存中,数据库一旦故障发生重启数据会全部丢失,即使是在redis cluster或者redis sentinel模式下主从同步数据的恢复仍然需要一段时间。
算法,在行业里越来越重要,一线互联网公司也非常注重算法,所以在面试时基本上都有涉及到。字节跳动是出了名的爱问算法题,几乎每一面都要问到算法。实际上,现在很多公司都会问算法,尤其是对于应届生来说,要求更高,所以想要进大厂,搞定算法是很重要的。 前段时间,我就去面了一次字节跳动,好不容易进到第四面,眼看offer就要拿到手了,可惜竟然被一道“算法题”给拦截了,与字节的offer失之交臂。今天就分享一下这道算法题,让我们好好聊一聊,怎么搞定字节跳动的面试吧!
今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次阿里面试真的太难为我了,可以说是和面试官大战了7个回合,不过好在最后给了offer。 我个人情况是5年Java后台经验,阿里定级P7的样子,下面是我的面试经历分享,希望能带来一些不一样的启发和帮助。
MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。 目前大部分的互联网的首选也仍然是MySQL,所以作为一名开发人员,掌握好MySQL的使用是非常有必要的,那么如何能够达到“精通”MySQL的程度,那就需要耗费不少心思了。那么如何学习MySQL呢?今天就来好好谈谈。 下面介绍我学习MySQL的三个步骤,一天就搞定了MySQL,让我顺顺利利拿下了天猫的offer。
今天要分享的是在生产环境中出现的一次算得上比较诡异的死锁事件, 不过庆幸的是没有产生较大的业务损失.
前段时间,我在内存中实现了一个简单异步通知框架。但由于没有持久化功能,应用重启就会导致数据丢失,且不支持分布式和集群。今天这篇笔记,引入了 Redis 来解决这些问题,以下是几点理由: 数据结构丰富,支持 List、Sorted Set 等 具有持久化功能,消息的可靠性能得到保证 高可用性,支持单机、主从、集群部署 项目中已使用,接入成本更低 基于 Redis 实现延时队列也有几种方法,展开详细讲讲。
所谓的通信协议就是通信双方共同遵循的一种“约定”,用于通信发送方将内容按照“通信协议”所规定的格式组装成**“二进制流”**,通信接收方按照“通信协议”所规定的格式正确的从二进制流中解码出一个个原始请求。
作为一名程序员,尽早确定自己的发展方向和路线是非常重要的,架构师则是其中的方向之一。很多程序员,奋斗大半辈子,是为了让自己成为一名合格且优秀的架构师,但是成为架构师并非一件易事,它对于技术方面的要求也是非常高的。 当然,大厂架构师更为值钱,那么想要进大厂做架构师,需要学习哪些技术呢?可能现在的你还比较迷茫,但实际上现在市面上有不少现成的架构技术路线,跟着路线学习起来则是非常容易的!今天要分享的,是看着一般,但读过之后会觉得真香的“架构技术攻略”,这套攻略由阿里技术官亲自推荐,从基础到源码,让你在大厂一站到底!
作为一名Java方向的程序员,打好夯实的基础是非常重要的,现在大厂面试对于程序员基础知识的掌握考察也越来越严格,虽然说现在技术更新比较快,但基础扎实才能够更深入的去理解每一个知识技术点。 关于Java程序员如何筑基,大部分小白是比较迷茫的!不过今天让人兴奋激动的是,阿里巴巴首推的“Java进阶必备宝典”,内容完整,能够让读者清晰认识Java系统的结构,从基础到高级再到实战,带你一键搞定!这本“Java进阶必备宝典”包括六大核心知识点,主要涉及到的内容有:
个人背景: 不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到阿里的offer准备入职了。 阐述原因: 在外包公司的两年里,作为一名菜鸡,确实非常合格,技术没什么长进,眼见也没有提升,没规划没未来,让人实在焦虑,之所以开始改变自己也是家庭发生了变故,才让自己开始思考人生。身边很多人感叹过,能从外包逆袭,算是传奇,所以今天想要分享一下个人的经历,希望能够鼓励到一些与我有相似经历的同行。
类加载 Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程 和那些编译时需要连接工作的语言不同,在Java语言里,类型的加载,连接和初始化过程都是在程序 运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为java应用程序提供比较高的灵活性。 当我们使用到某个类的时候,如果这个类还未从磁盘上加载到内存中,JVM就会通过三步走策略(加载、连接、初始化)来对这个类进行初始化,JVM完成这三个步骤的名称,就叫做类加载或者类初始化。
最近在阅读《每天5分钟玩转Kubernetes》 这本书,个人感觉是一本不错的 K8S 的入门书籍。 我们在刚开始学习一项技术的时候,不论是通过官方文档、书籍,亦或是视频的形式,如果仅仅是去看,而不去练习实践的话,那么是很难将其真正应用起来的。 然而当我开始准备实践的时候,发现要想在本地将 K8S 跑起来,并不像我们想象的那么容易。存在以下几点「问题」: 网络环境:K8S 里面的一些镜像在国内很难将其 pull 下来,当然这可以通过代理、镜像站等方式解决。 资源消耗:在内存资源不这么充裕的本地开发环境,去部署一个 K8S 集群,这无疑不是一个明智的选择。
Spring 在 4.2 版本之后提供了@TransactionlEventListener 注解,可以很方便地在事务提交后做一些处理,但是如果使用不当,或者没有正确理解其背后的运行逻辑,很容易踩坑甚至导致线上故障。 之前工作中就遇到了一个问题,在事务监听时,做了一些事务操作,但是这个事务并没有生效。 今天我们就来深入了解一下,这个问题是怎么产生的,又该如何解决。
如标题所示,我的个人背景非常简单,Java开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。 幸运女神往往会眷顾努力的人,所以当好运降临到我头上,我并不诧异,目前拿到了美团30K的offer,下文也不说废话,主要分享我这次“美团面试经历”和“个人学习方法”,希望能帮助到你们。
前段时间,蚂蚁金服的热度可不小,互联网圈人人都在讨论它上市的事情,实际上蚂蚁金服上市是迟早的事情。这一下,蚂蚁的员工含金量上升了不少,那我之前蚂蚁提前批这波面经,也是时候分享了。 这次面试,可以说是一波三折,波涛汹涌了,原本我是一个挺自信的人的,所以在面试前我算是处于一个斗志昂扬的状态,奈何在经历一面二面意志力被消磨了不少,虽然三面准备充足,但整体下来对自己表现不满意,所以以为是没戏了,没想到意外接来了HR面的通知,于是就这么意外的拿到了offer。
最近一个朋友老是和我抱怨:公司系统日志打得实在是太烂了,有用的信息很少,没用的一大堆。就连那有用的信息,在那么多节点日志之间进行追查,也是痛苦的一笔。 我问他,公司没有日志收集吗,日志收集起来看总好过一个节点一个节点日志查看。他表示,公司有接入一个收费第三方的日志产品,做了收集。但是仅仅是方便了统一化查看搜索,但是系统本身的日志缺少一些关键性的要素。比较乱,在很多微服务之间查看调用日志时定位很难。
Spring-boot 基于数据库的配置管理 好的配置管理 是部署的第一步。 推荐大家 关注我的开源商城项目: jimoos-shop-server,欢迎 Star. 配置管理 做了什么 通常,应用的 配置 在不同 部署 (预发布、生产环境、开发环境等等)间会有很大差异 这其中包括: 数据库,Redis,以及其他 后端服务 的配置 第三方服务的Key,如 存储、推送等 每份部署特有的配置,如域名等
阿里巴巴,作为国内互联网公司的Top,算是业界的标杆,有阿里背景的程序员,也更具有权威性。作为程序员,都清楚阿里对于员工要求有多高,技术人员掌握的技术水平更是望尘莫及。所以,大厂程序员的很多经验也都值得我们借鉴和学习,在一定程度上确实能够帮助我们“走捷径”。 今天,我们要分享的是,Alibaba技术官丢出来的SpringCloud微服务实战笔记,这份笔记让人看了不得不爱,目前在GitHub的热度已经标星81.6k了,由此可见同行们对这份文档的认可程度,这也意味着对我们的学习和技术提升有很大的帮助。
前言 程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉-熟练-精通的过程以外,还应该从基础出发,到进阶,到源码,到实战。所以,程序员想要成功,首先要成就自己。 今天,这份Java全能笔记终于爆火了,看完之后我直接跪了!这份Java全能笔记内容齐全,包括以下几个方面:
TikTok,作为字节跳动铺棋国际局的头兵,如今竟与华为有了相同遭遇,但似乎并不让人出乎意料。实际上,TikTok出售美国业务给微软,并非是我们想象的躺平跪倒,而是极端不利的形势下,被逼无奈的退让,所以就这一点来说,我也能给予理解。 不过,在给予理解的同时,我更多的是错愕与迷茫,毕竟刚拿不久的offer这下打了水漂,TikTok肯定是去不成了,之后该做出什么样的决定,暂时我还没想清楚。 先介绍一下由来吧,我江苏人,南京某大学学习计算机编程,有UIUC的交换经历。今年找工作拿到了TikTok和Google双offer,后来综合考虑和比较之后,选择了字节跳动美国TikTok事业部。但时不逢春,
李东,自称亚健康终结者,尝试使用互联网+的模式拓展自己的业务。在某款新开发的聊天软件琛琛上发布广告。 键盘说来就来。疯狂发送"李东",回车发送!,"亚健康终结者",再回车发送!
前言 如果我们想要使用传统意义上的 Spring 应用,那么需要配置大量的 xml 文件才可以启动,而且随着项目的越来越庞大,配置文件也会越来越繁琐,这在一定程度上也给开发者带来了困扰,于是 SpringBoot 就应运而生了。
本文主要讨论秒杀场景的解决方案。 什么是秒杀? 从字面意思理解,所谓秒杀,就是在极短时间内,大量的请求涌入,处理不当时容易出现服务崩溃或数据不一致等问题的高并发场景。 常见的秒杀场景有淘宝双十一、网约车司机抢单、12306抢票等等。 高并发场景下秒杀超卖Bug复现 在这里准备了一个商品秒杀的小案例, 1.按照正常的逻辑编写代码,请求进来先查库存,库存大于0时扣减库存,然后执行其他订单逻辑业务代码;
关于技术人如何成长的问题,一直以来都备受关注,因为程序员职业发展很快,即使是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距,所以技术人保持学习,提升自己,才能够扛得住不断上赶的后浪,也不至于被“拍死”在沙滩上。 近日,经过一朋友的透露,Alibaba也首发了一份限量的“Java成长笔记”,里面记载的知识点非常齐全,看完之后才知道,差距真的不止一点点! Java成长笔记主要是将Java程序员按照年限来进行分层,清晰的标注着Java程序员应该按照怎样的路线来提升自己,需要去学习哪些技术点。
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。虽然说,目前状况是Kafka更为火热,但更为广泛的应该还属老牌的RabbtiMQ和Alibaba自主研发的RocketMQ。 关于MQ相关的内容,Alibaba肯定还是很有话语权的,尤其是关于RocketMQ的使用,所以今天我们要分享的内容,实际上就是阿里P8的十年开发经验总结,写出来的这本“RabbitMQ+RocketMQ”技术手册,看完你也不得不感叹这份极品手册啊!
分布式,是程序员必备技能之一,在面试过程中属于必备类的,在工作中更是会经常用到。而Kafka是一个分布式的基于发布订阅的消息队列,目前它的魅力是无穷的,对于Kafka的奥秘,还需要我们细细去探寻。 要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部供应的“限量笔记”,关于Kafka的精髓全部写在这里面了,不得不感叹:不愧是Alibaba的技术官啊,真的服了!
本文主要讨论秒杀场景的解决方案。 什么是秒杀? 从字面意思理解,所谓秒杀,就是在极短时间内,大量的请求涌入,处理不当时容易出现服务崩溃或数据不一致等问题的高并发场景。 常见的秒杀场景有淘宝双十一、网约车司机抢单、12306抢票等等。 高并发场景下秒杀超卖Bug复现 在这里准备了一个商品秒杀的小案例, 1.按照正常的逻辑编写代码,请求进来先查库存,库存大于0时扣减库存,然后执行其他订单逻辑业务代码;
小傅哥,你是怎么学习的? 有很多初学编程或者码了几年CRUD砖的小伙伴问我,该怎么学编程?感觉什么都不会怎么办?感觉目前的公司没有核心业务学到不东西呀! 其实我可能和很大一部分的粉丝读者都有类似的经历,在传统类似外包的行业待过、从C#语言两年开发再面Java岗、新到互联网职场感觉太多不会的技术栈等等。 但可能最让我在学习编程上受益的就是不断的折腾这些技术:
老家农村,家里好不容易把我送到大城市读书,大学非985,211,但在我们老家,能出一个本科大学生也是非常不容易的。因为农村信息的相对闭塞,我对大学专业一无所知,加上分数并非前茅,最后被调剂一个我并不喜欢的专业,这里就不透露自己是什么学校了,只能说毕业之后为了能多赚点,选择了送外卖,这一送就送了将近3年的时间。 为什么学编程? 接触到编程是一次很偶然的机会,有一次送外卖,对方是自己的学长,他是计算机专业的,毕业后就进了一线互联网公司,那之后就偶尔有跟他聊人生聊未来,一次契机,他劝我何不自学编程,来做程序员?后来考虑了很久,自己也综合对比了各行各业的发展,最后决定学习编程,选择了Java方向。
我常常在想,近些年来互联网行业裁员情况越来越严重,为什么还是会有特别多的人挤破脑袋想要入这一行,尤其是大部分已经工作的人也会想着要转行来学习编程,再根据今年的高考志愿填报情况来看,很明显,计算机学科已经成为热门行业,那对于刚刚入学的新生以及想要转行的人来说,怎么开始学习一门编程语言,确实是一大难题。 所以,今天就关于Java这一类编程语言,我们对初学者的学习也有了以下的内容分享,这份内容看完之后可以说是相当精彩,由阿里内部出品的“Java初学者开发宝典”,堪称就业必备,现已嗨翻全网。
MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱
RPC全称Remote Procedure Call,即远程过程调用,对于调用者无感知这是一个远程调用功能。目前流行的开源RPC 框架有阿里的Dubbo、Google 的 gRPC、Twitter 的Finagle 等。本次RPC框架的设计主要参考的是阿里的Dubbo,这里Netty 基本上是作为架构的技术底层而存在的,主要完成高性能的网络通信,从而实现高效的远程调用。
我并没有和HashMap杠上,想着重新开始写点技术的东西,就拿HashMap开头了。最近开始重新学习数据结构和算法,其中有些东西学完之后,对于HashMap的理解和运用又有新的认识。虽然之前运用HashMap也有这样用过,但是知道了方法论,才发现这样使用的好处。 上一期我写过HashMap,写的是JDK8之前的Hash,现在都JDK15了,大家有兴趣可以去看一下源计划之从HashMap认识数据结构
根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的。在行业内,很多互联网企业也将阿里作为自己的标杆,越来越多的“打工人”也希望能够进到阿里工作。
看到标题,可能很多读者朋友恐怕又要骂我了,985这个特殊的字眼也确实异常晃眼,实际上现在985,211也越来越多,它能代表你能够进入到更高的平台,拿到“高级工厂”的入场券,但并不意味着你会成为赢家,或者说也不代表着你会站在金字塔的顶端,因为顶端往往是少数人,位置有限,太挤了总会掉下来,而我就是被挤下来的那一拨人中的一个。
前言 现在已经九月底,金九银十也已经过去了一大半,很明显今年的面试季明显不如往年火热,对于求职者来说,也更难了一些。马上迎来国庆节,假期一过,十月份又过去了三分之一,综合来看今年确实不是面试的最佳时期,不过趁今年所剩的时间来好好准备,明年的金三银四或许会顺利得多。不过,对于今年的应届生来说,等到明年再去面试,竞争就更大了。
生产环境上,或者其他要测试 GC 问题的环境上,一定会配置上打印GC日志的参数,便于分析 GC 相关的问题。 但是可能很多人配置得都不够“完美”,要么是打印的内容过少,要么是输出到控制台,要么是一个大文件被覆盖,要么是…… 本文带你一步一步,配置一个完美的 GC 日志打印策略
1.该子流程涉及到如下几个关键步骤 Resource定位:指对BeanDefinition的资源定位过程。通俗讲就是找到定义Javabean信息的XML文件,并将其封装成Resource对象。 BeanDefinition载入 :把用户定义好的Javabean表示为IoC容器内部的数据结构,这个容器内部的数据结构就是BeanDefinition。 注册BeanDefinition到 IoC 容器
导言 算法是一门学问,但却总遭到一些程序员的冷落。现在的开发人员,更热衷于编程语言的修炼,以应付面试需求时的需要,所以对算法的学习,稍许忽略了些。实际上,近些年来,各互联网公司对于算法的要求也越来越高了,尤其是对于应届生来说,更为严格。 算法的学习,可能很多人认为就是简单的“输入-运算-输出”,但实际上算法的学习需要我们修炼的是“内功”,其思想是最为重要的。 那么算法学习该如何开始呢?枯燥的算法学习不可取,如今京东T7对算法学习有了个大创新,开创了“新算法宝典”,图文并茂,对算法讲解有了一个全新的演绎!
导言 提起阿里,行外人联想到的关键词无非是“交易”、“淘宝”、“支付宝”,但对于程序员来说,阿里庞大的技术体系才是最吸引人的。实际上阿里作为国内一线互联网公司的头把交椅,内部的技术体系和发展都是备受关注的,对于程序员来说,能够进到阿里工作,就是对自己的技术水平进行一个提升和学习。 实际上,阿里内部的技术交流氛围是极其强烈的,技术人员也经常会交流自己的学习经验和技术总结。今天要分享的,则是Alibaba开发人员献礼的“Java架构成长笔记”,带我们深入内核,拒绝蒙圈!
导言 什么是架构师?对于程序员来说,聊架构是一个永不过时的话题。实际上,每一家公司都有自己对架构师不同的定位,因为不同的公司,所处的阶段、业务模式以及应用场景都不一样,因此对架构师的要求不一样,所以定位也就不同。 但是,无论如何,架构师除了优秀的合作能力以及清晰的思路头脑以外,过硬的技术基础也是很有必要的,大型的互联网公司对架构师的技术要求也是非常高的。因此,学习架构技术,刻不容缓。
Java 内存模型这个概念,在职场的很多面试中都会考核到,是一个热门的考点,也是一个人并发水平的具体体现。原因是当并发程序出问题时,需要一行一行地检查代码,这个时候,只有掌握 Java 内存模型,才能慧眼如炬地发现问题。 什么是 Java 内存模型? 你已经知道,导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但是这样问题虽然解决了,我们程序的性能可就堪忧了。
Kafka的消息传输保障机制非常直观。当producer向broker发送消息时,一旦这条消息被commit,由于副本机制(replication)的存在,它就不会丢失。但是如果producer发送数据给broker后,遇到的网络问题而造成通信中断,那producer就无法判断该条消息是否已经提交(commit)。虽然Kafka无法确定网络故障期间发生了什么,但是producer可以retry多次,确保消息已经正确传输到broker中,所以目前Kafka实现的是at least once。
前言 我们都知道,在程序员的职业生涯中,有多个发展方向,不过就数据表明,近年来选择架构师方向的开发人员也越来越多。 对于架构师的发展前途,我相信是已经没有争议的,但这个“概念”对于很多开发人员来说,并没有太清晰的认识,怎样才能成为架构师,是很多程序员心里的疑问。 所以,就架构师需要掌握的技术来说,我们特此整理一份Java架构速成笔记分享给你,包含七大专题,共1425页经典考点,希望吃透后的你能够轻松挑战P8岗。
前言 在java界,netty无疑是开发网络应用的拿手菜。你不需要太多关注复杂的nio模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。 作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty构建,比如RPC框架、zookeeper等。由此可见,掌握Netty技术对于开发人员来说是非常重要的。 为了让更多的开发人员学习好Netty,特此公布:腾讯高工手写的13万字的“Netty速成手册”。
受疫情影响,今年似乎给人感觉时间比往年还要流逝得更快。显然,春节一过,我们又将迎来面试旺季金三银四。对于程序员来说,秋招的失利更意味着在金三银四要打一场“硬战”,可又有多少人做好了面试的准备呢?对于一线互联网公司的面试,你又了解多少呢? 今天,一本《Java面试考点大全》全网首发,带你摸熟20+互联网公司的面试考点!
i++ 是线程安全的吗? 相信很多中高级的 Java 面试者都遇到过这个问题,很多对这个不是很清楚的肯定是一脸蒙逼。内心肯定还在质疑,i++ 居然还有线程安全问题?只能说自己了解得不够多,自己的水平有限。 先来看下面的示例来验证下 i++ 到底是不是线程安全的。