自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 阿里P7空降公司java研发部,为快速进军微服务,拿出18个涨薪名额

做个微服务笔记,今天就先不讲故事了!注意:领取大厂面试题、Java全套核心面试要点等资料,私信霸哥【资料】免费领取1、什么是微服务在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服务,一定要区

2020-05-28 22:07:20 735

原创 阿里P8架构师用项目经验编写SpringMVC+MyBatis从入门到项目实战

前言Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。MyBatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDB.

2020-05-26 22:25:25 910

原创 太厉害了终于有大牛把Spring Cloud 微服务总结的这么全面了

近年来,Spring Cloud 俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。基于我长期以来在一线互联网公司(携程,拍拍贷等)开展微服务架构的实践经验以及平时对 Spring Cloud 的调研,我认为 Spring Cloud 技术栈中的一部分组件离生产级开发尚有一定距离。比方说 Spring Cloud Config 和 Spring Cloud Sleuth 都是 Pivo...

2020-05-26 16:34:41 581

原创 一步飞升架构师系列:Nginx+Netty+JVM+多线程+Tomcat

Netty权威指南内容包含基础功能、高级应用、系统架构、源码分析和行业应用,深入阐述了Java 1/O的Netty NIO开发、Netty 编解码开发、Netty多协议开发等各方面的技术要点,包含了对源码的深刻解读,并且对Netty的应用现状和未来趋势进行分析,旨在帮助从业人员提升自我,更快更明确地发展职业道路。本PDF适合架构师、设计师、软件开发工程师、测试人员和其他对Java NIO框架、Java通信感兴趣的相关人士阅读,相信通过学习本书,能够熟悉和掌握Netty这一优秀的异 步通信框架,实现

2020-05-25 21:08:58 693

原创 愈发火爆的微服务、分布式,2020年Java程序员还学不会基本淘汰了

前言现在互联网IT行业现状是架构师微服务、分布式愈发火爆了,所以各位程序员同事还在等什么呢,都给我学起来撒!小编这里为大家准备了两本BATJ技术专家推荐的两本架构实战文档来分享给大家:微服务微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老

2020-05-25 21:08:33 697

原创 我都把OkHttp解释的这么明白了,您还不会吗?

前言最近都在学校上课,三天满课,剩下还要课程复习维持绩点,基本上维持周更也已经比较吃力了,不过还是会继续坚持,之后的推文基本上会在周天推,嘻嘻。在面试中OkHttp作为我们基本属于必用的第三方库来说,也是一个非常重要的考点,所以对其原理的掌握也会让我们的能力得到一定的提升。OkHttp官网地址:https://square.github.io/okhttp/基本使用先一段引入关于OkHttp的使用,这是直接拉取了官网挂着的使用方法。因为在一般的使用过程中,后台可能会通过比较...

2020-05-23 16:53:46 786

原创 大牛一文带你读懂:SpringBoot自动装配的使用和理解

