发表于: 2018-04-02 00:16:01
4 539
今天完成的任务
1,链表设计
链表相对于数组而言,可以不用提前开辟空间,可以可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。
2.Integer使用
Integer 是 int 包装类,int 是八大基本数据类型之一(byte,char,short,int,long,float,double,boolean) 使用Integer主要是因为面向对象思想,对象封装有多种好处,可以把属性也就是数据跟处理这些数据的方法结合在一起,此外JAVA中绝大部分方法和类都是用来处理类类型对象的,如ArrayList集合只能用类作为他的存储对象,即int得包装成integer才能用。
之间区别如下:
1、Integer 是类,默认值为null,int是基本数据类型,默认值为0;
2、Integer 表示的是对象,用一个引用指向这个对象,而int是基本数据类型,直接存储数值。
设计了如下程序作为比较
结果如右
总结如下:
1,Integer与new Integer不会相等,这个比较过程不会经历拆箱过程,new Integer的引用指向堆,而Integer指向专门存放他的内存(常量池),他们的内存地址不一样,所以为false
2,两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false
java在编译Integer c = 128的时候,被翻译成-> Integer c = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存
3,两个都是new出来的,都为false
4,int和integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比
3.Spring运行介绍
简单阐述下之前那个HelloSpring例程运行
当我们没有使用Spring的时候,调用sayHello()方法需要3步:
1. 创建一个HelloWorld的实例对象
2. 设置实例对象的name属性
3. 调用对象的sayHello()方法
使用Spring也需要3步:
1. 创建一个Spring的IOC容器对象
2. 从IOC容器中获取Bean实例
3. 调用sayHello()方法
然后我们探究了什么时候new的helloWorld对象,我们可以看出,Spring帮我们完成了前2步,也就是创建实例对象以及设置对象的属性,也就是说我们可以把对象的创建和管理工作交给Spring去完成,不需要自己去new对象,也不要去设置对象的属性,只要写好Spring的配置文件,Spring就可以帮我们去做,当我们需要对象的时候,直接去找Spring去要就行。
IOC容器
Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过 XML,Java 注释或 Java 代码来表示。我们这里用XML文件来配置
Spring 提供了以下两种不同类型的容器。
1,Spring BeanFactory 容器
它是最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。
在 Spring 中,有大量对 BeanFactory 接口的实现。其中,最常被使用的是 XmlBeanFactory 类。这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。
2,Spring ApplicationContext 容器
该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力。该容器是由 org.springframework.context.ApplicationContext 接口定义
明天计划
接着学JAVA,把服务器架好,Spring接着学习。
收获:链表,Integer类,Spring原理
评论