自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 2019年互联网高频Java面试题指南!互联网升职加薪方案!

2019年我们只聊面试!让你能够随时准备升职加薪!少刷点抖音头条,少喝点鸡汤毒药,少研究些成功学,这些给不了你什么,你也得到不到什么,多学点技术,这才是王道! 最近整理了多达200+的互联网高频面试题提纲,后期也会不断的更新,在接下来的2019年,会逐一讲解和探讨,也希望和大家一起继续探讨交流!也...

2019-03-06 11:41:50

阅读数 3987

评论数 7

原创 海量交易订单查询没做“重试”,一哥们"喜提"P3故障!

读超时,写超时- 数据写入成功,返回超时了,数据库已真实变更了这条数据;- 数据未写入,请求超时了,数据库未发生变更; 全幂等能,半幂等;服务的调用方和服务的提供方幂等键要保证一致,唯一性,并且不变性;调用方不能单纯的依靠查询来做幂等息幂等是一个比较复杂的场景,因为消息可能存在的无序性、重复性、延...

2020-01-07 09:51:53

阅读数 3225

评论数 0

原创 幂等的这几个问题没有考虑到,你恐怕是在写Bug吧!

幂等的分类,半幂等、全幂等;服务的调用方和服务的提供方幂等键要保证一致,唯一性,并且不变性;调用方不能单纯的依靠查询来做幂等;调用方幂等键唯一了,但是其他数据却变了,业务做好处理,具体业务具体分析;幂等键跟随数据做好持久化,做到“有据可依”,禁止幂等键纯内存拼接;消息幂等是一个比较复杂的场景,因为...

2020-01-04 22:00:02

阅读数 233

评论数 0

原创 格式化时间用了YYYY-MM-dd,元旦当天老板喊我回去改Bug!

具体是什么原因哪? 这是因为Java语言中在特定的时间或者数字等数据上,平时你感觉一切都OK!但是在特定时间、特定环境就会出问题的情况!刚好格式化时间就算其中的一个! 2020年跨年的时候刚好是2019和2020交换的时候,于是就出现了格式化时间的问题,归其原因就是使用了"YYYY-M...

2020-01-02 20:01:04

阅读数 5118

评论数 0

原创 Java程序如何去大厂如何技术如何突破经验分享!

一、前言 有人对选择是这么说的: 一个对的,一个错的,那不叫选择——傻逼才选错的。 两个都是对的,那不怕选择——选哪个都很爽。 但事实上,即使面临着两个所谓对的选择,你也可能依然不爽,因为抛弃任何一个对的,这种的行为让你感到不爽。 大多数的选择之所以难,难就难在这样的影响因素是相互的,而且各有...

2019-05-30 14:00:49

阅读数 1508

评论数 2

原创 开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!

Spring Boot 算是目前 Java 领域最火的技术栈了,也是Java开发人员不得不掌握的技术,今天给大家整理了13个优质 Spring Boot 开源项目给大家参考,希望能够帮助到正在学习 Spring Boot 的小伙伴!小伙伴简历中不知道写什么项目的或者项目没有亮点的,我只能帮你们到这...

2019-05-20 15:28:52

阅读数 3169

评论数 3

原创 Redis实战和核心原理详解(9)RDB和AOF的优缺点对比以及如何选择

一、RDB的优缺点 1.1、RDB的优点 (1)RDB文件是紧凑的二进制文件,比较适合做冷备,全量复制的场景。 RDB做会生成多个文件,每个文件都代表了某一个时刻的Redis完整的数据快照; RDB这种多个数据文件的方式,非常适合做冷备,因为大量的一个个的文件,可以每隔一定的时间,复制出来; 可...

2019-04-11 14:16:41

阅读数 2529

评论数 1

原创 Redis实战和核心原理详解(1)Centos7.0下安装Redis 5.0详细过程和使用常见问题

一、系统环境 1.1、服务器环境 序号 节点名称(hostname) 服务器版本 Linux版本 IP地址 1 node1 CentOS Linux release 7.3.1611 (Core) Linux version 3.10.0-514.el7.x86_64 192.16...

2019-04-10 16:48:21

阅读数 2392

评论数 0

原创 看似简单的hashCode和equals面试题,竟然有这么多坑!

