Java应用内存占用过高排查
基础 Java运行时内存结构 JVM在执行Java程序时会将它管理的内存划分为不同的数据区域: - 程序计数器:用于存放下一条指令所在单元的地址的地方。每执行一条指令,程序计数器就会加一。每个线程都会维护一个独立的程序计数器且各线程之间的程序计数器互不影响,在程序执行过程中,线程会不断的切换,独立的线程计数器保证了当前线程的正确执行位置。程序计数器是唯一一个不会出现OutOfMem...
基础 Java运行时内存结构 JVM在执行Java程序时会将它管理的内存划分为不同的数据区域: - 程序计数器:用于存放下一条指令所在单元的地址的地方。每执行一条指令,程序计数器就会加一。每个线程都会维护一个独立的程序计数器且各线程之间的程序计数器互不影响,在程序执行过程中,线程会不断的切换,独立的线程计数器保证了当前线程的正确执行位置。程序计数器是唯一一个不会出现OutOfMem...
请区分规范和实现 名词解释: Jsr 303:Jsr 303规范,规范代码在javax.validation包 Spring Validation:Spring Framework中数据绑定和校验实现,目的是适配Jsr 303到Spring体系中,并对Jsr 303 做了扩展,代码在org.springframework.validation包,Designed for con...
关于es的基本原理,请参看:从原理到应用,Elasticsearch详解 随着es中数据不断同步,会出现索引膨胀,导致查询性能下降,可以使用Index Template和Rollover机制每个月创建新的索引并通过Index Alias让客户端无感知得查询和写入数据。同时可以分离冷热集群来管理这些索引。 ES6.7版本引入了 Index LifeCycle Management, 7.9...
一条SQL语句可分为以下几个类型: Data Query Language (DQL) : 如 SELECT Data Manipulation Language (DML) : 如 INSERT, UPDATE, DELETE Data Definition Language (DDL) : 如 CREATE TABLE, ALTER TABLE, DROP TABLE ...
现象 某个查询ES接口慢调用告警,如图,接口P999的耗时都在2500ms: 基本耗时都在查询ES阶段: 场景与ES设定 慢调用接口为输入多个条件分页查询,慢调用接口调用的ES索引为 express_order_info,该索引通过DTS(数据同步服务)聚合了 订单服务的一张MySQL表 和 分班服务的一张MySQL表 的相关数据: 一个subClazzNumber (用户查询...
参考 Spring 能解决所有循环依赖吗? Spring 依赖注入可分为: 构造器 setter @Autowired @Resource 那么推荐哪个呢?先给结论:@Autowired(优先)和setter注入 其中构造器注入时无法利用三级缓存来解决循环依赖问题;@Resource在存在同名Bean时会抛异常。 Spring利用三级缓存解决了循环依赖问题,设ASe...
函数式编程思想在云服务的兴起(尤其是Faas)下再次兴起,纯函数的无状态特性使得服务的横向扩展能力得到大大提升,主打云原生的Go语言也是以函数为一等公民。 关于何为函数式编程(Functional Programming),可参考 Functional programming WIKI,函数即使对一组将输入映射到输出的表达式,其不改变程序运行状态(Side effect free): ...