自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

资料免费分享,点击名片

八股面经、简历模板、学习路线 1v1职业规划、修改简历 阿里p5-p8架构路线

  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 别找了,这是迄今为止把微服务讲的最清楚的一篇!没有之一

最近几年,微服务大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。然而,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易管理。因此,未来微服务的发展只会越来越完善,成...

2019-12-31 17:34:59 327

原创 JVM的四种GC算法

程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经无法访问,程序用不了它们了,对程序而言它们已经死亡),为了确保程序运行时的性能,java虚拟机在程序运行的过程中不断地进行自动的垃圾回收(GC)。关于 JVM 的 GC 算法主要有下面四种:1、引用计数算法(Reference counting)每个对象在创建的时候,就给这个对象绑...

2019-12-27 22:09:57 215

原创 深究递归和迭代的区别、优缺点及实例对比

1.迭代是人,递归是神!从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。2.递归递归就是函数自己调用自己。2.1构成递归需具备的条件:子问题须与原始问题为同样的事,且更为简单;不能无...

2019-12-25 17:38:13 304

原创 反射从入门到精通之深入了解Class类

1. Class 类的原理孟子曰:得人心者得天下。而在 Java 中,这个「人心」就是 Class 类,获取到 Class 类我们就可以为所欲为之为所欲为。下面让我们深入「人心」,去探索 Class 类的原理。首先了解 JVM 如何构建实例。1.1 JVM 构建实例JVM:Java Virtual Machine,Java 虚拟机。在 JVM 中分为栈、堆、方法区等,但这些...

2019-12-24 16:03:44 120

原创 直击面试,聊聊 GC 机制

GC 中文直译垃圾回收,是一种回收内存空间避免内存泄漏的机制。当 JVM 内存紧张,通过执行 GC 有效回收内存,转而分配给新对象从而实现内存的再利用。 JVM GC 机制虽然无需开发主动参与,减轻不少工作量,但是某些情况下,自动 GC 将会导致系统性能下降,响应变慢,所以这就需要我们提前了解掌握 GC 机制。当面对这种情况时,才能从容不迫的解决问题。另外 GC 机制也是 Java...

2019-12-23 17:40:20 147

原创 手撕 JVM 垃圾收集日志

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。下图是本篇的写作大纲,将从以下四个方面介绍怎么样处理 JVM 日志。有准备才能不慌想要分析日志,首先你得有日志呀,对不对。凡是未雨绸蒙总是没错的。所谓有日志的意思,你要把 JVM 参数配置好,日志格式、日志存储位置等参数,当然了,除了日志相关参数外...

2019-12-22 20:29:05 122

原创 SpringBoot源码学习系列之嵌入式Servlet容器

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。1、前言简单介绍SpringBoot的自动配置就是SpringBoot的精髓所在;对于SpringBoot项目是不需要配置Tomcat、jetty等等Servlet容器,直接启动application类既可,SpringBoot为什么能做到这么简捷?原因就是使用了内嵌...

2019-12-20 15:57:06 143

原创 架构设计:Spring-Session分布式集群会话管理

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。前言通常在web开发中,会话管理是很重要的一部分,用于存储与用户相关的一些数据。对于JAVA开发者来说,项目中的session一般由Tomcat或者jetty容器来管理。特点介绍尽管使用特定的容器可以很好地实现会话管理,但是独立容器挂掉或者由于其他原因重启会导致用...

2019-12-19 17:53:43 131

原创 【被面试官吊打】从系统角度考虑性能优化

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。正文在去年的一次面试中,我被问及性能优化方面的问题。对方问,“你在性能优化方面有哪些了解?”。我感到问题笼统,有些无从下手,于是简单地回答道:“找到程序性能的瓶颈位置,进行针对性的优化,比如为数据库查询效率低的地方适当添加索引等……”。对方的表情告诉我,这个答案不令他...

2019-12-17 14:41:51 195

原创 容易被忽视的MySQL字符集问题?

现象在使用MySQL客户端书写SQL语句的时候,我们可以在字符串前边加_charset_name的符号,其中的charset_name对应着某个具体的字符集,废话不多说,先写两个例子看一下:mysql> SELECT _utf8'我';+-----+| 我 |+-----+| 我 |+-----+1 row in set (0.04 sec)mysql...

