自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阿里P8架构师汇总了史上101个最牛逼的Java技术点

多线程与高并发编程 spring,ioc入门与详解 maven的简单构建、spring AOP spring中的循环依赖、代理方式讲解 springBoot mvc项目结构 开发 热部署springBoot web项目整合数据源、Thymeleaf 项目开发-Thymeleaf、Jpa、Bootstrap mybatis整合SpringBoot、mybatis-genera...

2020-03-19 17:30:33 4975 2

原创 华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。笔试部分太久远,我就不怎么回忆了。直接将面试。面试如果说腾讯的面试是挥金如土...

2020-03-02 21:57:28 33618 4

原创 到了2020年,年薪80w的阿里P7专家,顶尖的技术人才只因做到了这几点

最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面试只不过是一种验证而已(注意,是验证,而不是走过场),除非你面试过程中犯错误,或者你不想来,否则,那个offer一定是可以拿下的。那些拿下offer的人,基本上都有这么一些特征1. 学校不错,一般都是985,211,如果学...

2020-02-28 14:49:47 39891 19

原创 聪明如我,一眼就看穿了快递小哥的分堆算法。

又过了半分钟,小哥一看尾号为 8 的快递还得找一会,就对我说:老弟,这样嘛,你稍等一下下,我先把后面的人找一下,他们的应该很快。小哥想也没想的用标准的四川话回复我:哎呀,人手不够的嘛,我分堆堆的时候还要看小区,恼火的很。哦,你莫急,我很快就找到你的了,莫 ~ 急 ~我当然说没问题了,虽然我很赶时间,这个快递属于拿到马上就要用的那种,但是我还是非常理解这些小哥哥们的,等一会嘛,问题不大。我已经迫不及待的打开这个包裹了,我前面说了,这个快递属于拿到马上就要用的那种,可以两个人一起用,然后让人很兴奋的那种。

2022-12-30 16:01:52 369 1

原创 美团java研发岗二面:微服务问题被虐哭了,直到看到这些知识点

是一种降低在生产中引入新软件版本的风险的技术。这是通过将变更缓慢地推广到一小部分用户,然后将其发布到整个基础架构,即将其提供给每个人来完成的。

2022-12-29 14:27:30 387

原创 RabbitMQ延迟消息:死信队列 | 延迟插件 | 二合一用法+踩坑手记+最佳使用心得

总结下来就以下几点:1)、不管用不用,在安装RabbitMQ时就顺便把延迟插件也装上;2)、推荐以死信队列方式为主;3)、不要太多地方使用延迟队列;4)、交换机模式使用Direct点对点。最后,我会把本次案例的代码地址放在评论中,两种实现方式都有,可以直接运行起来,想要学习的可以下载来看看。

2022-12-29 14:20:17 505 1

原创 一个注解搞好SpringBoot接口定制属性加解密

上个月公司另一个团队做的新项目上线后大体上运行稳定,但包括研发负责人在内的两个人在项目上线后立马就跳槽了,然后又交接给了我这个「垃圾回收人员」。本周甲方另一个厂家的监控平台扫描到我们这个项目某些接口的一些敏感信息没有做加密,要求我们立马处理。检查了一下发现还真是这样,手机、身份证号什么的都没脱敏,心里顿时一万头神兽在奔腾。还好,我有长期应对这类突发事情的经验,直接写了一个自定义注解,然后在需要加解密的接口上加上,和前端一联调,欧克搞定,之后脸上保持沉重,但内心淡定摸鱼,好不潇洒。

2022-12-29 14:17:39 187

原创 单例模式只会懒汉饿汉?读完本篇让你面试疯狂加分

说到设计模式,面试排在第一位的十有八九是单例模式,这一定是大部分人从入门到面试工作都避不开的基础知识。但单例模式不仅有懒汉模式和饿汉模式两种写法,往往我们掌握的都是最基础的写法,如果你有阅读过类似spring这样的知名框架源码,一定会发现他们的单例模式写法和你所掌握的完全不同。本篇就给大家带来单例模式从基础->最优->额外推荐的写法,帮助你面试疯狂加分。最后这里稍微提一下,以免部分人对于设计模式感到些许负担。

