Java动态追踪技术探究

引子 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话: “Debug一下吧。” “线上机器,没开Debug端口。” “看日志,看看请求值和返回值分别是什么?” “那段代码没打印日志。” “改代码,加日志,重新发布一次。” “怀疑是线程池的问题,重启会破坏现场。”…

hello hello 发布于 2023-08-01
hello hello 发布于 2023-08-01

Spring Boot引起的“堆外内存泄漏”排查及经验总结

背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M…

hello hello 发布于 2023-08-01

JAVA 学习笔记——变量

1.成员变量,局部变量 局部变量定义在: 1.方法内 2.代码块内 3.方法的参数(形参) 局部变量如果定义在代码块内那么就只在代码块内起作用,方法内也是同理。超出代码块会报错 if (5 > 3) { int s = 3; // 声明一个 int 类型的局部变量 System.out.println("s=" + s);…

hello hello 发布于 2023-07-31

JAVA_封装类

java的封装类也叫包装类,可以将基本数据类型转化为对象进行处理,并连接相关的方法。 为什么要包装类? Java的基本类型是不具备对象的性质,为了让基本类型也有对象的特征。其实就相当于把基本数据类型包装了起来,丰富了基本类型操作。 区别: 声明方式不同,包装类需要new关键字在堆内存中分配空间…

hello hello 发布于 2023-07-31

SpringBoot程序日志

[toc] 概述 Slf4j简介 Java的简单日志记录外观(Simple Logging Facade for Java…

hello hello 发布于 2023-07-31

SpringBoot多线程极简教程

[toc] 简介 往往当我们谈论多线程的时候,总会提起一个词“异步”,其实多线程不应该等于异步,异步意味着解耦,虽然多线程本身解耦,但是能实现异步的方式实在太多太多了,如发布/订阅,mq……,所以,一般来说我更倾向于将多线程划归实现异步的一种方式。 我们以B/S架构下的系统开发作为背景,在实际开发过程中我们在什么场景需要用到多线程呢?…

hello hello 发布于 2023-07-31

SpringBoot集成Flyway

[toc] Flyway 简介 官方解释:Flyway 将 DevOps 扩展到您的数据库,以 加速软件交付 并 确保代码质量 。从版本控制到持续交付,Flyway 以 应用程序交付流程为基础 ,实现数据库部署 自动化 。 官方解释总是那么拗口和不说人话,当然通过加粗的关键字我们基本也能够了解到Flyway的功能特性。…

hello hello 发布于 2023-07-31

万字SpringBoot学习笔记|菜鸟版

Spring Boot是Pivotal团队在Spring的基础上提供的一套全新的开源框架,其目的是为了简化Spring应用的搭建和开发过程。Spring Boot去除了大量的XML配置文件,简化了复杂的依赖管理。 官网地址: spring.io/projects/sp… Spring Boot入门 简介 Spring…

hello hello 发布于 2023-07-30

掌握 Spring 之 RestTemplate

前言 在 Java 服务端开发领域里,Spring 是绕不开的话题,尤其是现在微服务概念盛行,Spring Boot 的出现更是给 Spring 注入了新的活力,除此之外还有 Spring Cloud,这些框架让 Spring 技术体系更加丰富。Spring 从 2014 年的 1.0.0 版本迭代到 现在的 5.2.0 M1 版本,紧随着 Java…

hello hello 发布于 2023-07-30
上一页 下一页