02 2021 档案

摘要:面试题:如何减少长时间的 GC 停顿? 垃圾回收是非常必要的,但是如果处理不好,它会成为性能杀手。采取以下步骤以确保 GC 停顿时间最少且最短。 长时间的 GC 停顿对应用程序是不利的,它会影响服务的 SLA,进而导致糟糕的用户体验,并对核心应用程序的服务造成严重损害。因此,在本文中,我列出了导致长 阅读全文
posted @ 2021-02-28 22:21 弱水三千12138
摘要:线上四台机器同一时间全部 OOM,到底发生了什么? 案发现场 昨天晚上突然短信收到 APM (即 Application Performance Management 的简称,我们内部自己搭建了这样一套系统来对应用的性能、可靠性进行线上的监控和预警的一种机制)大量告警 画外音: 监控是一种非常重要的 阅读全文
posted @ 2021-02-28 17:52 弱水三千12138
摘要:1. GC 基础原理 GC 调优目标 大多数情况下对 Java 程序进行 GC 调优,主要关注两个目标: 响应速度(Responsiveness):响应速度指程序或系统对一个请求的响应有多迅速 比如,用户订单查询响应时间,对响应速度要求很高的系统,较大的停顿时间是不可接受的。调优的重点是在短的时间内 阅读全文
posted @ 2021-02-26 20:39 弱水三千12138
摘要:为什么要分代? 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类 阅读全文
posted @ 2021-02-26 20:20 弱水三千12138
摘要:1.verbose:gc 表示,启动jvm的时候,输出jvm里面的gc信息。格式如下: [Full GC 178K->99K(1984K), 0.0253877 secs] 解读 :Full GC 就表示执行了一次Full GC的操作,178K 和99K 就表示执行GC前内存容量和执行GC后的内存容 阅读全文
posted @ 2021-02-26 19:43 弱水三千12138
摘要:java虚拟机栈介绍 对于每一个线程,JVM 都会在线程被创建的时候,创建一个单独的栈。 也就是说虚拟机栈的生命周期和线程是一致,并且是线程私有的。除了 Native 方法以外,Java 方法都是通过 Java 虚拟机栈来实现调用和执行过程的(需要程序技术器、堆、元空间内数据的配合)。 所以 Jav 阅读全文
posted @ 2021-02-26 19:29 弱水三千12138
摘要:堆区的介绍 我们先来说堆。堆是 OOM 故障最主要的发生区域。它是内存区域中最大的一块区域,被所有线程共享,存储着几乎所有的实例对象、数组。 所有的对象实例以及数组都要在堆上分配,但是随着 JIT 编译器的发展与逃逸分析技术逐渐成熟,栈上分配、标量替换优化技术将会导致一些微妙的变化发生,所有的对象都 阅读全文
posted @ 2021-02-26 19:12 弱水三千12138
摘要:强引用 强引用是最普遍的一种引用,我们写的代码,99.9999%都是强引用 在实际的开发中,看到有一些对象被手动赋值为NULL,很大可能就是为了“特意提醒”JVM这块资源可以进行垃圾回收了 软引用 SoftReference<Student>studentSoftReference=new Soft 阅读全文
posted @ 2021-02-26 08:43 弱水三千12138
摘要:综合 程序计数器 程序计数器就相当于身份证一样,由于JVM也有自己的CPU,在执行多线程程序的时候,通过时间片轮转的方式,根据程序计数器来调度线程的执行。 程序计数器( Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。 在 阅读全文
posted @ 2021-02-24 08:07 弱水三千12138
摘要:合集 | Java进阶架构师 共500篇优质技术文章整理| 建议打开 经验:一个秒杀系统的设计思考 20+个可视化搭建工具,一次玩个够 实战:上亿数据如何秒查 Java生鲜电商平台-监控模块的设计与架构 简单的 CAS 实现 SSO 单点登录 系统架构设计:进程缓存和缓存服务,如何抉择? 架构师们遵 阅读全文
posted @ 2021-02-21 12:48 弱水三千12138
摘要:限流10万QPS、跨域、过滤器、令牌桶算法-网关Gateway内容都在这儿 到底多大并发才算“高并发”?一文带你全面认识高并发! 如何保证系统不被突发的流量压垮? 面试官:关于负载均衡你了解多少 分布式与集群的区别到底是什么? 常见限流算法以及限流在单机分布式场景下的思考 12306 是如何支撑百万 阅读全文
posted @ 2021-02-21 12:46 弱水三千12138
摘要:试官问:Kafka 会不会丢消息?怎么处理的? 刨根问底,Kafka消息中间件到底会不会丢消息 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列 RabbitMQ和Kafka到底怎么选? 大白话+13张图解 Kafka Kafka 基本原理 阅读全文
posted @ 2021-02-21 12:15 弱水三千12138
摘要:实战 | SpringBoot+Redis分布式锁:模拟抢单 实战 | Kafka + Flink + Redis 的电商大屏实时计算案 实战 | SpringBoot实现定时任务的动态增删启停 实战 | 单点登录系统原理与实现(全套流程图+源码) 写代码注意了,打死都不要用 User 这个单词! 阅读全文
posted @ 2021-02-21 12:13 弱水三千12138
摘要:面试官问:Java序列化和反序列化为什么要实现Serializable接口 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。 为什么我们公司强制弃坑Fastjson了?主推Jackson 再见,FastJson... Java 几种常用 JSON 库性能比较 色谈Java序 阅读全文
posted @ 2021-02-21 12:00 弱水三千12138
摘要:一篇搞懂,Java内存泄漏 13 张图解 Java 中的内存模型 各种OOM代码样例及解决方法 解读JVM虚拟机 HotSpot JVM 垃圾收集器 玩命学JVM:认识JVM和字节码文件 JVM 知识点全面梳理 Java命令-jstat JVM全方位解读(附面试题) JVM GC耗时频频升高,这次排 阅读全文
posted @ 2021-02-21 11:57 弱水三千12138
摘要:dubbo源码解析-集群容错架构设计 dubbo源码解析-详解directory dubbo源码解析-详解router dubbo源码解析-详解cluster dubbo源码解析-详解LoadBalance dubbo源码解析-服务暴露原理 dubbo源码解析-本地暴露 dubbo源码解析-远程暴露 阅读全文
posted @ 2021-02-18 16:04 弱水三千12138
摘要:【架构技术专题】网站架构的演化(1) 「架构技术专题」作为java程序员的你还不知道网站架构的演化(2)? 「架构技术专题」什么是架构设计的五个核心要素?(3) 「架构技术专题」架构核心指标之可扩展架构设计的三要素(4) 「架构技术专题」9种高性能高可用高并发的技术架构(5) 「架构技术专题」构建网 阅读全文
posted @ 2021-02-18 16:02 弱水三千12138
摘要:拜托!面试请不要再问我Spring Cloud底层原理! 一文讲清Spring Cloud 微服务架构的五脏六腑! 冒着挂科的风险也要给你们看的 Spring Cloud 入门总结 阅读全文
posted @ 2021-02-18 11:09 弱水三千12138
摘要:手撕面试题ThreadLocal!!! Java热文节选【第一期】 java练习本(2019-07-19) java练习本(2019-07-19) 【77期】这一道面试题就考验了你对Java的理解程度 Java 生成随机数的 5 种方式,你知道几种? 不相信?System.currentTimeMi 阅读全文
posted @ 2021-02-04 19:59 弱水三千12138