2022-12-29 14:11:45 103

原创 《Thinking In Java》作者:不要使用并发

On Java》这本书说实话,我觉得没有作者的《Thinking In Java》写得好,可能有多种原因导致。我说下我觉得不好的主要感受在哪里,一是有些地方翻译的不好,会给你带来困惑,二是作者给出的一些案例有自己的风格,而且例子我没觉得那么通俗易懂。但总体上还是值得一看,尤其是他穿插了很多和其他如C/C++、GO等语言的比较,还包含了自己对Java的理解,尤其是一些编程思想很直接,最后给出了林林总总有接近70条的编程指南,我认为对于初学者树立未来工作中的编程思想是很有用的。

2022-12-29 14:07:57 92

原创 万字泣血解析割韭菜内木,程序员别老想着做副业

最近有准备一篇干货,但想了想还是先放放,眼看年关将近,写点其他对大家有用的内容。今年见了不少人被割韭菜,下半年尤为严重,这种情形甚至在技术行业蔓延,令人深感大环境的复杂变化,以及诸多同行对工作生活的紧张与紧迫感,弥漫着一股压抑的氛围。所以我写这篇文章情真意切,希望大家不要做被割韭菜的人,副业可以适当了解、接触,但作为程序员请千万不要老想着副业。我会通过本篇一一解析给大家听,若有不妥之处,还望多多包涵。1、割韭菜的方式从来没变,只要是打广告暗示可以带你发财变现的,想都别想,直接拉黑了吧,全是营销文案;

2022-12-29 14:04:26 616

原创 分享一个你很可能不知道的Java异常实现的缺陷

Java中一个大家熟知的知识点就是异常捕获,try...catch...finally组合,但是很多人不知道这里面有一个关于Java的缺陷,或者说是异常实现的一点不足之处。我这边就通过一个很简单的实验给大家演示下效果玩玩儿,希望大家能觉得有趣。知道了这个缺陷后,其实就很好避免了。1、避免在finally中抛出异常;2、避免在finally中使用return;3、catch中一定要养成log.error记录异常日志的好习惯,因为log是一定会记录下来的,至少不会让你毫无线索。

2022-12-29 13:58:02 108

原创 别再背锅了、这个小技巧统计第三方接口耗时很安逸

之前我有写过一篇记录生产环境事故的文章,获得了不少好评。后续,我们团队有做过一些讨论,为了支撑运营维护,搭建了更好的日志平台Granfa+Loki,也引入了SkyWalking做链路追踪。但过程中也遇到了一些问题,我会在下面讲述出来,然后将这个简单的小技巧分享出来,希望对大家有所帮助。最后,我把这种方式的好处再总结一遍,如果和我所在公司情况类似的同行可以参考下。

2022-12-29 13:53:12 186

原创 阿里内部高并发核心编程笔记:多线程、锁、JMM、JUC、设计模式

前两天看到一个大佬写的博客,提到高阶开发者必须掌握的技能,其中他明确提出了“”。,不管你去面试哪家公司,java多线程是必问项,而且多线程使用范围广,无论如何是避不开的;,你对多线程掌握的越深入,意味着你能做的事情越多。实现业务功能,要掌握多线程;性能优化,那么底层原理就要摸透;使用多线程,锁你就必须得了解;使用锁,你得知道各种锁的优化方法;比如,Synchronized同步锁的优化方法我在面试的时候也经常看到一些朋友写“精通多线程性能调优”,但。

2022-12-28 15:45:28 141

原创 京东三面惨遭被虐,关于redis,高并发,分布式,微服务一窍不通

自从在京东碰壁之后,花了一个月的时间学习梳理了这些知识点,准备来日再战,除了高并发,分布式,微服务之外,还整理了有java基础,微服务,Kafka等知识点的笔记。以及1500道大厂面试题的整理。面试整体以及思维导图获取方式:关注小编+转发文章+私信【学习】获取。

2022-12-28 14:00:50 140

原创 阿里面试这些微服务还不会?那还是别去了,基本等通知

微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。但大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。同样在大厂的面试中微服务基本上成为了一个必问的选项,所以掌握微服务成为通向大厂的一张门票,,只是掌握了微服务最基础的 set 和 get 的方法,这让人感到非常的可惜。

