- 博客(14)
- 收藏
- 关注
转载 JAVA线上故障排查全套路
JAVA线上故障排查全套路标题:JAVA线上故障排查全套路作者:fredalxin地址:https://fredal.xin/java-error-check线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查cp
2020-09-04 10:14:36
182
原创 更新JAR包中的文件
有时候需要更新jar包的一个文件,但又不想编译部署整个项目,就可以用以下方法更新。1. 在jar包中找到需要更新的文件路径jar -tvf nala-erp.jar | grep application-prod.yml2. 解压需要更新的文件,文件需要输入完整路径jar -xvf nala-erp.jar BOOT-INF/classes/application-prod.yml3. 修改完解压的文件后,需要把该文件更新回jar包。jar -uvf nala-erp.jar BOO.
2020-08-04 17:00:00
1306
原创 WINDOWS下 MAVEN编译jar包 运行后中文乱码
WINDOWS下 MAVEN编译jar包 运行后中文乱码原因解决方案原因WINDOWS中文操作系统编码为GBK,MAVEN安装后默认使用系统编码GBK,导致在编译UTF-8格式的源代码文件时出现编码不匹配的问题。解决方案设置windows环境变量Key: MAVEN_OPTSValue: -Xms256m -Xmx512m -Dfile.encoding=UTF-8设置完成后,进...
2019-11-01 13:16:35
1393
1
转载 解决dubbo不能优雅停机
摘要: 从源码角度解读为啥2.5.3版本不支持优雅停机,通过修改源码达到优雅停机现状dubbo-2.5.4以下的版本不支持优雅停机,是因为服务端关闭时,客户端主动关闭长连接,导致服务端响应消息不能返回。在服务端和客户端配置参数:-Ddubbo.service.shutdown.wait=30000,该参数为停机等待时间,但是结果也不生效,还是马上停机了。期望结果正在读或者写的消息,需要继续处理;线...
2018-03-09 10:01:32
8409
转载 JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
java application项目(非web项目)改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackSize=128-Xloggc:logs/gc.log-Dsun.rmi.dgc
2018-01-22 19:16:35
170
转载 JVM系列五:JVM监测&工具[整理中]
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java api来监测JVM的运行状态,并详细介绍各工具的使用方法。 需要监测的数据:(内存使用情况 谁使用了内存 GC的状况
2018-01-22 18:44:11
132
转载 JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同
2018-01-22 18:41:55
200
转载 JVM系列二:GC策略&内存申请、对象衰老
JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenu
2018-01-22 18:41:20
143
转载 JVM系列一:JVM内存组成及分配
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发
2018-01-22 18:29:32
154
转载 深入理解java线程池
原文出处: 海 子在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中
2018-01-16 22:06:42
132
转载 Java通过SSH2协议执行远程Shell脚本
Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 使用步骤如下:1.导包官网下载:http://www.ganymed.ethz.ch/ssh2/maven坐标: ch.ethz.ganymed ganymed-ssh2 build2102.apI说明
2018-01-15 01:21:40
3315
转载 java原生API生成Jar包
一、编译部分[java] view plain copy public void complier() throws IOException { System.out.println("*** --> 开始编译java源代码..."); File javaclassDir
2017-12-11 16:47:45
1506
转载 JAVA源文件动态编译
(转载)JAVA动态编译--字节代码的操纵在一般的Java应用开发过程中,开发人员使用Java的方式比较简单。打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了。这种开发模式背后的过程是:开发人员编写的是Java源代码文件(.java),IDE会负责调用Java的编译器把Java源代码编译成平台无关的字节代码(byte code),以类文
2017-12-06 20:18:43
2240
转载 SpringBoot的日志管理
SpringBoot的日志管理 SpringBoot关于日志的官方文档1、简述SpringBoot官方文档关于日志的整体说明本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官方文档,文中有说 SpringBoot 内部日志系统使用的是 Commons Logging 并且 SpringBoot 给 JDKLogging ,
2017-12-06 13:14:17
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人