自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis中哈希分布不均匀该怎么办

前言Redis 是一个键值对数据库,其键是通过哈希进行存储的。整个 Redis 可以认为是一个外层哈希,之所以称为外层哈希,是因为 Redis 内部也提供了一种哈希类型,这个可以称之为内部哈希。当我们采用哈希对象进行数据存储时,对整个 Redis 而言,就经过了两层哈希存储。哈希对象哈希对象本身也是一个 key-value 存储结构,底层的存储结构也可以分为两种:ziplist(压缩列表) 和 hashtable(哈希表)。这两种存储结构也是通过编码来进行区分:hashtableRedis 中的

2021-04-12 20:34:53 343

原创 分布式架构——Gossip 协议详解

起源Gossip protocol 也叫 Epidemic Protocol (流行病协议)。Gossip protocol在1987年8月由施乐-帕洛阿尔托研究中心发表ACM上的论文《Epidemic Algorithms for Replicated Database Maintenance》中被提出。原本用于分布式数据库中节点同步数据使用,后被广泛用于数据库复制、信息扩散、集群成员身份确认、故障探测等。Gossip协议是基于六度分隔理论(Six Degrees of Separation)哲学

2021-04-09 15:58:54 787 1

原创 Spring Boot 项目如何做性能监控?

Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot 提供了 actuator 模块,可以很方便的对你的 Spring Boot 程序做监控。1. actuator接口说明Spring Boot 应用中加入监控很简单,只需要在pom.xml文件中加入以下依赖:<dependency> <groupId>org.springframework.boot</groupId> <a

2021-04-07 15:31:10 551

原创 区块链编程七大语言,使用最多的竟是Java

区块链项目所用到的七大编程语言区块链开发是一个迅速壮大的产业,我们正在见证着这个行业的成长。虽然区块链技术还处于初期阶段,但是这项革命性的技术已经席卷全球,在最近几年经历了前所未见的蓬勃发展。目前许多资金充沛的项目都渴望搭建自己的区块链网络,并在网络上部署去中心化应用,但是有能力的区块链开发人员严重不足。区块链开发行业吸引到了数十亿美元的投资,各项目为了能吸引到市场上最好的区块链人才相互竞价,使得区块链开发人员的薪酬以及对相关人才的需求水涨船高。这股淘金热可能会让部分开发者好奇他们是否拥有进入这.

2021-04-06 22:31:39 1321

转载 面试:分布式系统接口,如何避免表单的重复提交?

关于怎么实现承载更多用户量的系统,一直是我重点关注的一个技术方向。改造架构提高承载力,通常来讲分为两个大方向,互相配合实现。硬件架构改进,主要是使用阿里云这种多组件的云环境:通过负载均衡SLB,模版克隆的云服务器ECS,云数据库RDS,共享对象存储OSS等不同职责的云产品组合实现。软件架构优化,主要是软件代码开发的规范:业务解耦合,架构微服务,单机无状态化,文件存储共享等在分布式系统的学习途中也不断见识新的知识点,今天要说的就是软件开发时候对于接口服务的“幂等性”实现!幂等性效果:系统对某接口的多

2021-04-01 13:37:35 113

原创 Java-TypeToken原理及泛型擦除

概要借助对TypeToken原理的分析,加强对泛型擦除的理解,使得我们能够知道什么时候,通过什么方式可以获取到泛型的类型。泛型擦除众所周知,Java的泛型只在编译时有效,到了运行时这个泛型类型就会被擦除掉,即List和List在运行时其实都是List类型。为什么选择这种实现机制?不擦除不行么?在Java诞生10年后,才想实现类似于C++模板的概念,即泛型。Java的类库是Java生态中非常宝贵的财富,必须保证向后兼容(即现有的代码和类文件依旧合法)和迁移兼容(泛化的代码和非泛化的代码可互相调用)基于

2021-03-30 21:21:28 3416 1

原创 JVM调优典型配置的5种方法!

常见配置汇总:1. 堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5-XX:MaxPermSize=n:设置持久代大

