代码原理
linhao19891124
这个作者很懒,什么都没留下…
展开
-
内存堆和栈区别
当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中; 当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复使用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。 堆内存中的对象不会随方法的结束而销毁,即使方法结束后,原创 2016-10-23 22:40:57 · 396 阅读 · 0 评论 -
java成员变量和局部变量的初始化和内存中的运行机制
成员变量: 当系统加载类或创建类的实例时,系统会自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。eyeNum是类属性。name是实例属性所有person实例访问eyeNum都将访问person类的eyeNum属性。访问的是同一块内存。如果通过实例修改类属性,所有实例访问时都会改变。局部变量:局部变量定义后,必须经过显示原创 2016-10-24 22:10:08 · 3588 阅读 · 0 评论 -
什么是闭包
闭包并不是一个很好说明白的概念,看了知乎上大神的解释,总结下1,对象是带方法的数据,而闭包是带数据的方法后半句的数据特指外部数据计算机程序可以粗略的分成,代码+数据。初学者很容易就会将这两者对立起来,会认为代码就是代码,数据就是数据,两者是完全不同的。但实际上,两者可以统一起来的。将代码跟数据统一起来,是学习计算机编程的一道门槛。将数据保存起来,以后再使用,会觉原创 2016-12-04 21:40:17 · 546 阅读 · 0 评论 -
java静态方法可以重写吗?
abstract class SuperClass{ public static void sayHello(){ System.out.println("hello,superclass"); }}class ChildClass extends SuperClass{ public static void sayHello(){ S原创 2017-02-19 18:20:57 · 467 阅读 · 0 评论