1. JVM中的存储空间分配
栈:局部变量;
堆:new出来的结构、对象的非static属性;
方法区:类的加载信息、常量池、静态区
2. 匿名对象
只能调用一次
3.
int[] arr = new int[] {1,2,3};
char[] arr1 = new char {'a','b','c'};
system.out.println(arr); //输出地址值
system.out.println(arr1); //输出abc
4. JavaBean指符合如下标准的类:
a. 类是公共的
b. 有一个无参的公共构造方法
c. 有属性,且有对应的get、set方法
5. UML类图
6. MVC设计模式
MVC将整个程序分为3个层次:试图模型层,控制器层,数据模拟层。这种将程序输入输出、数据处理、以及数据的展示分离开来的设计模式使程序结构变得灵活而清晰,同时也描述了程序各个对象间的通讯方式,降低了程序的耦合性。
模型层 Model - 主要处理数据
- 数据对象封装 model.bean/domain
- 数据库操作类 model.dao
- 数据库 model.db
试图层 View - 显示数据
- 相关工具类 view.utils
- 自定义view view.ui
控制层 Controller - 处理业务逻辑
- 应用界面相关 controller.activity
- 存放fragment controller.fragment
- 显示列表的适配器 controller.adapter
- 服务相关的 controller.service
- 抽取的基类 controller.base
7. Eclipse快捷键
8. 单例设计模式(某个类只有一个对象实例)
a. 饿汉式:
//1.构造方法是private的
//2.内部创建类的对象
//4.要求此对象也必须声明为静态的
private static Bank instance = new Bank();
//3.提供公共的静态的方法返回类的对象
public static Bank getInstance(){
return instance;
}
b. 懒汉式:
//1.构造方法是private的
//2.先声明当前类的对象
//4.要求此对象也必须声明为静态的
private static Bank instance = null;
//3.声明public、static的返回当前对象的方法
public static Bank getInstance(){
if(instance == null)
instance = new Bank();
else
return instance;
}
两者的区分:
饿汉:(缺点)对象加载的时间长;(优点)是线程安全的;
懒汉:better。(缺点)以上写法不太安全,加个锁可以提高安全性;(优点)延迟创建对象。
单例的应用场景:网站的计数器、应用程序的日志应用、数据库连接池、项目中读取配置文件的类、Windows系统里的回收站等。
9. JDK JVM JRE的区别和联系