2019-12-15 21:08:57 126

原创 浅谈集群版Redis和Gossip协议

1.Redis Cluster的基本概念集群版的Redis听起来很高大上,确实相比单实例一主一从或者一主多从模式来说复杂了许多,互联网的架构总是随着业务的发展不断演进的。单实例Redis架构最开始的一主N从加上读写分离,Redis作为缓存单实例貌似也还不错,并且有Sentinel哨兵机制,可以实现主从故障迁移。单实例一主两从+读写分离结构:注:图片来自网...

2019-12-11 17:15:41 443

原创 synchronized锁的升级原理是什么?以及各个锁的状态对比

锁的级别从低到高:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁锁分级别原因:没有优化以前,sychronized是重量级锁(悲观锁),使用 wait 和 notify、notifyAll 来切换线程状态非常消耗系统资源;线程的挂起和唤醒间隔很短暂,这样很浪费资源,影响性能。所以 JVM 对 sychronized 关键字进行了优化,把锁分为 无锁、偏向...

2019-12-10 21:30:57 112

原创 注解式限流是如何实现的?

一个问题往往会引出了一连串的问题,知识的盲区就这样被自己悄悄的发现了????。车辙在自己动手写限流注解时,遇到的问题那是真一个比一个多:限流算法用哪个比较合适。如何用注解实现限流。如何对每个方法单独限流。长字符串如何转换成短字符串。64 进制 or 62进制。LRU 是什么,如何用简单的数据结构实现。什么是限流对服务器接收到的请求作出限制,只有一部分请求能真正到达服务...

2019-12-09 16:59:22 199

原创 不管你年底换不换工作,了解下单例模式

1. 单例模式什么是单例模式?简言之就是确保定义为单例模式的类在程序中有且只有一个实例。单例模式的特点:只有一个实例 (只能有一个对象被创建)自我实例化(类构造器私有)对外提供获取实例的静态方法2.单例模式的实现常见的单例模式实现方式有五种:2.1. 懒汉式懒汉式(一般也称之为 饱汉式),具体代码实现如下:public class Singleton {...

2019-12-07 20:49:35 121

原创 Nginx+SpringBoot实现负载均衡

负载均衡介绍介绍在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,硬件负载均衡是使用专门的软件和硬件相结合的设备,设备商会提供完整成熟的解决方案,比如F5,在数据的稳定性以及安全性来说非常可靠,但是相比软件而言造价会更加昂贵;软件的负载均衡以Nginx这类软件为主,实现的一种消息队列分发机制。简单来说所谓的负载均衡就是把很多请...

2019-12-04 17:19:55 169

原创 干货:用案例代码详解Redis中的事件驱动模型

Redis 是一个事件驱动的内存数据库,服务器需要处理两种类型的事件。文件事件时间事件下面就会介绍这两种事件的实现原理。文件事件Redis 服务器通过 socket 实现与客户端(或其他redis服务器)的交互,文件事件就是服务器对 socket 操作的抽象。 Redis 服务器,通过监听这些 socket 产生的文件事件并处理这些事件,实现对客户端调用的响应。Re...

2019-12-02 21:23:08 120

吊打面试官的MySQL灵魂100问.pdf

用回答问题的方式,让自己对知识点的理解更加深入一点. 此文不会事无巨细的从 select 的用法开始讲解 mysql,主要针对的是开发人员需要知道的一些 MySQL 的知识点,主要包括索引,事务,优化等方面,以在面试中高 频的问句形式给出答案

2020-01-07

吊打面试官!Spring Boot的35道灵魂拷问面试题,你能答对多少?.pdf

吊打面试官的Spring Boot灵魂35问!经典中的经典。错过就是你的损失!!!! 笔者录:Spring Boot 是微服务中最好的 Java 框架. 我建议你能够成为一名 Spring Boot 的专家。此文档精选了三十五个常见的 Spring Boot 知识点,祝你一臂之力!

2020-01-07

空空如也

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

TA关注的人

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