![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 73
一直往前不要停
这个作者很懒,什么都没留下…
展开
-
Java源码阅读--任重而道远(lang)
registerNatives:注册本地方法,请看超链接 private static native void registerNatives(); static { registerNatives(); }该方法还在System等其他地方有使用blog.csdn.net/chenyi8888/article/details/7070367 getClass();hash...原创 2018-01-13 00:39:40 · 339 阅读 · 0 评论 -
Java8-----系统复习及扫盲(3)--函数式编程学习
原文出处: 琴水玉 引子 将行为作为数据传递 怎样在一行代码里同时计算一个列表的和、最大值、最小值、平均值、元素个数、奇偶分组、指数、排序呢? 答案是思维反转!将行为作为数据传递。 文艺青年的代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...转载 2018-07-17 17:53:14 · 499 阅读 · 0 评论 -
Java8-----系统复习及扫盲(2)--Annotation
在开发Java程序,尤其是Java EE应用的时候,总是免不了与各种配置文件打交道。以Java EE中典型的S(pring)S(truts)H(ibernate)架构来说,Spring、Struts和Hibernate这三个框架都有自己的XML格式的配置文件。这些配置文件需要与Java源代码保存同步,否则的话就可能出现错误。而且这些错误有可能到了运行时刻才被发现。把同一份信息保存在两个地方,总是个...原创 2018-07-17 17:28:28 · 273 阅读 · 0 评论 -
Java8-----系统复习及扫盲(1)--Supplier及Proxy模式
很多时候我们需要加载一些文件,如配置之类,我们可以选择在系统初始化的时候就进行文件配置的加载也可以选择在需要这个文件的时候才进行加载。相比较两种加载方式,后者明显更为让人容易接受一些。在java8之前,我们需要加载配置文件及面临这种场景的时候,希望到需要运算和操作的时候才进行操作,我们用到的是代理模式。 关于代理模式如下:(这部分内容摘抄自https://www.cnblogs.com/ceny...原创 2018-07-17 17:05:23 · 926 阅读 · 0 评论 -
虚拟机类加载机制(深入理解JVM高级特性和最佳实践)
虚拟机规范规定了有且只有5种情况必须对类进行初始化(而加载验证准备自然需要在此之前)1)遇到new tetstatic putstatic或者invokestatic这四条字节码指令是,如果类没有进行过初始化,则需要触发初始化2)使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先触发初始化3)当初始化一个类的时候,如果发现父类还没有进行过初始化,...原创 2018-04-04 15:01:26 · 210 阅读 · 0 评论 -
虚拟机性能监控与故障处理工具(深入理解java虚拟机学习笔记)
jps虚拟机进程状况工具jstat虚拟机统计信息见识工具jinfo----java配置信息工具(重要)jmap:java内存映像工具jhat虚拟机堆转储快照分析工具jstack:java堆栈跟踪工具hsdis jit生成代码反汇编jdk可视化工具JConsoleVisual VM多合一故障处理工具...原创 2018-04-04 13:41:42 · 220 阅读 · 0 评论 -
垃圾收集器与内存分配策略(学习笔记深入理解java虚拟机)
GC需要完成的3件事情:哪些内存需要回收?什么时候回收?如何回收?如何怕暖对象已经死去、1、引用计数算法(无法解决循环引用的对象需要回收的问题) 引用计数器:给对象添加一个引用计数器,当有房引用它的时候就计数器值加1,否则就建议,当计算器为0的时候对象不能再使用,这种不可行,商用不可用,循环引用的对象需要被清除,无法解决2、可达性分析算法 通过对一些列称为GC ROOTs对象作为起始点...原创 2018-04-04 12:12:15 · 165 阅读 · 0 评论 -
虚拟机对象学习(学习笔记 深入理解java虚拟机)
对象创建:1、Java语言层面:new关键字2、1)虚拟机遇到一条new指令2)能否在常量池中定位到该符号引用,并且判断是否已被加载,解析和初始化过,如果已经加载解析初始化就进入第4),否则进入3)3)执行类的加载过程4)类加载检查完成后,虚拟机为新生对象分配内存,对象所需内存空间的大小在类加载完成后便可完全确定,分配的过程等同于将一块确定大小的内存从java对中划分出来。i)对内存分配方法ii)...原创 2018-04-04 11:22:10 · 172 阅读 · 0 评论 -
Java内存分区(深入理解java虚拟机学习笔记)
程序计数器: 1、较小的内存空间 2、看做当前线程所执行的字节码的行号指示器,对比汇编语言 3、线程独有4、如果线程正在执行一个java方法,计数器记录的是正在执行的虚拟机字节码指令地址5、如果执行的是native方法,则计数器为空Java虚拟机栈1、线程私有2、Java方法执行的内存模型,3、每个方法执行都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等...原创 2018-04-04 10:48:18 · 398 阅读 · 2 评论 -
简单的java获取系统的参数
刚开始想到的是使用网上开源的sigar.jar来做:最后同事提醒我该工具已经很久没有更新了,踌躇再三,决定使用网上的一些其他的方法:sigar.jar的方法实现(类似的方法网上实现有很多):package com.utils; import java.util.Arrays; import java.util.Collection; import java.util.Collections; i...原创 2018-03-09 19:32:25 · 920 阅读 · 0 评论 -
java源码阅读 Throwable
package com.wang.study; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class AboutThrowableStudy { private static class HelloException extends E...原创 2018-01-14 18:02:11 · 282 阅读 · 0 评论 -
Java源码阅读,System study
package com.wang.study; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream;原创 2018-01-14 17:08:44 · 215 阅读 · 0 评论