作者:徐刘根,大家都喊我根哥! hashCode()方法和equals()区别与联系这到面试题,看似简单,根据以往面试星友的情况来说,绝大部分人都不能很好的回答出来,要么没有逻辑,想到一句就说一句,要么抓不住重点,答非所问。从这个很小的面试题上我们就可以看出来,对于任何一个面试题来说,都是要清晰...

2019-03-03 14:33:26

阅读数 5719

评论数 1

原创 2018年博客之星评选,需要您宝贵的一票!非常感谢!

我正在参加CSDN 2018年博客之星评选,希望大家能投我一票,我在NO.002。 感谢大家宝贵的一票,投票地址: https://bss.csdn.net/m/topic/blog_star2018/index 下边这个 是我哦! ...

2018-12-30 10:52:34

阅读数 2450

评论数 42

原创 Spring Cloud技术栈还没有学完!Hystrix又双叒叕停止更新了!

今天无意间翻了一下Hystrix代码仓库,无意间看到最近的一条变更,竟然发现Hystrix也不再进行活跃的更新了,停止开发新功能了!后期只是进行维护了!!! 这是继Eureka之后又一个停止更新的Spring Cloud配套技术! 可悲的是Spring Cloud技术栈的这么多组件还没学完,一个...

2018-11-30 10:31:34

阅读数 4055

评论数 2

原创 为什么需要分布式配置中心?

一、前言 对于配置文件,我们并不陌生,它提供我们可以动态修改程序运行能力。引用别人的一句话就是: 系统运行时(runtime)飞行姿态的动态调整! 我可以把我们的工作称之为在快速飞行的飞机上修理零件。我们人类总是无法掌控和预知一切。对于我们系统来说,我们总是需要预留一些控制线条,以便在我们需要...

2018-09-25 16:20:17

阅读数 8374

评论数 5

原创 Spring AOP中的JDK和CGLib动态代理哪个效率更高?

一、背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二、基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 自Java 1.3以后,Java提供了动态代理技术,允许开...

2018-09-07 16:52:54

阅读数 15190

评论数 10

原创 阿里的面试官都喜欢问哪些问题?

作者:徐刘根 | 公众号:Java之间 金九银十是招聘的旺季,小编在这里也给大家整理了一套阿里面试官最喜欢问的问题或者出场率较高的面试题,助校招或者社招路上的你一臂之力! 首先我们需要明白一个事实,招聘的一个很关键的因素是在给自己找未来的同事,同级别下要找比自己优秀的人,面试是一个...

2018-08-27 14:34:27

阅读数 11238

评论数 5

原创 微信公众号和CSDN侧边栏广告位商务合作

一、微信公众号 名称:Java后端技术 1、规模 目前关注量6w+,头条平均阅读量5000+ 2、价位 我们加好友细聊!谢谢! 请务必备注:商务合作 二、CSDN侧边栏展示位 1、用户定位 由于博客文章主要面向Java开发人员,涵盖初级、中级和高级博文,每个界面均可显示侧...

2018-05-21 13:17:12

阅读数 5065

评论数 2

原创 为什么要有ID发号器、原理是什么以及如何实现?

一、前言 上一篇文章《如何将一个长URL转换为一个短URL?》中谈到如何将长地址URL转换为短地址URL,其中谈到了一个比较理想的解决方案就是使用发号器生成一个唯一的整数ID,然后转换为62进制,作为短地址URL。 其中使用到了ID发号器,可能很多小伙伴还不懂什么是ID发号器以及如何去实现,今...

2018-04-23 21:06:49

阅读数 11106

评论数 3

原创 如何将一个长URL转换为一个短URL?

一、前言 前几天整理面试题的时候,有一道试题是《如何将一个很长的URL转换为一个短的URL,并实现他们之间的相互转换?》,现在想起来这是一个绝对不简单的问题,需要考虑很多方面,今天和大家一起学习研究一下! 短网址:顾名思义,就是将长网址缩短到一个很短的网址,用户访问这个短网址可以重定向到原本的...

2018-04-21 14:40:41

阅读数 27005

评论数 9

原创 Java提供的排序算法是怎么实现的?

前几天整理的一套面试题,其中有一个问题就是Java的JDK中我们见到的Collections.sort()和Arrays.sort()这两个排序算法的实现方式是什么,很多小伙伴心里边默认的应该是快排,但是不全对或者理解的不够深刻,以下我们从源码的层次一点点解释一下这个问题: 一、Arrays...

