Loading...
`g++ -fpic -I"/home/dou/software/jdk/jdk8u362-b09/include" -I"/home/dou/software/jdk/jdk8u362-b09/include/linux" -I"/home/dou/software/IdeaProjects/jniTest/src" -shared -o libhello.so hello.cpp ` `strace -k -tt -f -e "mmap,brk,munmap" -o strace.log g java -Djava.library.path="/home/dou/CLionProjects/jniTest" HelloJNI `
#include #include #include
#define BYTE 1024
int main(void) { int * p = sbrk(0); int * old = p;
p = sbrk(1024 * BYTE); if(p == (void *)(-1)){ perror("sbrk"); exit(EXIT_FAILURE); }
printf("old:\t%p\np:\t%p\n",old,p);
int * new = sbrk(0); printf("new:\t%p\n",new);
printf("pid=%d\n",getpid());
while(1); sbrk(-1024 * BYTE); return 0; }
Darwin/macOS没有Linux的inotify机制,而是有自己的实现FSEvents,并且在Mac OS X 10.7之前,FSEvents没有“监控”文件系统,Mac OS X 10.7 (Lion) 添加了注册文件修改通知的功能。
发现一个关于Linux Perfmance的网站:https://www.brendangregg.com/linuxperf.html
jinfo可以修改的参数(仅支持类型为manageable的参数): 可使用java -XX:+PrintFlagsFinal | grep manageable 来打印
intx CMSAbortablePrecleanWaitMillis = 100 {manageable} intx CMSTriggerInterval = -1 {manageable} intx CMSWaitDuration = 2000 {manageable} bool HeapDumpAfterFullGC = false {manageable} bool HeapDumpBeforeFullGC = false {manageable} bool HeapDumpOnOutOfMemoryError = false {manageable} ccstr HeapDumpPath = {manageable} uintx MaxHeapFreeRatio = 100 {manageable} uintx MinHeapFreeRatio = 0 {manageable} bool PrintClassHistogram = false {manageable} bool PrintClassHistogramAfterFullGC = false {manageable} bool PrintClassHistogramBeforeFullGC = false {manageable} bool PrintConcurrentLocks = false {manageable} bool PrintGC = false {manageable} bool PrintGCDateStamps = false {manageable} bool PrintGCDetails = false {manageable} bool PrintGCID = false {manageable} bool PrintGCTimeStamps = false {manageable}
SSE2指令集都出来这么多年了,Java17才改进strictfp =.=
R大真是行走的代码精 好多还没看明白的原理源码原来R大早就给出了答案
R大 永远滴神
我缓缓打出一个?
实践出真知
生命在于折腾
R大牛比,我要做R大的迷弟
其实目前Hotspot并没有实现真正意义上的栈上分配,实际上是标量替换
脑子真的笨啊
C2 编译器 64位 JVM默认编译器 采集1万次调用样本后深度优化 但每次GC,计算器会衰减一半 温热,总是达不到阀值,始终解析执行 禁止衰减: -XX:-UseCounterDecay
-----学到了学到了-------
最近闲着没事看了一下JIT里面的函数内联与逃逸分析,我发现JVM的设计师们是真滴屌.
第一次100% 龟龟
嘿嘿 今天状态不错
开始学习!
2017年毕业,目前在帝都(划去)->杭州搬砖的菜狗子一只。
大家就当无事发生过
`g++ -fpic -I"/home/dou/software/jdk/jdk8u362-b09/include" -I"/home/dou/software/jdk/jdk8u362-b09/include/linux" -I"/home/dou/software/IdeaProjects/jniTest/src" -shared -o libhello.so hello.cpp `
`strace -k -tt -f -e "mmap,brk,munmap" -o strace.log g java -Djava.library.path="/home/dou/CLionProjects/jniTest" HelloJNI `
#include
#include
#include
#define BYTE 1024
int main(void)
{
int * p = sbrk(0);
int * old = p;
p = sbrk(1024 * BYTE);
if(p == (void *)(-1)){
perror("sbrk");
exit(EXIT_FAILURE);
}
printf("old:\t%p\np:\t%p\n",old,p);
int * new = sbrk(0);
printf("new:\t%p\n",new);
printf("pid=%d\n",getpid());
while(1);
sbrk(-1024 * BYTE);
return 0;
}
Darwin/macOS没有Linux的inotify机制,而是有自己的实现FSEvents,并且在Mac OS X 10.7之前,FSEvents没有“监控”文件系统,Mac OS X 10.7 (Lion) 添加了注册文件修改通知的功能。
发现一个关于Linux Perfmance的网站:https://www.brendangregg.com/linuxperf.html

jinfo可以修改的参数(仅支持类型为manageable的参数):
可使用java -XX:+PrintFlagsFinal | grep manageable 来打印
intx CMSAbortablePrecleanWaitMillis = 100 {manageable}
intx CMSTriggerInterval = -1 {manageable}
intx CMSWaitDuration = 2000 {manageable}
bool HeapDumpAfterFullGC = false {manageable}
bool HeapDumpBeforeFullGC = false {manageable}
bool HeapDumpOnOutOfMemoryError = false {manageable}
ccstr HeapDumpPath = {manageable}
uintx MaxHeapFreeRatio = 100 {manageable}
uintx MinHeapFreeRatio = 0 {manageable}
bool PrintClassHistogram = false {manageable}
bool PrintClassHistogramAfterFullGC = false {manageable}
bool PrintClassHistogramBeforeFullGC = false {manageable}
bool PrintConcurrentLocks = false {manageable}
bool PrintGC = false {manageable}
bool PrintGCDateStamps = false {manageable}
bool PrintGCDetails = false {manageable}
bool PrintGCID = false {manageable}
bool PrintGCTimeStamps = false {manageable}
SSE2指令集都出来这么多年了,Java17才改进strictfp =.=
R大真是行走的代码精 好多还没看明白的原理源码原来R大早就给出了答案
R大 永远滴神
我缓缓打出一个?
实践出真知
生命在于折腾
R大牛比,我要做R大的迷弟
其实目前Hotspot并没有实现真正意义上的栈上分配,实际上是标量替换
脑子真的笨啊
C2 编译器
64位 JVM默认编译器
采集1万次调用样本后深度优化
但每次GC,计算器会衰减一半
温热,总是达不到阀值,始终解析执行
禁止衰减: -XX:-UseCounterDecay
-----学到了学到了-------
最近闲着没事看了一下JIT里面的函数内联与逃逸分析,我发现JVM的设计师们是真滴屌.
第一次100%
龟龟
嘿嘿 今天状态不错
开始学习!