2022-12-28 13:55:28 109

原创 2022年最全大厂面试真题解析:java集合+spring+并发编程+MyBatis

不知道最近面试是否顺利,是否会经常问到一些自己不熟悉的问题,不知道怎么去回答这些问题,今天小编给大家整理了2022年大厂经常问到了的一些面试真题及解析,内容点包含有java集合,jvm,并发编程,spring,mybatis,springMVC,微服务,Dubbo,netty,网络,zookeeper,kafka,rabbitMQreadis缓存,数据库,设计模式。等一线大厂互联网大厂常问到的面试真题,大家可以学习下用来突击金三银四。 Synchronized 相关问题:可重入锁 ReentrantLo

2022-12-28 13:50:02 164

原创 Redis第四弹,删除了大量数据后,为什么内存占用还是很高?

上周刚来了个应届小师弟,组长说让我带着,周二问了我这样一个问题:师兄啊,我用top命令看了下服务器的内存占用情况,发现Redis内存占用严重,于是我就删除了大部分不用的keys,为什么内存占用还是很严重,并没有释放呢?嗯?为什么呢?今天就带着这个问题来介绍一下如何正确释放Redis的内存。内存碎片这个概念应该不是第一听说了,熟悉JVM或者操作系统的应该都熟悉,以火车卖票为例,一个车厢128个车位,由于高峰期,只剩余两个位置了,但是此时三个。

2022-12-28 13:44:01 165

原创 Redis第三弹,给你一亿个keys,如何高效统计?

不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?签到系统中,一天对应一系列的用户签到记录。电商系统中,一个商品对应一系列的评论。交友系统中,某个用户的一系列的好友。Redis中集合的特点无非是一个Key交友系统中,需要统计每天的新增好友,以及双方的共同好友。电商系统中,需要统计评论列表中的最新评论。签到系统中,需要统计连续一个月的签到的用户数量。大型互联网应用中,数据量是巨大的,少说百万,千万,甚至是一个亿,比如电商巨头淘宝,交友巨头微信、微博;

2022-12-28 13:42:13 479

原创 Redis第二弹,服务器宕机,数据丢了怎么办?

Redis作为内存型的数据库,虽然很快,依然有着很大的隐患,一旦服务器宕机重启,内存中数据还会存在吗?很容易想到的一个方案是从后台数据恢复这些数据,如果数据量很小,这倒是一个可行的方案。但是如果数据量过大,频繁的从后台数据库访问数据,压力很大;另外一方面恢复数据的时间极慢。对于Redis来说,实现数据的持久化和快速恢复是至关重要。今天这篇文章就来介绍一下Redis持久化的两种机制AOF日志、RDB快照。AOF()日志称之为写后日志,即是命令先执行完成,把数据写入内存,然后才会记录日志。AOF。

2022-12-28 13:41:37 606

原创 Redis第一弹,单线程的Redis,有哪些慢动作?

现在一提到Redis的第一反应就是快、单线程,但是Redis真的快吗?真的是单线程吗?你有没有深入了解一下Redis,看看它的底层有哪些"慢动作"呢?Redis之所以这么快,不仅仅因为全部操作都在内存中,还有底层数据结构的支持,但是数据结构虽好,每种数据结构也有各种慢的情况,Redis结合各种数据结构的利弊,完善了整个运行机制。

2022-12-28 13:40:15 97

原创 线程的状态转换以及基本操作

一个java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上java程序天生就是一个多线程程序,包含了:(1)分发处理发送给给JVM信号的线程;(2)调用对象的finalize方法的线程;(3)清除Reference的线程;(4)main线程,用户程序的入口。那么,如何在用户程序中新建一个线程了,只要有三种方式:通过继承Thread类,重写run方法;通过实现runable接口;通过实现callable接口这三种方式,下面看具体demo。

2022-12-27 11:34:18 101

原创 线程池ThreadPoolExecutor实现原理

在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用。

2022-12-27 11:30:09 108

原创 一篇文章,让你彻底弄懂生产者--消费者问题

如果线程在等待时接受到了通知,但是之后等待的条件发生了变化,并没有再次对等待条件进行判断,也会导致程序出现错误。下面用一个例子来说明这种情况。

