java细节总结

原创 2015年07月07日 15:53:49

1、抽象类可以被多个子类继承,但每个子类之恩那个继承一个抽象类。

2、java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。

当对象的引用变量被赋值为null,可能被当成垃圾。
3、用new String(src,"GBK")解码得到字符串,用getBytes("UTF-8")得到UTF8编码字节数组。
4、public void add(Byte b){ b=b++; } 这里涉及java的自动装包/自动拆包(AutoBoxing/UnBoxing) Byte的首字母为大写,是类,看似是引用传递,但是在add函数内实现++操作,会自动拆包成byte值传递类型,所以add函数还是不能实现自增功能。Byte类型值大小为-128~127之间。 add(++a);这里++a会越界,a的值变为-128。
5、常量池属于PermGen的。
6、在java.util包中提供了一些集合类,常用的有List、Set和Map类,其中List类和Set类继承了Collection接口。这些集合类又称为容器,长度是可变的,数组用来存放基本数据类型的数据,集合用来存放类对象的引用。 
List接口、Set接口、Map接口以及Collection接口的主要特征如下: 
  1. Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用。
  2. List接口继承了Collection接口,List接口允许存放重复的对象,排序方式为按照对象的插入顺序。 
  3. Set接口继承了Collection接口,Set接口不允许存放重复的对象,排序方式为按照自身内部的排序规则。 
  4. Map接口以键值对(key—value)的形式存放对象,其中键(key)对象不可以重复,值(value)对象可以重复,排序方式为按照自身内部的规则。
C:Vector实现了List接口,即间接实现Collection接口
D:Iterator是Java迭代器最简单的实现,没有实现Collection接口
7、java的编译过程先是java源程序扩展名为java的文件,由java编译程序将java字节码文件,就是class文件然后在java虚拟机中执行。机器码是由CPU来执行的。Java编译后是字节码, 电脑只能运行机器码。Java在运行的时候把字节码变成机器码。C/C++在编译的时候直接编译成机器码。
8、abstract修饰符用来修饰类和成员方法

1:用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化。

2:用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。

9、类方法就是静态方法。其它的就是实例方法

实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能访问实例变量。实例方法必须由实例对象来调用,而类方法除了可由实例对象调用外,还可以由类名直接调用。

另外,在类方法中不能使用 this 或 super。 关于类方法的使用,有如下一些限制:

     1 在类方法中不能引用对象变量。

     2 在类方法中不能使用super、this关键字。

     3 类方法不能调用类中的对象方法。

     与类方法相比,实例方法几乎没有什么限制:

     1 实例方法可以引用对象变量(这是显然的),也可以引用类变量。

     2 实例方法中可以使用super、this关键字。

     3 实例方法中可以调用类方法。

10、Java程序的种类有:

(a)内嵌于Web文件中,由浏览器来观看的_Applet

(b)可独立运行的 Application

(c)服务器端的 Servlets

11、javac一次可同时编译数个Java源文件,javac *.java. 即可编译当前目录下的所有java文件。javac.exe能指定编译结果要置于哪个目录(directory),-s指定存放生成的源文件的位置。

12、Java把数组当作一个java类来处理java是纯面向对象的语言,他的数组也是一个对象。

13、基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。对象和引用型变量被当作参数传递给方法时,是引用传递。在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。

14、,java语言中的方法属于对象的成员,而不是类(是静态的)。



版权声明: 举报

相关文章推荐

Java关键字final和static

1、final的基本用法 1.1、修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设...

细节之重——Java编程小感悟

最近在研究共词分析。看了不少算法,于是自习跃跃欲试,想用学了没多久的java进行实践。经过自认为周密的计划,我兴奋地开始实践,不想出师未捷,第一小步就遇到了找不出的错误。 第一步,我想实现,读入一个...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Java程序优化细节

下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。   1. 尽量在合适的场合使用单例   使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,...

Java面向对象前的知识细节总结与思考

JavaSE面向对象之前基础部分的细节总结思考。
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)