Java面试用基础

-------------------------------------------------------------------------------------------------------

Q:阐述一下类的明明规则、方法的命名规则、变量的命名规则、包名的命名规则、常量的命名规范?

A:在Java中,类的命名,方法的命名,变量的命名,包名的命名以及常量的命名首先必须符合Java标示符的命名规则,规则如下:

1)可以以字母、数字、"_"、"$"符组成;

2)首字符不能以数组开头;

3)中文可以作为变量名,但不提倡使用;

4)Java大小写敏感,命名变量时需要注意;

5)不能使用Java保留字,如:int,if,for,break等。

其次,类的命名,方法的命名,变量的命名,包名的命名以及常量的命名都要符合如下规范:

1)类命名规范:首字母大写,如果由多个单词合成一个类名,要求每个单词的首字母也要大写,如:HelloWorld。

2)方法命名规范:首字母小写,中间的每个单词的首字母都要大写,如:getName。

3)变量的命名规范:变量的命名规范和方法一样,首字母小写,中间的每个单词的首字母都要大写,如name。

4)包的命名规范:在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名是不会重复的,所以程序员一般采用自己在互联网上的域名作为自己程序包的唯一前缀。例如:com.sun.swt。一般公司命名会以com.公司名.项目名.模块名开头,所以会长一点,如:com.land.oa.emp.struts.action。

5)常量的命名规范:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,如:WEEK_OF_MONTH。

-------------------------------------------------------------------------------------------------------

Q:Java共有几种注释方法?

A:在Java中有三种注释类型:

1)单行注释符号是"//",只能注释一行;

2)块注释符号是"/**/",可以跨多行;

3)javadoc注释符号是"/** */",可以跨多行,而且生成javadoc时,这样的注释会被生成标准的JavaAPI注释。

-------------------------------------------------------------------------------------------------------

Q:如何增加代码的清晰度和客观性?

A:增加代码的清晰度和客观性常用的方式如下:

1)给代码添加注释;

2)类名包名等命名规范化,要做到见名知意;

3)缩进排版规范;

4)添加异常的处理;

5)使用测试类和测试方法。

-------------------------------------------------------------------------------------------------------

Q:Java中有两个关键字:void和null,它们有什么区别?

A:在Java中,void是修饰词,仅用于无返回值的方法上,例如:public void a(){},该方法不需要返回数据,故返回值类型设置为void。

  null则代表对象/变量的值,例如:String a = null;表明变量a没有被实例化,没有指向具体的内存地址。

-------------------------------------------------------------------------------------------------------

Q:Java中结构化程序设计有哪三种基本流程,分别对应哪些语句?

A:Java中结构化程序设计有三种基本流程,分别是顺序、选择、循环。其中顺序表示程序中的各操作是按照他们出现的先后顺序执行的;选择对应Java语言中的if语句和switch语句;循环对应Java语言中的for语句、do-while语句以及while语句。

-------------------------------------------------------------------------------------------------------

Q:&和&&的区别?

A:&和&&都可以执行关系判断。二者的区别是:&运算是把逻辑表达式全部计算完,而&&运算具有短路计算功能。短路计算是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。

-------------------------------------------------------------------------------------------------------

Q:写出Java中8中原始类型及其字节长度?

A: byte—————1字节(8位)—————储存一个字节数据

  short—————2字节(16)—————兼容性考虑,一般不用

  int——————4字节(32位)————存储整数(常用)

  long—————8字节(64)—————存储长整数(常用)

  float—————4字节(32)—————存储浮点数

  double————8字节(64)—————存储双精度浮点数(常用)

  char—————2字节(16位)————存储一个字符

  boolean———1字节(8)——————存储逻辑变量(true,false)

-------------------------------------------------------------------------------------------------------

Q:请描述一下JVM加载class文件的原理机制?

A:JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的运行时系统组件,它负责在运行时查找和装入类文件中的类。

 

-------------------------------------------------------------------------------------------------------

Q:你对软件开发中迭代的含义的理解?

A:软件开发中,各个开发阶段都不是顺序执行的,而各个阶段都进行迭代,然后再进入下一阶段的开发。这样对于开发中的需求变化,及人员变动都能得到更好的适应。(不理解)

-------------------------------------------------------------------------------------------------------

Q:什么是进程?

A:进程是操作系统结构的基础,是一个计算机中正在运行的程序实例。可以分配给处理器并由处理器执行的一个实体,由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。(理解一点点)

-------------------------------------------------------------------------------------------------------

Q:1.什么是垃圾回收?2.什么时候触发垃圾回收?3.如何降低垃圾回收的触发频率?4.它能保证程序有足够的可用内存吗?

A:1)垃圾回收(GC)是Java语言的一个重要特性,作用是释放不再被使用的内存;

   2)垃圾回收由系统进行管理。在系统认为需要的时候自动启动一个线程进行处理;

   3)尽量减少垃圾内存,也就是新建对象的数量,可以降低垃圾回收的频率;

     4)垃圾回收机制无法保证有足够的内存。  

参照 http://jeromecen1021.blog.163.com/blog/static/18851527120117274624888/

-------------------------------------------------------------------------------------------------------

Q:Java中会存在内存泄露吗,请简单描述?

A:

posted @ 2016-03-22 22:58  名字可以这么短  阅读(186)  评论(0编辑  收藏  举报