Java学习中目前遇到的问题及注意点(一)

1.为什么需要了解内存分配?
(在网上查了一些资料后,有人认为不需要了解对象的放置安排,但也有人认为这很重要。《think in java》中详细解释了内存分配、存储数据,因此这方面的学习应该还是会很有帮助的。)
①能够容易找到一些潜在问题,方便debug
②能写出更高安全、低内存的程序。
③更容易理解面向对象这个概念。

2.为什么必须知道堆栈内所有项的生命周期?
项的生命周期就是这个项的作用域,例如:static是静态变量,修饰的项会贯穿整个程序的生命周期,final是不可改的常量,而方法内定义的会在方法结束后消亡。

3.浪费内存的操作
①在for或while中创建对象,例:

for(int i = 0;i<50;i++){
	Object s = new Object();
	s = i;
}

这样会声明50个s,会在内存中产生大量的对象应用,浪费大量的内存空间,而且增大了系统做垃圾回收的负荷。
应改为:

Object s = new Object();
for(int i = 0;i<50;i++){
	s = i;
}

②多次初始化一个对象,例:

public class A{
	Object o = new Object();
	public A(){
		o = new Object();
	}
}

4.static
一个static字段对于每个类来说都只有一份存储空间,而非static字段则对每个对象都有一个存储空间。

5.javadoc
①javadoc是用于提取注释的工具,输出的是一个HTML文件,格式为:以/*开头,以/结尾。
②只能为public和protected成员进行文档注释。

本文章大量从《Think in Java》、实践和网络中总结。

你可能感兴趣的:(java基础)