1 AutoConfiguration的使用之Starter的构建1、服务类public class HelloService { private String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String sayHello(){ r

2020-05-23 16:53:37 619

原创 我的天,你工作5年了,连Java agent都不知道,怎么涨薪?

# 引言在本篇文章中,我会通过几个简单的程序来说明 agent 的使用,最后在实战环节我会通过 asm 字节码框架来实现一个小工具,用于在程序运行中采集指定方法的参数和返回值。有关 asm 字节码的内容不是本文的重点,不会过多的阐述,不明白的同学可以自己 google 下。# 简介Java agent 提供了一种在加载字节码时,对字节码进行修改的方式。他共有两种方式执行,一种是在 main 方法执行之前,通过 premain 来实现,另一种是在程序运行中,通过 attach api 来实现。

2020-05-23 16:53:28 411

原创 Java程序员修仙之路,不进反退,前同事凭借着3份文档,年薪50W

前言前段时间有一些同事离职了,准确的说是跳槽,话说跳槽这个东西确实会传染,跳槽也是我们程序生涯的重要一环,工作差不多 5 年,换了三家公司,也呆过不少小作坊,就差去过大厂,所以想拼一拼看看自己可不可以走进大厂,这是他们的原话。其中有个同事也是成功进入了阿里巴巴,虽然不是年薪百万的大牛,但也一年拿个50W也是可以的,我特地和他咨询了下,他就甩给我三份文档分别是《Java高级架构面试知识点整理》《1000道互联网ava程师面试题》《Java核心知识点》,说他在过年家里呆的时候就已经准备了,天天在家啃知识

2020-05-21 22:13:00 727

原创 Spring Context继承关系及对Bean的影响

SpringBoot具体创建哪种ApplicationContext和WebApplicationType有关:public enum WebApplicationType { /** * 非web应用,没有内嵌tomcat * The application should not run as a web application and should not start an * embedded web server. */ NONE, /**...

2020-05-21 22:12:41 598

原创 拒绝做菜dog——初探Spring源码,我今天必须讲明白它

一、前言 话说最近咱们组疯狂招人中,组里的几位资深大佬在疯狂面试,从早到晚就是在语音和视频,昨晚要加班,下楼跟大手子们去吃饭,聊起面试情况,一位大佬VV哥开始疯狂输出:“我这面试一天,基本上没几个能把Spring的加载过程说清楚的,基本上一问就支支吾吾,现在这API调用工程师太多了”,另一位大佬脏脏哥疯狂附和,我在一边听到流下了没有技术的“冷汗”,这......不就是说的我嘛,每天写写业务代码,调调接口,写写SQL,搞搞TestCase,属实是最底层的搬砖工,疯狂扒拉两口饭,立马逃离大型审判现场,..

2020-05-21 22:12:31 576

原创 我成功从外包公司跳槽到阿里,分享我的学习进阶之路

前言估计有同学会有疑问,为什么要精确到天?是为了显摆吗?答:仅仅是为了证明咱的严谨(其实就是为了显摆)肯定有同学心里会吐槽:真的是外包吗?估计又是个标题党,吹牛逼,*&¥%¥答:真的是外包哈,但是不是阿里的外包。是某传统外包公司,主要做项目外包。还有就是如果从我离职的那天算起,应该是2月3个月24天。2年6个月11天是从我这条咸鱼突然萌生了想翻身的想法那天算起,拒绝做标题党(づ...

2020-05-20 20:29:52 1319

原创 面试拼多多居然挂在该死的MySQL,从头再来二面拼多多拿到年薪50W

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。每一个程序员都拥有一座大厂梦,我也不例外,去年面试拼多多,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了拼多多,被录用。以下展示的拼多多面试题(含答案)、学习资料、实战文档等,均可以免费分享给大家,需要的朋友,私信我【面试】即可哦!01拼多多面试题之MySQL之前的拼多多面试题都...

2020-05-20 15:13:17 878

原创 JVM垃圾回收原理:标记回收对象,四种引用,垃圾收集算法,垃圾收集器

本文主要为《深入理解Java虚拟机》第三章的读书记录笔记,同时伴有一些网络上资料的总结。1. 标记回收对象-对象已死?Java堆是JVM主要的内存管理区域,里面存放着大量的对象实例和数组。在垃圾回收算法和垃圾收集器之前,首先要做的就是判断哪些对象已经“死去”,需要进行回收即不可能再被任何途径使用的对象。1.1 引用计数法引用计数法是这样:给对象中添加一个引用计数器,每当有一个地方使用它时,计数器值就加1。当引用失效时,计数器就减1。任何时刻计数器为0的对象就是不可能再被使用的。现在主流的

2020-05-20 15:13:00 914

原创 redis踩坑:redis哨兵开启了保护模式导致主从切换不同步

故障表现哨兵只存在两个的时候,当哨兵模式的redis主节点挂掉以后,业务组件不能切换到新主节点故障原因redis哨兵依旧认为旧主为主节点,没有触发failover故障原因定位哨兵集群部署方式:1主1从,3哨兵哨兵初始配置项:这里主要关注sentinel monitor投票数为2代表必须有两个哨兵都认为主节点不在线了,即两个主节点认为主观下线(即sdown)才会触发客观下线(即odown)解决过程1.后台指定日志文件启动哨兵...

2020-05-20 15:12:50 1973

原创 给我一分钟时间,带你领略不一样的MySQL聚簇索引和非聚簇索引,速来

MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的前提什么是聚簇索引?很简单记住一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以主键就是聚簇索引,修改聚簇索引其实就是修改主键。什么是非聚簇索引?索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引也叫做辅助索引。clustered index(M

2020-05-20 15:12:41 570

原创 阿里P8架构师指出的26个必备的知识点,你get到了吗?

这份PDF面经知识点包括了五个大部分,26个知识点:Java部分:Java基础,集合,并发,多线程,JVM,设计模式数据结构算法:Java算法,数据结构开源框架部分:Spring,MyBatis,MVC,netty,tomcat分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等微服务部分:SpringBoot,SpringCloud,Du...

2020-05-19 21:54:36 465

原创 抖音一二面的死亡算法面试题,真的把我怼昏头了,我还是难当一个合格的架构师啊

抖音一面(各种算法)说一下二叉树,满二叉树, bst avl b+树b树,红黑树的区别 说一下数组链表哈希表的使用场景,时间复杂度,优劣 说一下操作系统用户态和内核态 说一下操作系统虚拟内存 说一下Linux fork()系统调用的过程,要求讲到内存过程 说一下Linux无名管道命名管道的内存过程,底层原理 无名管道产生的过程,原理 Java说出你知道创建字符串的方式,比较性能优劣 说一下jvm线程调度过程, 什么情况会发生抢占 说一下线程通过继承thread和实现runab...

2020-05-19 19:39:18 1153

原创 面试管问我幂等性解决重复提交的方案,一口气说出8种,都怀疑我走后门了(附代码)

1.什么是幂等在我们编程中常见幂等1)select查询天然幂等 2)delete删除也是幂等,删除同一个多次效果一样3)update直接更新某个值的,幂等4)update更新累加操作的,非幂等5)insert非幂等操作,每次新增一条2.产生原因由于重复点击或者网络重发 eg: 1)点击提交按钮两次;2)点击刷新按钮;3)使用浏览器后退按钮重复之前的操作,导致重复提交表单;4)使用浏览器历史记录重复提交表单;...

2020-05-19 19:39:06 896

原创 在小公司做开发太难了!面试面到我心态爆炸...我只想招个开发不至于吧

不得不说,最近这段时间,收到的简历实在是堆积如山!之前HR都是单个文件发送过来,现在都是发送直接压缩包!!!我精挑细选之后,终于找出简历比较符合岗位要求的候选人,于是开始了电话面试。本着现在找工作也不容易,加上网上很多吐槽,说面试造火箭的,于是这次面试我就把提问的主动权交给候选人,让他挑自己擅长的知识点来自问自答。有这么一位程序员印象最深,他也选择了几个熟悉的技术点,例如Dubbo,Redis,MySQL,MQ等。但是在面试中依然停留在表面的概念,对于一些优化和细节回答的支支吾吾!最让我

2020-05-19 19:38:56 657

原创 未来Java主流开发ZGC全面解刨,你怕了吗

JAVA程序最爽的地方是它的GC机制,开发人员不需要关注内存申请和回收问题。同时,JAVA程序最头疼的地方也是它的GC机制,因为掌握JVM和GC调优是一件非常困难的事情。在ParallelOldGC、CMS、G1之后,JDK11带来的全新的「ZGC」为我们解决了什么问题?Oracle官方介绍它是一个Scalable、Low Latency的垃圾回收器。所以它的目的是「降低停顿时间」,由此会导致吞吐量会有所降低。吞吐量降低问题不大,横向扩展几台服务器就能解决问题了啦。在全面介绍ZGC介绍,先统计一下大家线上环

2020-05-19 19:38:46 516

原创 做开发的你不得不会的Java Stream 流的合并操作,简单的很

1. 前言Java Stream Api[1]提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为流进行操作。今天我们来看看如何合并Stream流。2. Stream 流的合并Stream流合并的前提是元素的类型能够一致。2.1 concat最简单合并流的方法是通过Stream.concat()静态方法:Stream<Integer>stream=Stream.of(1,2,3);Stream<Integer>an...

2020-05-19 19:38:35 497

原创 Java 集合排序规则接口 Comparator

1. 前言最近用到了集合排序(基于 Java 8)。现在我能用Stream的就用Stream,真香!排序可以这么写:List<People>peoples=newArrayList<>();//中间省略//按照年龄从小到大排序peoples.sort(Comparator.comparing(People::getAge));这里排序用到了一个关键接口java.util.Comparator。排序比较作为业务中经常出现的需求,我们有...

2020-05-19 19:38:23 454

原创 太牛X了,Spring——AOP还能这么说啊

面试官1分钟前Spring AOP了解吗?AOP有什么作用?JDK和CGLIB动态代理有什么区别?……目录AOP基本概念 性质 目的 原理 AspectJ静态代理 Spring AOP动态代理 AOP关键词 动态代理的两种实现 JDK动态代理 CGLIB动态代理 其他一些核心问题 AOP基本概念AOP:Aspect Oriented Programming 也即面向切面编程下面分三个方面来陈述:性质:AOP本质上是..

2020-05-18 20:24:49 402

原创 一个哥们4月份面试回来的总结整理如下!成功拿下滴滴美团offer

最近技术交流群里面很多群友在最近面试完之后,有的还将面试题带出来了,都将面试题都发到群里一起讨论,还是比较火热的,都将答案讨论出来了,但是面试题都比较零散,所以小编把自己搜集的面试题统一总结了下,整理成pdf,将近500页有1000多题,共大家学习,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。J

2020-05-18 20:24:18 2200 2

原创 太难了,面试官咬死了问我并发容器,泪奔

并发容器为什么需要并发容器java提供了很多丰富的容器,主要可以分为四大类别List、Map、Set、Queue,但是这些容器的实现类有各种各样的缺点,如我们常见的ArrayList、HashMap是线程不安全的,如Hashtable、Vector是线程安全,但是效率很差,这些线程安全的容器是通过synchronized关键字来实现的,这样做就削弱了程序的并发性,所以并发容器就诞生了。并发容器的定义并发容器是专门针对多线程并发设计的,使用了锁分段技术,只对操作位置进行同步操作,但是其它其它线程可

2020-05-18 20:24:10 450

原创 面试题,你简历上有高负载高并发的经验,那到底你的系统是怎样设计的?

还记得十年前初学Java的时候,就是他带我入坑的,哈哈。最近在跟马老师聊天的时候,拿到了他最新录制的【23种设计模式】和【算法】视频资料。我打开仔细看了下,我感觉这是最全的【设计模式】了比如在工厂模式中,马老师直接讲到SpringIOC原理。比如在动态代理模式和Visitor模式中,马老师直接讲到ASM如何领取扫码关注,回复“设计模式”并且还能参与抽奖奖品如下:1、樱桃机械键盘(马老师同款)2、内部资料【多线程与高并发】+【JVM实战调优】3、设计模式+算.

2020-05-18 20:24:00 832

原创 大牛都在用的sharding-JDBC,来看这里,教你啊

Sharding-JDBCSharding-JDBC是ShardingSphere中的一个独立产品,定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。

2020-05-18 20:23:49 716

转载 开发还不懂RestTemplate 来让大牛教你使用第三方Rest服务调用,洒洒水啊

1. 前言RestTemplate 是Spring提供的一个调用Restful服务的抽象层,它简化的同Restful服务的通信方式,隐藏了不必要的一些细节,让我们更加优雅地在应用中调用Restful服务 。但是在Spring 5.0以后RestTemplate处于维护模式,不再进行新特性的开发,仅仅进行一些日常维护。Spring建议我们使用同时支持同步、异步和Stream的另一个API——WebClient。但是在Spring MVC下目前我们还没有更好...

2020-05-18 20:23:31 379

原创 打包还在用jar,阿里技术专家教你用Maven打包发布上线项目

Maven在日常应该是用得挺多的,毕竟我们都需要打包发布上线的嘛,但是刚毕业的时候可没有这个概念。我们肯定是知道Maven能管理我们的项目,但是在学习的时候往往只用到Maven来导入各种的依赖。我们肯定是知道Maven是有对应的仓库,然后我们配置了国内的Maven仓库来让jar包下载得更快。我们可能会用Maven来编译自己的项目,本地打好package,然后将项目在本地启动起来。如果我们有一台机器...

2020-05-16 16:39:20 861

原创 春招面试汇总合集:Java合集+JVM+多线程+Redis+ZK+Spring全家桶

正所谓“授人以鱼不如授人以渔”,你们想要的Java学习资料来啦!不管你是学生,还是已经步入职场的同行,希望你们都要珍惜眼前的学习机会,奋斗没有终点,知识永不过时。面试是件既简单又复杂的事情,也正是因为简单和复杂的两面性,所以Java程序员在面试的时候要多学些面试技巧,当然技术也不能落下,如果你觉得各方面都准备妥当,但差点火候,我觉得你看完这篇能更好的发挥你的潜力。直接进入正题,由于pdf文档里的细...

2020-05-15 19:08:56 571

原创 拳打阿里P7,脚踢腾讯T2-2,我就是这么膨胀的拿下了大厂的offer

怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习!我是如何拿下阿里等大厂的offer的呢,今天分享我的秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。由于整个文档比较全面,内容比较多,篇幅的限制,文章中分享没有全部附上详细的解...

2020-05-13 19:03:58 582

原创 我在滴滴和头条的两年后端研发工作经验分享!

这篇文章写的很好,里面给的建议非常中肯。如果你没有工作的话,这篇文章对你或许有很好的指导性作用。如果你已经工作了的话,这篇文章或许会让你产生共鸣。觉得不错的话,文末再看安排,支持原作者。先简单交代一下背景吧,某不知名 985 的本硕,17 年毕业加入滴滴,当时找工作时候也是在牛客这里跟大家一起奋战的。今年下半年跳槽到了头条,一直从事后端研发相关的工作。之前没有实习经历,算是两年半的工作经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场..

2020-05-13 16:48:52 1737

原创 拜托,别再问我Spring循环依赖了,给你手写出来行不行?

前言Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。正文通常来说,如果问Spring内部如何解决循环依赖,一定是单默...

2020-05-11 14:49:10 409

effective-java.pdf

《Effective Java》是Java程序员必看的一本书神书,号称Java四大名著之一。随着Java 8,9, 10 ,甚至11的发布,Java语言发生了很多的变化,之前的第二版有些内容已经不太适用了。 这本书第三版的英文版已经于去年发布。在发布后,便有程序员开始翻译其中文版,目前所有章节均已翻译完成,目前已经开放阅读及下载。

2020-04-10

空空如也

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

TA关注的人

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