自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 多研究些架构,少谈些框架——一名阿里架构师的微服务笔记

微服务架构和SOA区别 微服务现在辣么火,业界流行的对比的却都是所谓的Monolithic单体应用,而大量的系统在十几年前都是已经是分布式系统了,那么微服务作为新的理念和原来的分布式系统,或者说SOA(面向服务架构)是什么区别呢? 我们先看相同点: 需要Regis...

2018-01-24 19:55:29 358 0

原创 最近面试了一位5年的Java,一问三不知!还反怼我...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。 在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。 面试时我打算聊点...

2020-05-09 18:43:07 414 0

原创 程序员内功心法【设计模式】之建造者模式

基本定义 建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式构建复杂对象就像造汽车一样,是一个一个组件一个一个步骤创建出来的,它允许用户通过制定的对象类型和内容来创建他们,但是用户并不需要知道这个复杂对象是如何构建的,它只需要明白通过这样做我可以得到一...

2020-04-25 17:18:03 41 0

原创 你以为简单工厂模式很简单,可能是因为你懂的只是冰山的一角

简单工厂模式 基本定义: 简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。 模式结构: 1. Factory:工厂角色。专门用于创建...

2020-04-20 11:19:21 59 0

原创 程序员内功心法《设计模式》

灵魂三问 第一问,什么是设计模式? 设计模式是在软件工程实践过程中,JAVA使用者们总结出的良好的编程方法,使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定。 第二问,为什么要学习设计模式? 普...

2020-04-15 09:45:12 74 0

原创 使用Let's Encrypt + Nginx生成免费HTTPS证书

Let’s Encrypt简介 官网:https://letsencrypt.org/ Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP...

2020-04-13 10:19:11 40 0

原创 谈谈缓存更新

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据...

2019-11-27 17:09:56 68 0

原创 Java开发人员必备十大工具

