2017年5月21日 晴 星期日

Admin比想象的难用很多,可能是因为兼容性不好,每次必须要跳一格使用才能正常的显示。所以还颇有些难搞。

今天跟室友聊了一些关于java反射的东西,还专门去csdn上去找些资料,然后发现有人说看源码更好,于是我准备看一些源码了。但是书上的反射还是要看的。

正在看java编程思想,第一章就是关于一切皆对象,里面说到了java数据的存储位置。变量,作者称之为句柄hanler,句柄与对象的关系就像是遥控器和电视机的关系。之所以句柄存在类型。就好比指定型号的遥控器才能操作制定的机器。电视的遥控器只能操作电视,空调的只能操作空调。

而句柄的存储位置也与对象不同,句柄存储在堆栈中,而对象存在于内存堆中。堆就是一个沙堆一样,最开始的那一点沙子放在了沙堆的最底部,想要拿走他就不得不将所有的其他沙子弄走。而堆栈则更像一个单向的水管。最先进入的水,最先就流出了水管。很明显,水管中存入的水十分有限,想要存入更多的水,最初的部分就必须离开。而堆就像沙堆一样可以无限的堆叠。

static的修饰的数据,则存入了静态存储区域,这块区域的数据再程序运行中将始终保持数据的存放。理论上说静态区域是java运行时中最先存入的区域。这也是为什么static程序块的执行序列如此靠前的原因。