- 博客(99)
- 资源 (10)
- 收藏
- 关注
原创 年轻代和老年代垃圾回收
在任意时间点,所有动态分配的对象都只能分配在其中一个区间(称为活动区间),而另外一个区间(称为空闲区间)则是空闲的。当有效内存空间耗尽时,JVM将暂停程序运行,开启复制算法GC线程。接下来GC线程会。
2022-11-22 08:52:24 967 1
原创 代码演示GC回收
XX:NewSize=5m 初始新生代大小-XX:MaxNewSize=5m 最大新生代大小-XX:InitialHeapSize=10m 初始堆大小 等同于Xms-XX:MaxHeapSize=10m 最大堆大小 等同于Xmx-XX:SurvivorRatio=8 Eden区占80%-XX:PretenureSizeThreshold=10m 大对象阈值-XX:+UseParNewGC 新生代使用ParNew。
2022-11-22 08:49:59 526
原创 JVM常用参数
Xms和-Xmx,分别用于设置Java堆内存的刚开始的大小,以及允许扩张到的最大大小。对于这对参数,通常来说,都会设置为完全一样的大小。这两个参数,是用来限定Java堆内存的总大小的。
2022-11-22 08:47:37 848
原创 G1垃圾回收器
G1垃圾回收器可以同时回收新生代和老年代的对象,不需要两个垃圾回收器配合起来运作,他一个人就可以搞定所有的垃圾回收。。G1也会有新生代和老年代的概念,但是只不过是逻辑上的概念,但是在同一时刻只能属于某个代,G1还提供了专门的Region来存放大对象,而不是让大对象进入老年代的Region中。
2022-11-22 08:46:21 860
原创 CMS垃圾回收器
CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上`-XX:+UseConcMarkSweepGC`,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除
2022-11-22 08:44:42 799
原创 Nginz静态资源缓存
Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是。注意:Nginx服务器的Rewrite功能的实现依赖于PCRE的支持,因此在编译安装Nginx服务器之前,需要安装PCRE库。Nginx使用的是ngx_http_rewrite_module模块来解析和处理Rewrite功能的相关配置。
2022-11-21 10:09:23 3763
原创 Nginx重定向
Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是。注意:Nginx服务器的Rewrite功能的实现依赖于PCRE的支持,因此在编译安装Nginx服务器之前,需要安装PCRE库。Nginx使用的是ngx_http_rewrite_module模块来解析和处理Rewrite功能的相关配置。
2022-11-21 10:08:49 12188
原创 038、大厂面试题:Young GC和Full GC分别在什么情况下会发生?
大厂面试题:Young GC和Full GC分别在什么情况下会发生?
2022-11-21 10:07:55 598
原创 Nginx制作下载站点
nginx使用的是模块ngx_http_autoindex_module来实现的,该模块处理以斜杠(“/”)结尾的请求,并生成目录列表。nginx编译的时候会自动加载该模块,但是该模块默认是关闭的,使用下来指令来完成对应的配置。
2022-11-17 10:45:12 1165 2
原创 Nginx跨域问题
浏览器的同源策略:是一种约定,是浏览器最核心也是最基本的安全功能,如果浏览器少了同源策略,则浏览器的正常功能可能都会受到影响。同源:有两台服务器分别为A,B,如果从服务器A的页面发送异步请求到服务器B获取数据,如果服务器A和服务器B不满足同源策略,则就会出现跨域问题。
2022-11-17 10:43:31 520
原创 Nginx静态资源压缩
在Nginx的配置文件中可以通过配置gzip来对静态资源进行压缩,相关的指令可以配置在http块、server块和location块中,Nginx可以通过模块模块模块对这些指令进行解析和处理。相关指令都在模块,该模块会在nginx安装的时候内置到nginx的安装环境中该指令用于开启或者关闭gzip功能,只有该指令为打开状态,其他gzip相关的指令才有效果案例:gzip_types指令该指令可以根据响应页的MIME类型选择性地开启Gzip压缩功能,所选择的值可以从mime.types文件中进
2022-11-17 10:41:34 2939
原创 Nginx静态资源配置
启动: systemctl start nginx停止: systemctl stop nginx重启: systemctl restart nginx重新加载配置文件: systemctl reload nginx查看nginx状态: systemctl status nginx开机启动: systemctl enable nginx。
2022-11-17 10:34:46 2223
原创 Nginx缓存配置教程
假设某电商平台商品详情页需要实现 700 QPS(假设宽带是千兆宽带)千M局域网宽带网卡速率按照1000进位,所以1Gbps=1,000,000,000bps=125,000,000Bps≈119.21MB/s当达到500QPS 的时候很难继续压测上去。假设每个页面主体渲染所需要的图片的占用150KB,那么500QPS,500 x 150 / 1000 = 75M/s,再加上各种网络请求和网络传输,几乎达到宽带的性能瓶颈,所以必须减少内网通信。
2022-11-17 10:33:37 8692
原创 Nginx高可用
在生产环境上很多时候是以`Nginx`做反向代理对外提供服务,但是Nginx难免遇见故障,如:服务器宕机。当`Nginx`宕机那么所有对外提供的接口都将导致无法访问。因此需要两台以上的Nginx服务器对外提供服务,这样的话就可以解决其中一台宕机了,另外一台还能对外提供服务。
2022-11-17 10:31:50 767
原创 Nginx负载均衡
系统的扩展可以分为纵向扩展和横向扩展。这里面涉及到两个重要的角色分别是"应用集群"和"负载均衡器"。在网站主页上面提供不同线路、不同服务器链接方式,让用户来选择自己访问的具体服务器,来实现负载均衡。大多域名注册商都支持对同一个主机名添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就能完成简单的负载均衡。DNS轮询的成本非常低,在一些不重要的服务器,被经常使用。虽然DNS轮询成本低廉,但是,
2022-11-17 10:29:52 1288
原创 Nginx防盗链
资源盗链指的是此内容不在自己服务器上,而是通过技术手段,绕过别人的限制将别人的内容放到自己页面上最终展示给用户。以此来盗取大网站的空间和流量。简而言之就是用别人的东西成就自己的网站。steal.html
2022-11-17 10:27:00 764
原创 String常量池理解
首先判断这个常量是否存在于常量池。new String1231231s1intern()intern()s1s2true分析123s1intern()123123s1falsetrue。
2022-09-15 14:38:46 799
原创 JVM年轻代和老年代垃圾回收
复制算法概述复制算法将内存划分为两个区间,在任意时间点,所有动态分配的对象都只能分配在其中一个区间(称为活动区间),而另外一个区间(称为空闲区间)则是空闲的。 当有效内存空间耗尽时,JVM将暂停程序运行,开启复制算法GC线程。接下来GC线程会将活动区间内的存活对象,全部复制到空闲区间,且严格按照内存地址依次排列,与此同时,GC线程将更新存活对象的内存引用地址指向新的内存地址。复制算法优点保证空间的连续性,不会出现"碎片"问题。没有标记和清除过程,实现简单,运行高效复制算
2022-03-29 13:28:58 3780
原创 36_抛砖引玉:线程本地化存储如何保证线程安全
图6中,画出了每个线程的栈空间中都含有栈帧,那同学们,如果我们知道了栈帧能存储哪些变量,是不是我们就知道了哪些变量是线程安全的?我们把代码还原到图10中,int c = a + b,基本类型的局部变量是存在栈空间,而new Object()代码创建的的对象实例的确是存在虚拟机的堆空间里,但是Object object只是引用(reference)堆空间里的对象,重要的事情说三遍,是引用,是引用,是引用,而new Object()这个对象只有被当前线程的自己所引用,我们再来看下面这张图。
2021-07-21 10:33:44 144
原创 37_源码分析:ThreadLocal如何实现线程本地化存储的?
37_源码分析:ThreadLocal如何实现线程本地化存储的?儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)上篇文章我们提出了线程不安全的问题,产生这个问题的原因在于变量的共享,为了解决线程不安全的问题,我们想到了让每个线程都拥有自己的对象副本,也就不存在多线程变量的共享问题,我们再看图1,回忆一下 图1从图1中,我们知道,每个线程都拥有自己的对象副.
2021-07-21 10:33:24 266
原创 095、总复习:线上系统的JVM参数优化、GC问题定位排查、OOM分析解决
总复习:线上系统的JVM参数优化、GC问题定位排查、OOM分析解决欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)今天这篇文章基本到了我们这个专栏的.
2021-07-20 17:32:19 206
原创 094、案例实战:一个数据同步系统频繁OOM内存溢出的排查实践
案例实战:一个数据同步系统频繁OOM内存溢出的排查实践石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景首先说一下案例背景,线上有一个数据同步系统,是专门负责从另外一个系统去同步数据的,简单来说,另外一个系统会不停的发布自己的数据到Kafka中去,然后我们有一个数据同步系统就专门从Kafka里消费数据,接着保存到自己的数据库中去.
2021-07-20 17:31:51 221
原创 093、案例实战:一次服务类加载器过多引发的OOM问题排查实践!
案例实战:一次服务类加载器过多引发的OOM问题排查实践!欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景引入公司里有一个非常正常的线上的.
2021-07-20 17:31:01 505
原创 092、案例实战:每天10亿数据的日志分析系统的OOM问题排查实践!
案例实战:每天10亿数据的日志清洗系统的OOM问题排查实践!石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景引入今天的案例背景是一个每天10亿数据量的日志清洗系统,这个系统做的事情其实非常的简单,他主要就是从Kafka中不停的消费各种日志数据,然后对日志的格式进行很多清洗,比如对一些涉及到用户敏感信息的字段(姓名、手机号、身份.
2021-07-20 17:30:30 303
原创 089、案例实战:一次没有WHERE条件的SQL语句引发的OOM问题排查实践!
线上有一个数据同步系统,是专门负责从另外一个系统去同步数据的,简单来说,另外一个系统会不停的发布自己的数据到Kafka中去,然后我们有一个数据同步系统就专门从Kafka里消费数据,接着保存到自己的数据库中去,大概就是这样的一个流程。发现老年代的对象一直在增长,不停的在增长,每次Young GC过后,老年代的对象就会增长不少,而且当老年代的使用率达到100%之后,我们发现会正常触发Full GC,但是Full GC根本回收不掉任何对象。其实上图就是一个典型的对生产和消费的速率没控制好的例子。
2021-07-20 17:28:45 729
原创 088、案例实战:一次微服务架构下的RPC调用引发的OOM故障排查实践
案例实战:一次微服务架构下的RPC调用引发的OOM故障排查实践石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景引入这个OOM的案例是发生在微服务架构下的一次RPC调用过程中的,也是一次非常奇怪的故障案例大家应该还记得昨天的文章里讲的一个解决系统OOM故障的核心能力积累,你必须对你线上系统使用的各种技术,从服务框架,到第三方框架.
2021-07-20 17:28:13 317
原创 087、案例实战:Jetty 服务器的 NIO 机制是如何导致堆外内存溢出的?
案例实战:Jetty服务器的NIO机制是如何导致堆外内存溢出的?欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景引入这个案例是我曾经带过.
2021-07-20 17:27:42 348
原创 086、案例实战:每秒仅仅上百请求的系统为什么会因为OOM而崩溃?
案例实战:每秒仅仅上百请求的系统,为什么会因为OOM而崩溃?石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、案例背景介绍本文将会给大家分析一个线上的真实生产案例,在这个案例中,一个每秒仅仅只有100+请求的系统却频繁的因为OOM而崩溃。在对这个案例进行深度分析的时候,大家会看到一个OOM问题是如何牵扯到Tomcat底层工作原理、Tom.
2021-07-20 17:27:05 532
原创 085、动手实验:JVM堆内存溢出的时候,应该如何解决?
动手实验:JVM堆内存溢出的时候,应该如何解决?欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾上一篇文章已经给大家分析了栈内存溢出是如.
2021-07-20 17:26:10 741
原创 084、动手实验:JVM栈内存溢出的时候,应该如何解决?
动手实验:JVM栈内存溢出的时候,应该如何解决?石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾之前的文章,我们分析了Metaspace区域是如何内存溢出的,同时还带着大家分析了一下内存快照。今天这篇文章,我们就带大家分析一下JVM栈内存溢出的时候,怎么来解决。2、栈内存溢出能依托之前的办法解决吗?首先大家思考一个问题:栈内存.
2021-07-20 17:25:30 238
原创 083、动手实验:Metaspace区域内存溢出的时候,应该如何解决?
动手实验:Metaspace区域内存溢出的时候,应该如何解决?欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾上一讲已经说了我们处理OO.
2021-07-20 17:25:00 4252
原创 082、一个关键问题:如何在JVM内存溢出的时候自动dump内存快照?
一个关键问题:如何在JVM内存溢出的时候自动dump内存快照?石杉老师最新出品:《C2C 电商系统微服务架构 120 天实战训练营》,点击了解详情儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾上一篇文章已经给大家介绍了线上运行的系统如果发生OOM异常如何监控到要不是主动监控,要不是被动发现,总之无论如何,你的系统在经过你的GC优化后,平时也许跑的很正常,结果突然某一天就OOM了,那你总是会知道的。今天的文章.
2021-07-20 17:24:27 2090
原创 081、如何对对线上系统的OOM异常进行监控和报警!
如何对对线上系统的OOM异常进行监控和报警!欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾我们之前已经把OOM的一些核心原理以及事发现.
2021-07-20 17:23:56 386
原创 079、案例实战:一个超大数据量处理系统是如何不堪重负OOM的?
案例实战:一个超大数据量处理系统是如何不堪重负OOM的?欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、前文回顾之前我们已经用代码给大家都演示过.
2021-07-20 17:22:45 89
原创 065、案例实战:百万级数据误处理导致的频繁Full GC问题优化
案例实战:百万级数据误处理导致的频繁Full GC问题优化欢迎大家加入我们的儒猿技术交流群,一个纯粹的交流技术、分享面经的地方。群里有一线大厂助教答疑、专栏优秀作业交流、互联网大厂面经分享、知名互联网公司内推,点击下方链接了解:儒猿技术交流群学员面经分享儒猿技术窝优秀学员作业展示儒猿技术交流群日常技术交流及助教答疑如何加群?点击了解儒猿架构官网上线,内有石杉老师架构课最新大纲,儒猿云平台详细介绍,敬请浏览官网:www.ruyuan2020.com(建议PC端访问)1、事故场景有一次一个线上系统进行了一次版.
2021-07-20 17:14:04 690
每天5分钟玩转Kubernetes@www.java1234.com
2019-01-01
Java实现对Mysql数据库的备份还原
2017-02-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人