2021
03-05
03-05
Java Apollo是如何实现配置更新的
这篇文档主要关注下配置修改后对应的Java对象是如何更新,并不关注整体的配置改动流程所有代码都来自apollo-client项目更新流程在Apollo控制台进行配置修改并发布后,对应的client端拉取到更新后,会调用到com.ctrip.framework.apollo.spring.property.AutoUpdateConfigChangeListener#onChange方法在调用onChange会收到对应的修改的配置信息ConfigChangeEvent,其中包含改动的key和value,则改动流程如下:根...
继续阅读 >
故障:收到服务器报警,内存使用率超过80%1.查看使用dstat和top查看内存使用最高的应用使用dstat查到内存占用最高的是java应用,使用2253M内存,但是这台服务器跑了好几个java,具体哪个进程使用top看下资源情况使用top可以看到java应用整体内存使用率超过了70%,其中pid为16494的进程一个应用占了28.7的内存2.定位线程问题使用ps查看16494的线程情况命令:psp16494-L-opcpu,pmem,pid,tid,time,tname,cmd看到16494这个pid的...
用javaswing写的一个简单的五子棋游戏。下面是Main.java。packagecom.crossing.main;importcom.crossing.view.GameWindow;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){GameWindowgameWindow=newGameWindow();}}下面是GameWindow.java。packagecom.crossing.view;importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava...
将java对象转换为json对象,市面上有很多第三方jar包,如下:jackson(最常用)<!--https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.11.2</version></dependency>gson<!--https://mvnrepository.com/artifact/com.google.code.gson/gson--><dependency><groupId>com...
Java服务出现了OOM(OutOfMemory)问题,总结了一些相对通用的方案,希望能帮助到Java技术栈的同学。某Java服务(假设PID=10765)出现了OOM,最常见的原因为:有可能是内存分配确实过小,而正常业务使用了大量内存某一个对象被频繁申请,却没有释放,内存不断泄漏,导致内存耗尽某一个资源被频繁申请,系统资源耗尽,例如:不断创建线程,不断发起网络连接画外音:无非“本身资源不够”“申请资源太多”“资源耗尽”几个原因。更具...