2021-03-28 21:22:47 261 1

原创 【多线程】- 多个线程顺序打印ABC

题目:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。这个题目主要考察用户的多线程相关的知识,共享变量/锁机制。解题思路:要按顺序输出ABC, 循环10次,就要控制三个线程同步工作,也就是说要让三个线程轮流输出,直到10个ABC全部输出则结束线程。这里用一个synchronized对象来控制三个线程的同步。用一个int型变量Num标识由那个线程输出。废话不说了,直接看代码就明白了

2021-03-26 22:28:42 689

原创 Java 虚拟机1:什么是 Java

前言让我们来看一下Java的广告词,来自http://www.java.com/zh_CN/about/:97%的企业桌面运行Java美国有89%的桌面(或计算机)运行Java全球有900万Java开发人员开发人员的头号选择排名第一的部署平台有30亿部移动电话运行Java100%的蓝光盘播放器附带了Java有50亿张Java卡在使用1.25亿台TV设备运行Java前5个原始设备制造商均提供了Java ME很牛逼不是吗?OK,这么牛逼的背后,我们Java开发人员有想过每天和我们朝夕

2021-03-21 20:45:18 82 1

转载 这可能是史上功能最全的Java权限认证框架!

今天给大家推荐的这个开源项目超级棒,可能是史上功能最全的 Java 权限认证框架!这个开源项目就是:sa-token 。更多大厂面试资料以及视频教程领取,可以点击直接进入,免费获取!暗号:CSDNSa-Token是什么?sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系

2021-03-18 20:52:59 316

原创 【Java面试题】常见Java面试知识点总结

这里整理了部分较为重点的Java面试题内容,而且对于答案有困惑,补充了解释内容,便于理解。1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?java虚拟机是执行字节码文件(.class)的虚拟机进程。。java源程序(.java)被编译器编译成字节码文件(.class)。然后字节码文件,将由java虚拟机,解释成机器码(不同平台的机器码不同)。利用机器码操作硬件和操作系统。因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有

2021-03-16 21:27:57 280

原创 Java架构师职位常见面试题,看完面试不再慌!(未完待续...)

一、架构师的日常职责是什么 ?总体而言,架构师负责软件领域的顶层设计。架构师需要根据公司的发展,规划企业未来若干年的架构,制定可落地的架构方案,解决技术难题,做技术选型与攻关,落地具体的架构。优秀的架构师既能做架构方案,也能写具体的架构代码。二、开发工程师和架构师有何区别?工作重点不同:架构师重点在于前期的架构规划,需要制定可落地的架构方案,结合公司的业务场景、团队的技术水平等因素做技术选型,解决技术难题等等;而开发工程师重点在于具体的落地,特别的, 开发工程师的工作重点落地具体的功能。能力要求不同

2021-03-15 22:23:31 654

原创 Java架构师必看 | 应用架构设计原则

软件系统架构设计原则就是把我们在各种场景下的架构设计进行抽选化提取公共特征形成过一定的方法论,这些方法论是经过严格推敲并具备移植性的,我们在设计系统时遵从这些设计规则可以为我们的体统提供更高的扩展性、稳定性。抽象原则各平台(含基础设施、中间件技术服务、各层业务服务等)需要通过合理地抽象,将内部信息、处理与扩展能力聚合成标准的服务于扩展接口,并通过统一的形式提供给使用者,屏蔽内部的实现与运行细节。以下是一些符合抽象原则的架构规范或模式: 架构分层(layer)/级(tier),层、级间提供标准服务与数.

2021-03-14 14:13:51 962

原创 面试中会遇到的 12 个 Java 冷知识,你懂多少?

通常,在面试中,会遇到面试官提一些比较“偏冷”的基础知识,比如基本数据类型所占用的字节数,或者Unicode和UTF-8的区别之类的问题,这时很多应聘者会答错。还有在平常编码的过程中,很多时候会用到除法计算,比如对一个长度为100万的List中的所有元素进行除16的操作,那么CPU对element<<4操作的运算会快于element/16的操作……因此,本文对一些容易被遗忘的基础知识进行归纳,希望可以帮助广大程序员轻松应对面试官的基础技术问题,以及提升编码效率。本文适合有一定Java基础的技术