2018-04-09 11:08:36

阅读数 9666

评论数 4

原创 序列化和反序列化的底层实现原理是什么?

序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当年也被问了这一个问题,自信满满的说了一大堆,什么是序列化、什么是反序列化、什么场景的时候才会用到等...

2018-04-07 13:53:41

阅读数 38682

评论数 20

原创 为什么你创建的数据库索引没有生效,索引失效的条件!

几乎所有的小伙伴都可以随口说几句关于创建索引的优缺点,也知道什么时候创建索引能够提高我们的查询性能,什么时候索引会更新,但是你有没有注意到,即使你设置了索引,有些时候索引他是不会生效的!这不仅考察了大家对索引的了解程度,还要让大家在使用的时候能够正确的使用。以下介绍了一些可能会造成索引失效的特殊情...

2018-03-15 21:01:51

阅读数 13257

评论数 4

原创 什么是一致性Hash算法?

最近有小伙伴跑过来问什么是Hash一致性算法,说面试的时候被问到了,因为不了解,所以就没有回答上,问我有没有相应的学习资料推荐,当时上班,没时间回复,晚上回去了就忘了这件事,今天突然看到这个,加班为大家整理一下什么是Hash一致性算法,希望对大家有帮助! 经常阅读我文章的小伙伴应该都很熟悉我写文...

2018-03-13 21:15:32

阅读数 15233

评论数 8

原创 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

前面一节说到了《为什么说Redis是单线程的以及Redis为什么这么快!》,今天给大家整理一篇关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案。 一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我...

2018-03-12 20:09:10

阅读数 28144

评论数 8

原创 为什么说Redis是单线程的以及Redis为什么这么快!

一、前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,...

2018-03-07 17:39:56

阅读数 39990

评论数 18

原创 为什么MySQL数据库索引选择使用B+树?

在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树! 学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树...

2018-03-05 21:19:57

阅读数 16258

评论数 5

原创 SqlSessionTemplate是如何保证MyBatis中SqlSession的线程安全的?

一、DefaultSqlSession的线程不安全性 在MyBatis架构中SqlSession是提供给外层调用的顶层接口,实现类有:DefaultSqlSession、SqlSessionManager以及mybatis-spring提供的实现SqlSessionTemplate。默认的实现类...

2018-03-04 21:22:30

阅读数 10907

评论数 3

原创 一步步带你了解前后端分离利器之JWT

一、HTTP的无状态性 HTTP 是无状态协议,它不对之前发送过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。假设要求登录认证的 Web 页面本身无法进行状态的管理(不记录已登录的状态),那么每次跳转新页面不是要再次登录,就是要在每次请求报文中附加参数来管理登录状态...

2018-01-30 13:02:41

阅读数 6936

评论数 4

原创 带你发现新大陆!什么是图数据库以及简单入门!

一、关系型数据库的不适性 在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少巨头,如Oracle、MySQL,它们也被称为:关系数据库管理系统(RDBMS)。然而,随着关系数据库使用范围的不断扩大,也暴露出一些它始终无法解决问题,其中最主要的是数据建模中的一些缺...

2018-01-17 21:16:24

阅读数 43421

评论数 5

原创 分布式锁简单入门以及三种实现方式介绍

很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车! 学过Java多线程的应该都知道什么是...

2018-01-11 21:16:28

阅读数 81138

评论数 43

原创 面试必备技能:JDK动态代理给Spring事务埋下的坑!