2022-12-27 11:27:50 263

原创 彻底理解synchronized

使用锁时,线程获取锁是一种悲观锁策略,即假设每一次执行临界区代码都会产生冲突,所以当前线程获取到锁的时候同时也会阻塞其他线程获取该锁。而CAS操作(又称为无锁操作)是一种乐观锁策略,它假设所有线程访问共享资源的时候不会出现冲突,既然不会出现冲突自然而然就不会阻塞其他线程的操作。因此,线程就不会出现阻塞停顿的状态。那么,如果出现冲突了怎么办?无锁操作是使用**CAS(compare and swap)**又叫做比较交换来鉴别线程是否出现冲突,出现冲突就重试当前操作直到没有冲突为止。

2022-12-27 11:24:29 119

原创 HTTP客户端工具该选哪个?进来看

HTTP(超文本传输协议)是一种应用层协议,用于客户端和服务端进行通信,按照标准格式如JSON、XML等进行网络数据的传输,通常也作为应用程序之间以RESTAPI形式进行通信的常用协议。在Java应用中需要调用其他应用提供的HTTP服务API时,通常需要使用一些HTTP客户端组件。而可选择的HTTP客户端有很多,本期内容主要介绍在Java应用程序中可以使用的HTTP客户端工具。Java 11+版本中提供的HttpClientApache HttpComponents项目中的HttpClient。

2022-12-27 11:18:04 894

原创 吃透JAVA的Stream流操作,多年实践总结

好啦,关于JAVA Stream的理解要点与使用技能的阐述就先到这里啦。那通过上面的介绍,各位小伙伴们是否已经跃跃欲试了呢?快去项目中使用体验下吧!当然啦,如果有疑问,也欢迎找我一起探讨探讨咯。

2022-12-26 20:01:39 107

原创 面试官:请问WebFlux与WebMVC有什么区别?

在构建响应式 Web 服务上,Spring 5 中引入了全新的编程框架,那就是 Spring WebFlux。作为一款新型的 Web 服务开发框架,它与传统的 WebMVC 相比具体有哪些优势呢?

2022-12-10 17:23:24 2816

原创 java 程序员,是不是很想进字节跳动?开发三年的我拿到了入职通知

那我这里也不卖关子了,在入职字节跳动的面试流程,当然要先酸一下粉丝。

2022-11-30 13:31:21 209

原创 圆梦腾讯之路、6 面阿里、5 面字节、4 面腾讯,终斩腾讯 Offer

准备好一些高频问题,包含技术类和非技术类Step ①:技术类看过哪些源码对哪个技术比较熟悉最近在学什么,为什么项目有哪些地方需要改进项目有哪些难点怎么应对突发流量上面的话,只是提到了面试的时候面试官的一些提问,由于篇幅的原因没有把 6 面阿里、5 面字节的面试题以及所有这些面试题的答案分享出来。我和王珩经过 7 天的时间,已经把文档整理出来了,非常详细。希望能够帮助到大家,共勉!如果大家还有一些面试方面的技巧或者经历,可以私信分享给我,我会和王珩一起继续完善这份文档!

2022-11-27 10:58:43 189

原创 来一份常见 JVM 面试题+“答案”

JVM采用的是可达性分析算法。JVM是通过GC Roots来判定对象的存活的。从GC Roots向下追溯、搜索,会产生一个叫做Reference Chain的链条。当一个对象不能和任何一个GC Root产生关系,就判定为垃圾。活动线程相关的各种引用,比如虚拟机栈中栈帧里的引用。类的静态变量的引用。JNI引用等。当然也有比较详细的回答,个人认为这些就够了。Java线程中,当前所有正在被调用的方法的引用类型参数、局部变量、临时值等。也就是与我们栈帧相关的各种引用。所有当前被加载的Java类。

2022-11-22 13:12:14 1547

原创 这 20 道微服务面试题,阿里、字节、美团、百度面试都问了

最后,我把我面试前几个月准备复习攻克的所有面试题已整理成文档,需要获取的小伙伴可以直接转发+关注后私信(学习)即可获取哦。

2022-11-19 14:47:48 577