2021-03-11 13:34:02 120

原创 【面试必备】小伙伴栽在了JVM的内存分配策略。。。

周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚,说出来的就是像云像雾又像风,最后面试官说他应该是不清楚这一块的内容图片这里给小伙伴要再次说明下,任何知识点,先抓主干,再摸细节。对于面试来说,能把各个主干捋清楚,只要面试官要求不是太高,都是能过关的。毕竟jvm参数那么多,难不成面试官揪着各个参数的作用不放?如果真遇到这种太过揪细节的,只能说江湖路远,有缘再见!

2021-03-09 15:54:15 79

原创 java语言实现的WEB爬虫平台

概 述爬虫平台一个java语言实现的WEB爬虫平台,以图形化方式定义爬虫流程,无需代码即可实现一个爬虫。主要功能功能特性1、支持css选择器、正则提取2、支持JSON/XML格式3、支持Xpath/JsonPath提取4、支持多数据源、SQL select/insert/update/delete5、支持爬取JS动态渲染的页面6、支持代理7、支持二进制格式8、支持保存/读取文件(csv、xls、jpg等)9、常用字符串、日期、文件、加解密、随机等函数10、支持流程嵌套11、支持

2021-03-08 20:01:35 490

原创 Tomcat是如何运行的?整体架构又是怎样的?

在许多的高端开发的岗位中都会或多或少有要求面试人员要研究过一些常用中间件源码。这是因为一切的秘密都是藏在源码中,阅读源码能够让我们对框架或者中间件的理解更加深刻,而我们也能够在源码的研究中获得其中一些优秀的设计方式。而我们的中间件和源码那么多,我们该从何入手呢?其实大部分的中间件或者框架都有一些共性的部分,例如网络编程、多线程、反射和类加载等技术。所以深入研究透了一两个中间价的话,那么再回过头来看其他的中间件,那么就会很容易理解它里面所用的技术以及原理。而作为一个老牌的WEB端框架Tomcat,无论是其整

2021-03-07 19:53:35 155 1

原创 JAVA编程环境配置介绍

