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经典及细节总结

写代码: 1,明确需求。我要做什么?    分析的时候:从具体到抽象 2,分析思路。我要怎么做?1,2,3。 实现的时候:从抽象到具体 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 ...
  • sinat_24196195
  • sinat_24196195
  • 2015年11月12日 21:39
  • 1313

Java基础(容易忽略的java细节)

java基础片,大家经常忽略的一些细节性问题,在此分享一下public class Test1 { public static void main(String[] args) { ...
  • zhanggaofeixy
  • zhanggaofeixy
  • 2016年04月16日 14:02
  • 245

JAVA经典及细节总结

写代码: 1,明确需求。我要做什么?    分析的时候:从具体到抽象 2,分析思路。我要怎么做?1,2,3。 实现的时候:从抽象到具体 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 ...
  • sinat_24196195
  • sinat_24196195
  • 2015年11月12日 21:39
  • 1313

Java编程代码优化小细节

1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过...
  • lipei1220
  • lipei1220
  • 2014年02月10日 16:19
  • 1064

Java小的细节方面的整理与归纳

面试中对于Java有很多小的细节的考察,这里开一篇文章记录一下,顺便整理复习一下,也为以前的一些迷茫的地方进行一些填坑的操作。1.向上转型 形如A a=new B()的创建实例方式我们称之为向上转型...
  • qq_25991953
  • qq_25991953
  • 2016年03月26日 19:31
  • 187

Java基础(容易忽略的java细节)

java基础片,大家经常忽略的一些细节性问题,在此分享一下public class Test1 { public static void main(String[] args) { ...
  • zhanggaofeixy
  • zhanggaofeixy
  • 2016年04月16日 14:02
  • 245

那些隐藏的比较深的JAVA基本功装逼姿势,要面试的来看看

float f=3.4;是否正确? 答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类...
  • dodan
  • dodan
  • 2016年06月30日 22:08
  • 1241

看了好久java封装,终于得到了一个比较好的理解(非原创)

封装是指隐藏对象的属性和实现细节,仅仅对外公开接口。封装能为软件系统带来以下优点: (1)便于使用者正确的方便的理解和使用系统,防止使用者错误修改系统的属性。如果属性变为   public,...
  • dickieser
  • dickieser
  • 2015年06月09日 14:22
  • 357

『细节』是什么

图片来自网络,作者不详只要是职场人士,谈及『细节』二字估计很容易让人联想到『细节决定成败』这句话。由于这句话无人不知、无人不晓,以至于容易将『细节』误以为是口号。就我在工作中的感受,发现确实大多数人是...
  • hzliyun
  • hzliyun
  • 2015年09月05日 10:51
  • 5256

【Unity学习笔记】——基础篇:多细节层次LOD技术

LOD技术:即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率...
  • wwanrong
  • wwanrong
  • 2017年07月09日 11:30
  • 381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java细节总结
举报原因:
原因补充:

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