Java世界中存在着很多工具,从著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和监视工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等)。 在本文中,我将重点介绍适用于各种Java开发人员(...

2019-10-16 16:13:43 513 0

原创 阿里P7架构师的9个建议,帮你早日成为优秀的架构师!

最近经常从读者那里收到有关他们希望成为一名更好的Java开发人员而不得解的烦恼的私信,他们应该学习什么以及他们如何成为一名优秀的Java开发人员。对此我分别回答了这些问题之后,现在我在这里做个总汇,我认为这个总汇它将使您成为更好的Java程序员和应用程序开发人员。 如果您还没有了解过这些点,可以...

2019-10-16 16:11:07 106 0

原创 十八道JVM面试题总汇(附解析)

一、Java 类加载过程? Java 类加载需要经历以下7 个过程: 1. 加载 加载是类加载的第一个过程,在这个阶段,将完成以下三件事情: •通过一个类的全限定名获取该类的二进制流。 •将该二进制流中的静态存储结构转化为方法去运行时数据结构。 •在内存中生成该类的 Class 对象,...

2019-10-09 14:14:58 106 0

原创 一次跨行取款失败,而引发对分布式事物的思考

场景 不知道大家有没有遇到这样的情况,就是去自动取款机取钱的时候,比如说你去取1000块钱,这个时候系统会先帮你把1000块钱扣除,然后自动取款机再把钱吐出来。但是如果取款机出现问题,会发现钱被扣了,但是钱没有取出来。我第一次遇到这个问题的时候很担心,当时跨行取取了3000块钱,短信提醒我钱已经...

2019-09-27 14:22:18 71 0

原创 一文读懂什么是JVM中的内存模型与垃圾回收!

扩展阅读:初探JVM,你只需要看这篇文章! 六、内存模型 6.1、内存模型与运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同数据区域。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细...

2019-09-26 11:12:22 110 0

原创 初探JVM,你只需要看这篇文章!

1 官网 1.1 寻找JDK文档过程 www.oracle.com -> 右下角Product Documentation -> 往下拉选择Java ->Java SE documentation -> Previous releases -> JDK 8 -&...

2019-09-26 10:49:16 42 0

原创 程序员:千篇一律的秃顶,各有各的顽皮

最后和程序员身边的朋友们嘱咐一句,就算程序员的工位再乱,也不...

2019-09-18 15:34:45 45 0

转载 一文详解微服务架构

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用...

2019-09-18 11:43:59 36 0

转载 真实上海IT圈:张江男VS漕河泾男!【转】

通过比较上海各住宅小区 在工作日晚餐与夜宵时段 一人食外卖订单指数 我们会发现: 上海IT圈两大胜地: 张江高科和漕河泾双双上榜 其中张江位列 《上海最孤独的15个区域榜单》 第一名 真实的上海IT圈大揭秘 《张江男vs 漕河泾男》 上海张江: 想必很多没有来过...

2019-09-04 09:50:18 602 0

原创 Spring高频面试题,你能答的上哪些?(高级篇)

1、什么是 Spring 框架?Spring 框架有哪些主要模块? 2、使用 Spring 框架能带来哪些好处? 3、什么是控制反转(IOC)?什么是依赖注入? 4、请解释下 Spring 框架中的 IoC? 5、BeanFactory 和 ApplicationContext 有什么区...

2019-07-25 19:49:11 300 1

原创 关于微服务你不得不知道的事——Spring Boot注解分析

Spring Boot注解分析 1 注解 1.1 定义 Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。 1.2 注解的声明 @Target(ElementType...

2019-07-15 17:04:54 61 0

原创 Spring Boot注解分析

1 注解 1.1 定义 Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。 1.2 注解的声明 @Target(ElementType.TYPE) @Retention...

2019-06-29 19:59:50 119 0

转载 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理。 这篇文章的源代码可以在GitHub上找到。 项目安装 在本文中,我们将使用最新、最好的Spring Framework 5。我们将重点介绍Spring的经典Web堆栈,该堆栈从框架的第...

2019-06-27 16:55:38 205 0

原创 关于Spring Boot你不得不知道的事--Spring Boot的基本操作

1 Pom文件 1.1 spring-boot-starter-parent 表示当前pom文件从spring-boot-starter-parent继承下来,在spring-boot-starter-parent中提供了很多默认配置,可以简化我们的开发。 <parent> ...

2019-06-20 16:53:04 147 0

原创 关于Spring Boot你不得不知道的事

1 Spring Boot官网[2.1.5 CURRENT GA] 1.1 Pivotal Wiki Pivotal Software, Inc. is a software and services company based in San Francisco and Palo Al...

2019-06-15 14:28:15 83 0

原创 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)

设计模式(45种) 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数...

2019-04-16 16:05:40 389 0

原创 Java面试题中的Redis大合集,所有你想找的都在这里!

Redis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。``` Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs 等。 Redis 具备 LRU 淘汰、事务实现、以及不同级别的硬盘持久化等能力,并...

2019-04-14 14:53:25 156 0

转载 Java进阶——带你入门分布式中的Nginx

如何实现服务器之间的协同功能呢? 通过Nginx提供的反向代理和负载均衡功能,可以合理的完成业务的分配,提高网站的处理能力;同时利用缓存功能,还可以将不需要实时更新的动态页面输出结果,转化为静态网页形成缓存,从而提高网站的响应速度。 代理和反向代理 代理(正向代理,目标服务器不知道...

2019-04-14 14:15:26 110 0

转载 亿级网站大数据量下的高并发同步讲解

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异...

2019-04-12 17:26:34 416 0

原创 Java程序员面试必须要看的:史上最全Spring面试题与答案

Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2...

2019-03-08 22:05:00 158 0

原创 面试Java高级开发岗位,只需准备这几点,让面试官折服!

这几天,我密集面试了若干位Java后端的候选人,工作经验在5年左右。我的标准其实不复杂: 1、能干活 2、Java基础要好 3、最好熟悉些分布式框架 我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据...

2019-02-17 20:03:40 512 0

原创 Kafka对Java程序员有多重要?连阿里都再用它处理亿万级数据统计

一.了解淘宝Kafka架构 在ActiveMQ、RabbitMQ、RocketMQ、Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,2013年6月支付宝正式推出余额宝,2013年8月担任支付宝淘宝彩票项目经理带领兄弟们一起做研发,期...

2019-02-15 19:29:05 242 0

原创 工作5年的Java程序员,才学会阅读源码,可悲吗?

最近一位5年开发经验的群友与我聊天 他说:最近慢慢的尝试去看spring的源码,学习spring,以前都只是会用就行了,但是越是到后面,发现只懂怎么用还不够,在面试的时候经常被问到一些开源框架的源码问题,即使在网上各种百度,当时回答出来也会是很皮毛,不痛不痒的解答。 对于目前碰到的瓶颈,他不知...

2019-02-14 21:25:13 614 0

原创 月薪20K的Java程序员很厉害?八年程序猿却说:我被裁只用了5分钟

场景一 之前,一位在我交流群里的群友找我诉苦:工作8年,从事Java开发相关的工作6年,最近(18年7月)失业快4个月,还是没有找到合适的工作。   感觉自己已经废掉了,一直在金融公司从事Java开发工作,之前薪资18K ,深圳。 更多的时候,工作属于软件项目管理,比如以下: 1.需...

2019-01-24 17:56:17 779 0

原创 实现RabbitMQ 延时消息

RabbitMQ 延时消息的实现(上) 我们在实际业务中有一些需要延时发送消息的场景,例如: 家里有一台智能热水器,需要在30分钟后启动 未付款的订单,15分钟后关闭 注意这里的场景是延时,不是定时。当然,解决了延时,定时就很简单了(定时=当前时刻+间隔时间)。 由于RabbitMQ本身不...

2019-01-23 13:58:24 1433 0

原创 「阿里面试系列」Synchronized底层原理

文章简介 synchronized想必大家都不陌生,用来解决线程安全问题的利器。同时也是Java高级程序员面试比较常见的面试题。这篇文正会带大家彻底了解synchronized的实现。 内容导航 什么时候需要用Synchronized synchronized的使用 synchroniz...

2018-12-23 19:20:32 399 0

原创 「阿里面试系列」分析Synchronized原理,让面试官仰望

文章简介 前面我有文章介绍了同步的基本原理,这篇文章我会从JVM源码分析同步的实现逻辑,希望让大家有一个更加深度的认识。 扩展阅读: 【阿里面试系列】搞懂并发编程,轻松应对80%的面试场景 【阿里面试系列】的Java的线程的应用及挑战  「阿里面试系列」面试加分项,从JVM层面了解线程的...

2018-12-17 21:26:14 367 0

原创 「阿里面试系列」之前有人问过我一个这样的面试题

文章简介 很多人对的Thread.join的作用以及实现了解得很少,毕竟这个API我们很少使用。这篇文章仍然会结合使用及原理进行深度分析 内容导航 的Thread.join的作用 的Thread.join的实现原理 什么时候会使用的Thread.join 扩展阅读: 【阿里面试系列】搞...

2018-12-17 21:25:09 132 0

原创 珍藏收集,献出这份年薪50W的阿里Java高级开发内训手册

一、源码阅读       二、分布式架构总纲             高性能框架   三、微服务架构纲要 Spring Boot   Docker   四、并发编程       五、...

2018-12-12 11:06:09 447 4

原创 「阿里面试系列」面试加分项,从JVM层面了解线程的启动和停止

文章简介 这一篇主要围绕线程状态控制相关的操作分析线程的原理,比如线程的中断,线程的通信等,内容比较多,可能会分两篇文章 阿里面试系列导读:关注我的技术公众号【架构师修炼宝典】一周出产1-2篇技术文章。 【阿里面试系列】搞懂并发编程,轻松应对80%的面试场景 【阿里面试系列】的Java线...

2018-12-11 13:31:20 206 0

原创 【阿里面试系列】Java线程的应用及挑战

文章简介 上一篇文章【「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景】我们了解了进程和线程的发展历史、线程的生命周期、线程的优势和使用场景,这一篇,我们从Java层面更进一步了解线程的使用。关注我的技术公众号【架构师修炼宝典】一周出产1-2篇技术文章。Q群725219329分享并发编程,...

2018-12-07 15:15:31 112 0

原创 「阿里面试系列」搞懂并发编程,轻松应对80%的面试场景

关注我的架构技术公众号:“架构师修炼宝典”一周出产1-2篇技术文章,希望在你的架构技术路上有我的点滴陪伴! 作为一个合格的Java程序员,必须要对并发编程有一个深层次的了解,在很多互联网企业都会重点考察这一块。可能很多工作3年以上的Java程序员对于这一领域几乎没有太多研究。所以在接下来内容...

2018-12-05 12:20:18 159 0

原创 阿里架构师技术分享:分布式/高性能/高并发/微服务/性能优化

没有没免费的Java架构师进阶资料领取?(文末提供获取方法) 阿里架构师技术分享:分布式任务调度系统的实现 阿里架构师技术分享:承载千万级并发的分布式架构设计思想 阿里架构师技术分享:并发编程之手写阻塞式线程安全队列 阿里架构师技术分享:面试必问之mysql索引机制探秘 阿里架构师技...

2018-11-28 16:48:59 768 0

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