JDK10 新特性目录导航: 局部变量类型推断 将JDK多存储库合并为单储存库 垃圾回收接口 并行Full GC 的G1 应用数据共享 线程局部管控 移除Native-Header Generation Tool (javah) Unicode 标签扩展 备用内存设备上分配堆内存 基于实验JAVA ...
分类:
其他好文 时间:
2019-02-17 12:26:14
阅读次数:
303
一、实现Java多线程的方法 1、继承Thread类创建多线程 Thread类本质实现了Runnable接口。启动线程为start0()方法。是个native方法。 2、实现Runnable。一个类已经继承了Thread类就无法继承其它类。 3、实现Callable 如果运行完线程并且需要线程返回结 ...
分类:
编程语言 时间:
2019-02-07 12:08:02
阅读次数:
190
运行Java程序,javac运行.java文件没有报错,但java运行的时候报错 ??? 仔细看一下报错 Exception in thread "main" java.lang.UnsupportedClassVersionError: helloworld has been compiled b ...
分类:
编程语言 时间:
2019-02-03 14:23:37
阅读次数:
463
程序计数器: Java虚拟机栈 【示例1-1】: Java虚拟机栈内存溢出: Java方法执行动态内存模型图: 本地方法栈:与Java虚拟机栈的运行都是一致的,唯一的区别是:Java虚拟机栈为虚拟机执行Java方法服务,而本地方法栈为虚拟机执行native方法服务。 Java堆:是虚拟机中管理内存最 ...
分类:
编程语言 时间:
2019-01-28 10:52:55
阅读次数:
195
由于前几天做生成文档的功能大量用到了反射机制,所以我闲时看了一下java反射机制的原理,发现里面大量使用了代理模式(java方法的method.invoke()代理native方法的method.invoke,不在此文章展开),由于对代理模式有点陌生了。写这篇文章重新加深一下我对代理模式的理解。 代 ...
分类:
其他好文 时间:
2019-01-28 10:45:22
阅读次数:
179
兼容和文件读取顺序 arm64-v8a是可以向下兼容的,其下有armeabi-v7a,armeabi armeabi-v7a向下兼容armeabi 兼容得不够智能: 对于一个cpu是arm64-v8a架构的手机,它运行app时,进入jnilibs去读取库文件时,先看有没有arm64-v8a文件夹: ...
分类:
其他好文 时间:
2019-01-24 17:56:02
阅读次数:
186
JAVA调用动态链接库DLL的方法有:JNI(Java Native Interface),JInvoke,JNative(Java to native interface),JNI是JAVA自身提供的方法;JInvoke从何而来不得而知,好像还需要注册付费的,64位的JDK、JIR环境下运行不了, ...
分类:
编程语言 时间:
2019-01-24 14:29:29
阅读次数:
262
JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status Tool) 三、jstack命令(Java Stack Trace) 四、jstat命令(Java Vi ...
分类:
编程语言 时间:
2019-01-20 20:08:20
阅读次数:
194
常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。 一个对象可以属于多个root,GC root有几下种: Class - 由系统类加载器(system ...
分类:
其他好文 时间:
2019-01-20 20:03:44
阅读次数:
189
JVM下的内存分布: 1.程序计数器:每一个线程都有一个程序计数器,执行java方法时,计数器存放着正在执行的虚拟机字节码指令的地址,执行Native方法时,计数器为空。 2.栈:线程私有,生命周期与线程的生命周期相同,内存空间在编译期完成分配,运行时不会改变。 3.堆:堆是被所有线程共享的一块内存 ...
分类:
其他好文 时间:
2019-01-14 23:13:06
阅读次数:
217