Java垃圾回收详解 编程技术

Java垃圾回收详解

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系列 GC Roots 出发,边标记边探索所有被引用的对象。 为了防止在标记过程中堆栈...
阅读全文
微服务理论 Spring

微服务理论

微服务理论 一、微服务简介 什么是微服务架构 服务拆分粒度更细 :根据业务拆分。 独立部署 :每个服务部署在物理上隔离,互不影响。 独立维护 :根据组织架构拆分,分团队维护。 服务治理 :服务数量变多,需要有统一的服务治理平台。 如何权衡微服务的利弊 优点 强模块化边界 可独立部署 技术多样性 ...
阅读全文
架构师写的BUG,非比寻常 编程技术

架构师写的BUG,非比寻常

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。 部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位。 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信。原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的。这就让人非常羡慕,毕竟他靠这个比我赚的钱要多。 俗话说,要想在公司不出事故,那就不要写代码。干活多了容易出...
阅读全文
重大事故!线上系统频繁卡死,凶手竟然是 Full GC ? Java

重大事故!线上系统频繁卡死,凶手竟然是 Full GC ?

通常来说,一个系统在上线之前应该经过多轮的调试,在测试服务器上稳定的运行过一段时间。我们知道 Full GC 会导致 Stop The World 情况的出现,严重影响性能,所以一个性能良好的 JVM,应该几天才会发生一次 Full GC,或者最多一天几次而已。 但是昨天晚上突然收到短信通知,显示线上部署的四台机器全部卡死,服务全部不可用,赶紧查看问题! 涉及到类似的错误,最开始三板斧肯定...
阅读全文
我眼中的攻防演练平台 编程技术

我眼中的攻防演练平台

最近这段时间一直没有机会投稿,前段时间被拉去做产品的集中研发,还分饰部分产品经理的角色,后来因为疫情原因又耽误了,最近是做商务推广,搞得我一个技术人员都快变成了高级商务……闲话不多说,吐槽到此为止,前面好多期都是跟大家聊WAF,因为WAF基本等于了web安全的基础,WAF产品也是web安全中必不可少的一环。这一期想跟大家聊一聊攻防演练平台。 如果大家对我了解不多或者忘记了我工作的背景,可以回顾我...
阅读全文
Java中多线程的使用(超级超级详细)线程安全原理解析 4 编程技术

Java中多线程的使用(超级超级详细)线程安全原理解析 4

Java中多线程的使用(超级超级详细)线程安全 4 什么是线程安全? 有多个线程在同时运行,这些线程可能会运行相同的代码,程序运行的每次结果和单线程运行的结果是一样的,而且其他变量的值也和预期的值一样,这就是线程安全 我们下面来用一段代码来演示线程不安全的情况,下面用车站卖票来举例 package ThreadSafe; public class Main { ...
阅读全文
羽量级实现灵活通用的微服务流量分发 编程技术

羽量级实现灵活通用的微服务流量分发

01 背景 伴随着业务的飞速发展,达达集团(NASDAQ: DADA) 内部的微服务数量和节点个数也都在不断增长。经历了六年时间,我们也从公司成立最开始的单一大服务,逐步发展到了几百个云服务,几千台云主机的规模。 当业务逻辑和运行环境越来越复杂,简单的服务发现和治理功能已不能满足我们的需求。相信和许多公司一样,一路走来我们碰到了许多问题: 在线压测流量隔离:...
阅读全文
一个不合理的 JVM 参数设置引发的一场线上惨案。。。 Java

一个不合理的 JVM 参数设置引发的一场线上惨案。。。

凌晨3点,一阵急促的铃声把老王惊醒。。。 “老大,线上系统好像出问题了,频繁Full GC,系统一直处于卡顿状态。。。” 听到Full GC的那一刻,老王就已睡意全无,他知道,马上又要看到凌晨3点的北京了。 “小猛,先别着急,你和彪子先去线上看看GC日志,我这边马上赶到!” 想想自己的年终奖、KPI,看着自己熟睡的儿子,老王哪敢怠慢,匆匆穿上衣服,一头扎进北京初冬...
阅读全文
Java设计模式十九——责任链模式 编程技术

Java设计模式十九——责任链模式

责任链模式 老李的苦恼 每个人在出生的时候,都早已在暗中被标好了三六九等。 老李是一名建筑工地的木匠,和大多数生活在社会最底层的农民工一样,一辈子老实本分,胆小怕事。在他们的心中,谁当老爷都没有区别,世界发展如何也与他们无关,只要包工头能按时发工资,只要小家平安无事就够了,平时受点欺负,累点苦点也没办法,能忍则忍了。 并不是你安分守己,世界就会给你公平公正,社会它牢记着你的出...
阅读全文
Spring Redis开启事务支持错误用法导致服务不可用 Spring

Spring Redis开启事务支持错误用法导致服务不可用

1.事故背景 在APP访问服务器接口时需要从redis中获取token进行校验,服务器上线后发现一开始可以正常访问,但只要短时间内请求量增长服务则无法响应 2.排查流程 (1)使用top指令查看CPU资源占用还远远达不到瓶颈,排查因为CPU资源不足导致服务不可用的可能 (2)查看tomcat线程池配置,默认最大线程数为200,理论上可以支持目前服务器的访问量 (3)使用jmap指令保存...
阅读全文
Loading...