原创 阿里 P8 整理的新版手抄本,所有 Java 知识操作

该文档在 Github 上收获 45K+star 的 Java 核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含内容非常丰富,已经帮很多人拿下互联网一线公司的 offer。关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!

2022-11-18 14:30:28 113

原创 为SpringDataJpa集成QueryObject模式

接触过旧版本的读者,可以跳过,直接看下一章“spring data jpa 集成”创建 JpaUserSingleQueryService,继承自}}其中,构造参数 JpaUserRepository 为 spring data jpa 为我们生成的 Proxy;BaseSpecificationQueryObjectRepository 为我们提供基本的查询能力;首先,需要对 SimpleJpaRepository 实现进行功能扩展,并让框架实现自定义的 Repository 实现。

2022-11-18 14:22:52 220

原创 终于有人把这份 10 万字节详细面试笔记 (带完整目录) 整理出来了

2022 年一个不平淡的一年,金九银十也已经过去了,肯定有一批求职者还在辛苦地找工作。小编最近日熬夜整理了一份关于 SpringBoot,JVM 篇,多线程 &并发,Spring,MyBatis Kafka 等的学习笔记。资料已整理成文档。

2022-11-17 16:05:02 126

原创 2023年春招用的到的Java后端面试攻略,吃透25个技术栈

小编分享的这份春招Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等25个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!

2022-11-16 15:21:39 462

原创 十分钟搞懂Java限流及常见方案

在系统架构中,Nginx的代理与路由转发是其作为网关层的一个很重要的功能,由于Nginx天生的轻量级和优秀的设计,让它成为众多公司的首选,Nginx从网关这一层面考虑,可以作为最前置的网关,抵挡大部分的网络流量,因此使用Nginx进行限流也是一个很好的选择,在Nginx中,也提供了常用的基于限流相关的策略配置.如果我们的接口设置了时间窗口内访问上限是20,那么当时间到第六秒的时候,这个时间窗口内的计数总和就变成了10,因为1秒的格子已经退出了时间窗口,因此在第六秒内可以接收的访问量就是20-10=10个。

2022-11-16 13:46:55 1514

原创 Java程序员拼多多3轮面试,这些面试题你能掌握多少?

面试一直是大家关注的问题,包括最近有很多人跟我讲投了很多简历出去,就像泥牛入海一样了无音讯了,今天我就来分享一个Java程序员面试拼多多后端开发岗位的几轮面试题。1、Linux 下的一些指令,(进程id), (进程 id),(进程id),?1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。8、给你一个系统(面试官好像是无人车部门的),后台的逻辑已经实现了,但是前端加载很慢,怎么检测。13、grep 的使用,一定要掌握,每次都会问在文件中查找。

2022-11-16 09:36:28 1095

原创 一个月面了几家大厂 总结了5W字的后端面经

singleton(单例)、 prototype(原型、) request session global session。

2022-11-16 09:33:05 104

原创 Dubbo不香?看完阿里这套微服务2.0官方手册,还真没它香

近几年,微服务架构迅速在整个技术社区窜红,它被认为是 IT 软件架构的未来方向。热度虽高,但对于很多中小公司来说微服务却是遥不可及,因为团队规模和能力又反过来制约了他们采用新技术的步伐。如果你还在学习Spring Cloud Alibaba而没有好的学习笔记及思路的话,这份学习手册笔记及下面的思维学习路线笔记能够很好地帮助你!然而现在国内系统的在这特地分享这份官方出产的,从基础到高级进阶深度分析这些组件及学习思路!

2022-11-15 16:44:43 94

原创 面向监狱编程之 rm / -rf

在我们学习 Linux 指令之前,先来说一下什么是 Shell?Shell 把我们输入的指令,传递给操作系统去执行,所以 Shell 是一个命令行的用户界面。早期程序员没有图形界面用,就用 Shell。而且图形界面制作成本较高,不能实现所有功能,因此今天的程序员依然在用 Shell。你平时还经常会看到一个词叫作bash(Bourne Again Shell),它是用 Shell 组成的程序。这里的 Bourne 是一个人名,Steve Bourne 是 bash 的发明者。

2022-11-15 15:10:33 260

空空如也

空空如也

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

TA关注的人

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