一、JDK软件安装第一步,准备JDK开发工具包。这个工具包包含了JRE和开发工具,JRE是JAVA软件运行的环境,它包含了类库和虚拟机。如果大家没有安装包,可以到ORACLE的官网(https://www.oracle.com)免费下载,不过在下载时需要大家在官网中用邮箱免费注册一个账号。第二部,安装JDK应用程序。双击运行JDK应用程序,我们按照安装向导提示进行操作(JDK安装的时候,JRE也会一并安装),将JDK和JRE软件默认的安装路径更改为其他盘下的文件路径,如图所示:然后点击下一步进行安

2021-03-05 22:02:46 234

原创 面试官问:说说如何实现一个灰度发布系统?需要注意哪些方面?

互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统。灰度发布系统的作用,可以根据配置,将用户的流量导到新上线的系统上,来快速验证新的功能,而一旦出现问题,也可以马上的修复,简单的说,就是一套A/B Test系统。灰度发布允许带着bug上线,只要bug不是致命的,当然这个bug是不知道的情况下,如果知道就要很快的改掉(文章中有超级福利)分层架构模式简单灰度发布系统的设计灰度简单架构如上图所示,其中的必要组件如下:1、策略的

2021-03-04 15:01:12 1803 1

原创 程序员必知的几种软件架构模式

本文主要介绍了几种主要的软件架构模式。架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案。一种模式就是特定上下文的问题的一种解决方案。然而,很多开发者至今还对各种软件架构模式之间的差别搞不清,甚至对其所知甚少。大体上,主要有下面这几种架构模式:分层架构管道 - 过滤器架构客户端 - 服务器架构模型 - 视图 - 控制器架构事件驱动架构微服务架构(文章中有超级福利)分层架构模式最常见的架构模式就是分层架构或者称为 n 层架构。大部分软件架构师、设计师和开发者

2021-03-02 21:06:47 319 1

原创 面试重灾区!Java 集合框架,都给你整理好了!

1.为什么Map接口不继承Collection 接口?· Set是无序集合,并且不允许重复的元素· List是有序的集合,并且允许重复的元素· 而Map是键值对· 它被视为是键的set和值的set的组合· Map被设计为键值对的集合,所以不需要继承Collection 接口2.HashMap和Hashtable之间的区别?· 同步或线程安全· Null键和Null值· 迭代值· 默认容量大小3.comparable 和 comparator的不同之处?· comparable接口实际

2021-02-28 14:28:40 95

原创 想做时间管理大师?你可以试试Mybatis Plus代码生成器

今天把Mybatis-plus的代码生成器分享出来,让你也成为一个优秀的时间管理大师。1. 基本依赖以Spring Boot和MySQL为例,你需要下面这些依赖:<!-- lombok 如果不使用 需要修改代码生成器的相关配置 --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <.

2021-02-27 20:46:38 154

原创 强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。这个开源项目基本稳定,并且后续作者还会继续优化。完全开源!这个真的要为原作者点个赞,如果大家觉得这个项目有用的话,建议可以稍微捐赠

2021-02-26 16:38:30 239 2

原创 Java并发编程—实现线程的方式只有一种

多线程操作一直是后端技术的重中之重,对于一个Java开发人员来说,熟悉多线程并发是基本操作。在生产环境中,常常会有秒杀活动的出现,多线程竞争必不可少。试的时候经常会问到多线程的问题,实战中经常有多线程争夺资源的情况…最近很火的秒杀茅台,本质就是多个线程去抢占一个茅台,只不过有的人用的是手工抢夺方式,有的人用的是脚本抢夺方式。当然我手中只有一瓶茅台,自然不能卖出去十几瓶茅台,这就关乎了多线程安全的问题了。接下来我们来看看实现线程的几种方式,以及他们之间的区别。先给出一个结论,线程的实现方式实际上从根本上只

2021-02-25 14:00:12 145 1

原创 最常用的分布式 ID 解决方案,都在这里了!

一、分布式ID概念说起ID,特性就是唯一,在人的世界里,ID就是身份证,是每个人的唯一的身份标识。在复杂的分布式系统中,往往也需要对大量的数据和消息进行唯一标识。举个例子,数据库的ID字段在单体的情况下可以使用自增来作为ID,但是对数据分库分表后一定需要一个唯一的ID来标识一条数据,这个ID就是分布式ID。对于分布式ID而言,也需要具备分布式系统的特点:高并发,高可用,高性能等特点。需要更多大厂面试资料的话也可以点击直接进入,免费获取!暗号:CSDN二、分布式ID实现方案下表为一些常用方案对比:

2021-02-23 15:24:43 127 1

原创 你知道Java程序猿工资有多少吗?

一般情况下的JAVA软件工程师是分四个等级,从软件技术员到助理软件工程师,再到软件工程师,最后成为高级软件工程师。根据统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达到全部需求量的60%—70%。同时,JAVA软件工程师的工资待遇相对较高。通常来说,具有3—5年开发经验的工程师,拥有年薪15万元是很正常的一个薪酬水平。80%的学生毕业后年薪都超过了8万元。就数据分析,由于我国经济发展不均衡因素,JAVA软件工程师工资待遇在城市之间的差异也较大,一级城市(如北京、上海等),初级软件工程师

2021-02-21 14:41:38 1180 1

原创 面试官问我什么是扩展自适应机制

这个名词听起来好像很高级,其实就是一个扩展代理类,通过参数返回对应的扩展实现类。我写个代码看看应该就对扩展自适应一目了然了。代码中的 AdaptiveYes 就是代理类,实现同样的接口,然后根据调用时候的参数去选取对应的实现类进行调用,这就是扩展自适应。例如拿到的yesName 是“yesA”则返回YesA这个实现类,是“yesB”则返回YesB这个实现类是不是没什么花头?就简单加了一层,可以根据请求的参数来动态选择对应的扩展实现类,让扩展更加灵活。理解了什么是扩展自适应之后,我们再来具体看看

2021-02-20 20:14:19 169 1

原创 每日java:网络编程

网络编程的两个主要问题:(1)准确定位网络上一台或多台主机;以及定位主机上的特定应用(2)找到主机后如何可靠高效地进行数据传输针对第一个问题:IP和端口号针对第二个问题:提供网络通信协议:TCP/IP参考模型IPIP:用来唯一标识Internet上的计算机(通信实体)在Java中使用InetAddress类来代表IPInetAddress inet1=InetAddress.getByName("www.baidu.com");//获取本地ipInetAddress inet2=Inet

2021-02-18 20:52:35 107

原创 6张时序图!谈谈Tomcat请求处理流程

很多东西在时序图中体现的已经非常清楚了,没有必要再一步一步的作介绍,本文以图为主,然后对部分内容加以简单解释。绘制图形使用的工具是 PlantUML + Visual Studio Code + PlantUML Extension本文对 Tomcat 的介绍以 Tomcat-9.0.0.M22 为标准。Tomcat-9.0.0.M22 是 Tomcat 目前最新的版本,但尚未发布,它实现了 Servlet4.0 及 JSP2.3 并提供了很多新特性,需要 1.8 及以上的 JDK 支持等等,详情

2021-02-04 16:18:47 419 1

原创 仅需一步!直接在 Windows 下使用 Linux

WIN 10 这个系统还是比较强大的,在它更新之后有了一个Linux子系统这么一个功能,这就让我们这些爱好者,可以说是爱不释手,总之,一句话:可以扔掉虚拟机了。之前,也在网上看到好多类似的介绍文章,不是卧槽,就是牛X ,然后,噼里啪啦的写了一堆,又是安装这个,又是安装那个,一会子系统,一会啥文件系统的,总之,废话写了一堆,还没人搞懂,到底是要干啥。其实,特么简单,就1步,即可在Windows系统上玩Linux了,是哪1步呢,民工哥给大家分享一下。安装打开微软应用商店,找到你所需要安装的Linux系

2021-02-02 14:22:20 170 1

转载 Nginx如何优雅的实现负载均衡!(建议收藏)

前言本篇文章主要介绍的是Nginx如何实现负载均衡。负载均衡介绍在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,硬件负载均衡是使用专门的软件和硬件相结合的设备,设备商会提供完整成熟的解决方案,比如F5,在数据的稳定性以及安全性来说非常可靠,但是相比软件而言造价会更加昂贵;软件的负载均衡以Nginx这类软件为主,实现的一种消息队列分发机制。简单来说所谓的负载均衡就是把很多请求进行分流,将他们分配到不同的服务器去处理。比如我有3个服务器,分别为A、B、

2021-01-31 14:31:57 614 1

原创 《我想进大厂》之Dubbo普普通通9问

1. 说说 Dubbo 的分层?从大的范围来说,Dubbo 分为三层:Business 业务逻辑层由我们自己来提供接口和实现,还有一些配置信息。RPC 层就是真正的 RPC 调用的核心层,封装整个 RPC 的调用过程、负载均衡、集群容错、代理。Remoting 则是对网络传输协议和数据转换的封装。划分到更细的层面,就是图中的10层模式,整个分层依赖由上至下,除 Business业务逻辑之外,其他的几层都是 SPI 机制。2. 能说下Dubbo的工作原理吗?服务启动的时候,provider和con

2021-01-30 14:03:15 103 1

原创 Spring Cloud 终于改了,为什么要用日期来做版本号?

Spring Cloud 终于改了最近 Spring Cloud 把版本号从 A 到 Z 的伦敦地铁站,改成用日期命名了。https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released也就是从 Greenwich.SR6, Hoxton.SR9 这样的风格改成了 2020.0.0 的形式。广大人民终于不用为 Spring Cloud 的版本号烦恼了。Spring Cloud 推广不力,固然有自身复杂的原因,版本号太复杂也是一

2021-01-28 14:42:33 521 1

原创 SSM框架整合过程总结

步骤一:需求分析与数据库设计根据需求与和业务需求设计好数据库,主要是包括设计数据库的结构以及需要完成的一些功能(crud)步骤二:搭建数据库1.创建数据库2.创建表结构3.增加约束与视图等步骤三:搭建基本的maven项目1.导入相应的依赖包SSM所需依赖包如下,在pom.xml的dependencies下写入:<!--Junit单元测试包--> <dependency> <groupId>junit</g.

2021-01-27 14:21:31 325 1

原创 Maven虐我千百遍,我待Maven如初恋!

互联网开发,特别Java领域,可以说Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的… 是的,我也曾经被Maven这样“伤害”过,神烦啊简直。(文章中有超级福利)Thinking in Maven回想一下,当你新到一家公司,安装完JDK后就会安装配置Maven(MAVEN_HOME、path),很大可能性你需要修改setti

2021-01-24 16:12:45 78 1

原创 干货 | 快速融入云原生,携程开源 Dubbo for Go 版本

本文来自开源中国对何鑫铭的采访,首发于开源中国Go目前在携程还不算是主流,但是聚集了一批忠实的拥趸,依托携程内部Golang社区,源源不断地发展壮大,已经有了规模可观的项目实践,发展势头十分迅猛。近期,基于开源社区 dubbo-go 的早期项目,携程重构开发了更易于扩展且功能更加完善的 dubbo-go v1.0.0 版本,并且开源,重新贡献回了社区。需要更多大厂面试资料的话也可以点击直接进入,免费获取!暗号:CSDN背景5 月 21 日,经过一年多的孵化,Apache Dubbo 从 Apa

2021-01-22 20:52:22 147 1

原创 一文聊透 Dubbo 优雅上线

前言优雅停机和优雅上线两者都是微服务生命周期中,开发者必须关心的环节。优雅上线还有很多称呼:「无损上线」,「延迟发布」,「延迟暴露」。它们的对立面自然是:「有损上线」,「直接发布」。我最近写的「一文聊透 Dubbo xx」系列文章,都有一个特点,即当你不注重文章中实践,你的 Dubbo 应用依旧可以正常运行,但总归在某些场景 case 下,你的系统会出现问题。做不到优雅上线,你的系统将会出现:在应用刚启动时,就有流量进入,而此时应用尚未初始化完毕,导致调用失败,在集群规模较大时,影响会变得很明显。方

2021-01-20 16:31:52 884 1

原创 精心整理全网最全Tomcat面试专题及答案 tomcat面试看这篇就够了!

1、Tomcat 的缺省端口是多少,怎么修改?1)找到 Tomcat 目录下的 conf 文件夹2)进入 conf 文件夹里面找到 server.xml 文件3)打开 server.xml 文件4)在 server.xml 文件里面找到下列信息<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" uriEncoding="utf-8"/>port="8080"

2021-01-18 14:55:49 1454 2

原创 为什么很多 SpringBoot 开发者放弃了 Tomcat,选择了 Undertow?

前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringBoot中的Tomcat容器SpringBoot可以说是目前最火的Java Web框架了。它将开发者从繁重的xml解救了出来,让开发者在

2021-01-15 20:07:10 86 1

原创 面试官:数据库自增ID用完了会怎么样?

看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段、回血的模式,因为魔兽的血量是int型,不能超过2^32大小。估计暴雪的设计师都没想到几个资料片下来血量都超过int上限了,以至于大家猜想才会有后来的属性压缩。这些都是题外话,只是告诉你数据量大了是有可能达到上限的而已,回到Mysql自增ID上限的问题,可以分为两个方面来说。1.有主键如果设置了主键,并且一般会把主键设置成自增。我们知道,Mysql里int类型是4个字节,如果

2021-01-14 19:31:35 118 1

空空如也

空空如也

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

TA关注的人

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