深拷贝与浅拷贝,多态的好处,内存泄露与内存溢出区别,枚举类,javaweb中libraries区别

来源:互联网 发布:php if else 简写 编辑:程序博客网 时间:2024/05/16 12:10

深拷贝与浅拷贝


1)深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。

2)浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。

注:系统提供的数组拷贝方法public static native void arraycopy(Object src,  int  srcPos,Object dest, int destPos,int length);就是浅拷贝


多态的好处


1)把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

2)便于实现程序的扩展性

3)灵活的改变父类引用的功能


内存泄露与内存溢出区别


1)内存泄露是指程序持有不在使用的对象的引用,从而导致该对象无法被回收的情况称为内存泄露;

2)内存溢出指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory。


枚举类


一个类的实例有限且固定,则这个类叫做枚举类。

1)使用private将构造器隐藏起来;

2)把这个类的所有实例都用publicstatic final修饰;

3)可以提供一些静态方法,允许其他程序根据特定参数来获取与之匹配的实例。


javaweb中libraries区别


1)JRE System Library主要存放J2SE的标准jar,一般不需要调整。

2)Referenced Libraries是存放第三方的jar包,也就是自己导入的jar包。在项目属性的Java Build Path中的Libraries中配置。

        这里导入和配置jar包,都是为了让web工程能够在eclipse开发环境可以正常编译,不报错而已。如果该web工程利用eclipse生成war包,

        是不会导出其jar包到WEB-INF/lib文件夹下的。

3)Web App Libraries的主要作用是让eclipse导出war包的时候,会把其目录下的所有jar或者项目中的工程引用都导出到WEB-INF/lib文件夹下。

        Web App Libraries中的jar包在eclipse中项目属性的Java EE Module Dependencies配置的。如果你勾上了,或者添加了外部jar包,

       都会在WEB-INF/lib文件夹下生成。当然,如果你直接在WEB-INF/lib文件夹下,copy一个jar进入,刷新一下,Web App Libraries也会自动增加

        一个jar的引用。简单说,Java EE Module Dependencies的配置只针对Web AppLibraries的。





0 0
原创粉丝点击