web之家 |
|
||
2017年7月19日
摘要:
前言:这是一篇关于JVM内存区域的文章,由网上一些有关这方面的文章和《深入理解Java虚拟机》整理而来,所以会有些类同的地方,也不能保证我自己写的比其他网上的和书本上的要好,也不可能会这样。写博客的目的是为了个人对这方面自己理解的分享与个人的积累,所以有写错的地方多多指教。 看到深入两字,相信很多的 阅读全文
摘要:
一、Java类加载机制 1.概述 Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。 虚拟机把描述类的数据从cla 阅读全文
摘要:
为什么线程a的代码可以访问在线程b中实例化的对象c? 答案是:所有Java对象是在【堆】上分配的,而堆是所有线程可见的,只要线程a握有c对象的引用r,则通过r调用c的方法x完全是可行的,只不过这样一来,方法x就不是运行在线程b上,而是线程a上了! 其实,类(方法和数据)跟线程,一毛钱关系都没有。可以 阅读全文
摘要:
之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。 Java代码 package dynamic.pr 阅读全文
摘要:
new Class[0];就是传一个长度为1的Class数组过去。内容为null。 new Class[0]表示有零个元素的Class数组,即空数组,与传入null结果是一样的,都表示取得无参构造方法。 但是为什么传入它呢,不直接传入null呢? 很简单,如果你传入null,方法中有如下的循环:fo 阅读全文
摘要:
通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.newInstance() 以下对两种调用方式给以比较说明: Class.newInstance() 只能够调用无参的构造函数,即默认的构造函数; Constructor.newInstance() 阅读全文
|
Copyright © 2024 路修远而求索
Powered by .NET 9.0 on Kubernetes |