逐梦少年,看你能不能发现宝藏

? 局部变量:方法体{}中,形参,或代码块中{}中 局部变量是没有默认值的,
? 成员变量:类中方法外 成员变量是由默认值的 。ex:int i; 默认i=0;
? 类变量:有修饰的
? 实例变量:没有修饰的
? 2.对于不同变量可用的修饰符:
? 局部变量:final
? 成员变量:、、、final、、、(与线程有关系的 )、(关于序列化的)
? 3.值存储的位置
? 局部变量:存在 栈中
? 实例变量:存在 堆中
? 类变量:存在 方法区
? 4.作用域
? 局部变量:从声明处开始,到所属的 }结束
? 实例变量:在当前类中“this”(有时this,可以缺省) 。在其他类中“对象名. ”访问
? 类变量:在当前类中“类名. ”(有时类名,可以省略),在其他类中“类名. ”或“对象名.”.访问
? 5.生命周期
? 局部变量:每一个线程,每一次调用执行的都是新的生命周期
? 实例变量:随着对象的创建而初始化,随着对象的被回收而消亡,每一个对象的实例变量都是独立的 。
? 类变量:随着类的初始化而初始化,随着类的卸载而消亡,该类的所有对象的类变量都是共享的 。
堆(Heap),此内存区域的唯一目的就是存放对象实例的,几乎所有的对象实例都在里分配内存 。这一点在Java虚拟机规范中的描述是:所有的对象实例以及数字都要在堆上分配 。
通常我们所说的栈(Stack),是指虚拟机栈 。虚拟机用于存储局部变量表等 。局部变量表存放了编译器可知长度的各种基本数据类型(、byte、char、short、int、float、long、、)对象引用(类型,它不等同于对象本身,是对象在堆内存的首地址) 。方法执行完,自动释放 。
方法区( Area)用于存储已被虚拟机加载的类的信息、常量、静态变量、即时编译器编译后的代码等数据 。
当局部变量与成员变量或类变量重名时?如何区分?
1.局部变量与实例变量重名
? 在实例变量前面加“this
2.局部变量与类变量重名
? 在类变量前面加”类名.“
7.bean的作用域
? 在中,可以在元素的属性里设置bean的作用域,以决定这个bean时单实例的,还是多实例的 。
? 默认情况下,只为每个在IOC容器里声明的bean创建唯一一个实例,整个ioc容器范围内都能共享该实例:所有后续的()调用和bean引用都将返回这个唯一的bean实例 。该作用域称为,它是所有bean的默认作用域 。
类型说明
在容器中仅存在一个Bean实例,Bean以单实例的方式存在
每次调用()时,都会返回一个新的实例 。
每次HTTP请求都会创建以恶个新的Bean,该作用域仅适用于t环境
同一个HTTP 共享一个Bean,不同的HTTP 使用不同的Bean 。该作用域仅适用于t环境
public class Book {private String id;private String title;private String price;public Book() {System.out.println("Book对象被创建了");}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getPrice() {return price;}public void setPrice(String price) {this.price = price;}}public class SpringTest {public static void main(String[] args) {//创建IOC容器的对象ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");Book book = (Book)context.getBean("book");Book book2 = (Book)context.getBean("book");System.out.println(book == book2);}/*//创建IOC容器的对象ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");@Testpublic void testBook() {Book book = (Book)context.getBean("book");Book book2 = (Book)context.getBean("book");System.out.println(book == book2);}*/}