一、场景分析 最近做项目遇到了一个很奇怪的问题,大致的业务场景是这样的:我们首先设定两个事务,事务parent和事务child,在Controller里边同时调用这两个方法,示例代码如下: 1、场景A: @RestController @RequestMapping(value = &q...

2018-01-10 21:38:38

阅读数 9591

评论数 9

原创 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列!

俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!...

2018-01-08 21:58:38

阅读数 38643

评论数 38

原创 Spring核心技术原理-(4)-三条路线告诉你如何掌握Spring IoC容器的核心原理

IoC(控制反转,英文含义:Inverse of Control)是Spring容器的内核,AOP、事务等功能都是建立在此基础上的。从字面意思上可以把IoC拆分为两层含义:**控制和反转**。控制可以理解为是接口实现类的选择权,反转可以理解为这个选择权交给第三方进行管理;总的来说就是某一接口具体实...

2018-01-04 21:35:15

阅读数 6858

评论数 1

原创 推荐几款非常实用的IDEA插件

Alibaba Java Coding Guidelines 《阿里巴巴Java开发规约》 GsonFormat Stack Overflow Background Image Plus Lombok CodeGlance Markdown support、Maven Helper JRbel

2018-01-04 13:57:07

阅读数 51323

评论数 8

原创 Spring核心技术原理-(3)-Spring历史版本变迁和如今的生态帝国

前几篇:Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?前两篇从Web开发史的角度介绍了我们在开发的时候遇到的一个个坑,然后一步步衍生出Spring Ioc和Sp...

2017-12-27 13:09:29

阅读数 2996

评论数 0

原创 Spring核心技术原理-(2)-通过Web开发演进过程了解一下为什么要有Spring AOP?

上一篇:Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring? 上一篇从Web开发演进过程的一个侧面简述了一下为什么会有Spring?事实上只介绍了为什么会有Spring IOC(控制反转/依赖注入)以及Spring IOC的雏形。我们都知道Spring的两个核心...

2017-12-25 14:33:23

阅读数 9262

评论数 1

原创 Spring核心技术原理-(1)-通过Web开发演进过程了解一下为什么要有Spring?

一、知史可以明鉴 我们学习技术的时代赶上了最好的时代,跳过了很多前人经常踩的坑,前人在踩坑的过程中总结了很多经验和教训,而新时代的我们只是继承了前人的经验和教训,而忽略了这些采坑的过程,以至于我们面对很多新技术都不知道他是什么?他为什么存在?他为什么可以解决这个问题?更不知道如何掌握其原理!云里...

2017-12-24 11:06:58

阅读数 37565

评论数 5

原创 大数据时代:我们是一朝天子,还是一世奴隶?

很多人还没有搞清楚什么是PC互联网的时候,移动互联网来了;还没有搞清楚移动互联网的时候,大数据时代又来了! 大数据一词最早出现是在1980年著名未来学家托夫勒在其所著的《第三次浪潮》中,书中提出“如果说IBM的主机拉开了信息化革命的大幕,那么‘大数据’才是第三次浪潮的华彩乐章。” 2008年9月《...

2017-12-24 10:21:28

阅读数 2175

评论数 1

原创 使用Jenkins配置SpringBoot的自动化构建

相关阅读 1、使用Jenkins配置Git+Maven的自动化构建 2、Jenkins部署Maven多环境项目(dev、beta、prod)的参数设置 3、使用Generic Webhook Trigger插件实现Jenkins+WebHooks(码云)持续集成 4、使用Generic W...

2017-12-06 21:56:38

阅读数 17262

评论数 3

原创 【福利时刻】Java面试题84集系列全集!有需要的小伙伴赶紧过来保存啦!

《长歌行》 青青园中葵,朝露待日晞。 阳春布德泽,万物生光辉。 常恐秋节至,焜黄华叶衰。 百川东到海,何时复西归? 少壮不努力,老大徒伤悲。 目录 01.面试的整体流程 02.java的垮平台原理 03.搭建一个java的开发环境 04.java中int占几个字节 0...

2017-12-01 21:08:08

阅读数 6874

评论数 8

原创 小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐

十年间,负载均衡的前沿技术层出不穷,令用户眼花缭乱。经常在技术网站、文档中出现的“四层负载均衡”、“七层负载均衡”字眼有什么含义?有什么区别?对客户网络有哪些不同的优化?在大型的网站服务器集群中,负载均衡技术是必不可少的。使用负载均衡的技术架构,能够有效避免后端服务出现单点故障,提升服务的稳定性。...

2017-11-30 17:38:01

阅读数 6405

评论数 0

原创 Java多线程编程-(18)-借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference

前两篇:Java多线程编程-(3)-线程本地ThreadLocal的介绍与使用Java多线程编程-(8)-多图深入分析ThreadLocal原理Java多线程编程-(9)-ThreadLocal造成OOM内存溢出案例演示与原理分析一、简单回顾在上几篇的时候,已经简单的介绍了不正当的使用Thread...

2017-11-12 18:57:16

阅读数 6795

评论数 4

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