最新 最热

JVM性能调优

程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内...

2022-06-30
1

JAVA菜鸟教程(一)「建议收藏」

根据Java的应用范围,可以分为三个版本:Java SE、Java EE和Java ME。

2022-06-30
0

synchronized 与多线程的哪些关系

JVM 实现的 synchronizedJDK 实现的 ReentrantLock

2022-06-30
0

异常、堆内存溢出、OOM的几种情况

【情况一】:   java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;   如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:   < jvm-arg>-Xms3...

2022-06-30
0

基于污点分析的JSP Webshell检测

在11月初,我做了一些JSP Webshell的免杀研究,主要参考了三梦师傅开源的代码。然后加入了一些代码混淆手段,编写了一个免杀马生成器JSPHorse,没想到在Github上已收获500+的Star...

2022-06-30
1

深入分析GadgetInspector核心代码

GadgetInspector是Black Hat 2018提出的一个Java反序列化利用链自动挖掘工具,核心技术的Java ASM,结合字节码的静态分析。根据输入JAR包和JDK已有类进行分析,最终得到利用链...

2022-06-30
0

Java正确进行字符串编码转换

字符串在java中统一用unicode表示( 即utf-16 LE) , 对于 String s = "你好哦!";如果源码文件是GBK编码, 操作系统(windows)默认的环境编码为GBK,那么编译时, JVM将按照GBK编码将字节数组解析成字符,然后将字符转换为unico...

2022-06-30
1

Java String 性能和优化

在 Java 6 中,我们唯一可以做的优化就是通过增加 PermGen 内存空间来提供更多的存储。

2022-06-30
0

Java String 文字(Literal)和 对象(Object)初始化

当我们创建 String 对象的时候,如果使用 new() 的方式来创建一个 String 对象,JVM 将会每次都会在 heap 内存中为我们创建的 String 对象开辟一个存储空间来进行存储。...

2022-06-30
0

Java String 构造方法中的内存分配

因为构造 String 对象有几种不同的方法,我们可以通过直接赋值的方式构造 String 对象,我们也可以通过 new 的方式来构造一个 String 对象。

2022-06-30
0