搜档网
当前位置:搜档网 › Java企业面试题填空题及标准答案

Java企业面试题填空题及标准答案

Java企业面试题填空题及标准答案
Java企业面试题填空题及标准答案

Java企业面试题填空题及答案

————————————————————————————————作者:————————————————————————————————日期:

Java填空题

1 一个Java源程序是由若干个类组成。

2 class 是Java的关键字,用来定义类。

3 Java应用程序中有多个类时,java命令后的类名必须是包含了main 方法的那个类的名字。

4 一个Java应用程序必须且只有一个类含有main 方法。

5 在一个Java应用程序中main方法必须被说明为public static void 。

6 Java中所有程序都使用方法,应用程序以main 方法开始。

7 Java源文件中有多个类,但只能有一个类是public 类。

8 Java源程序编译后生成的字节码文件扩展名为class 。

9 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

10 Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。

11 关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把这类词作为名字来用。

12 使用关键字boolean 来定义逻辑变量。

13 关键字就是Java语言中已经被赋予特定意义的一些单词。

14 结构化程序设计的基本数据类型包括逻辑类型、整数类型、字符类型、浮点类型。

15 Java中byte型数组在内存中的存储形式是补码。

16 对于int型变量,内存分配 4 个字节。

17 对于byte型变量,内存分配 1 个字节。

18 对于long型变量,内存分配8 个字节。

19 对于short型变量,内存分配 2 个字节。

20 结构化程序设计的基本数据类型包括整数类型、逻辑类型、字符类型、浮点类型。

21 使用关键字char 来定义字符变量。

22 结构化程序设计的基本数据类型包括字符类型、逻辑类型、整数类型、浮点类型。

23 java中,浮点型变量的类型有float和double 两种。

24 对于float型变量,内存分配 4 个字节。

25 对于double型变量,内存分配8 个字节。

26 结构化程序设计的基本数据类型包括浮点类型、逻辑类型、整数类型、字符类型。

27 Java使用Unicode 字符集。

28 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括逻辑类型和字符类型。

29 混合运算中不同类型的数据先转化为同一类型,然后运算,其中不包括字符类型、逻辑类型。

30 当把级别高的变量的值赋予级别低的变量时,必须使用强制类型转换。

31 Java中关系运算符的运算结果是boolean 型。

32 Java中逻辑运算符的操作元必须是boolean 型数据。

33 整数类型数据在内存中以二进制的方式表示。

34 Java语言的控制语句有3种类型,即条件语句、循环语句、和转移语句。

35 Java中有两种类型的控制语句即if和switch 。

36 Java语言的控制语句有3种类型,即条件语句、循环语句、和转移语句。

37 Java中的语句可分为方法调用语句、表达式语句、复合语句、控制语句和package 语句和import语句。

38 Java中的语句可分为方法调用语句、表达式语句、复合语句、控制语句、package语句和import 语句。

39 在同一个switch语句中,case后的常量值必须互不相同。

40 do-while循环和while循环的区别是do-while循环体至少被执行一次。

41 在循环体中,如果想结束本次循环可以用continue 语句。

42 在循环体中,如果想跳出循环,结束整个循环可以用break 语句。

43 面向对象编程序主要有封装性、继承性、多态性的特点。

44 面向对象编程序主要有封装性、继承性、、多态性的特点。

45 面向对象编程序主要有封装性、继承性、多态性的特点。

46 类是组成Java程序的基本要素,封装了一类对象的状态和方法。

47 类的实现包括两部分:类声明和类体。

48 类是组成Java程序的基本要素

49 类体有两部分构成:一部分是变量的定义,另一部分是方法的定义。

50 类体有两部分构成:一部分是变量的定义,另一部分是方法的定义。

51 在类体中,变量定义部分所定义的变量称为类的成员变量。

52 成员变量在整个类内都有效,局部变量只在定义它的方法内有效。

53 Java中成员变量又分为实例成员变量和类成员变量。

54 Java中成员变量又分为实例成员变量和类成员变量。

55 写类的目的是为了描述一类事物共有的属性和功能。

56 写类的目的是为了描述一类事物共有的属性和功能。

57 成员变量和局部变量的类型可以是Java中的任何一种数据类型。

58 用修饰符static 说明的成员变量是类变量。

59 变量的名字与成员变量的名字相同,则成员变量被隐藏,该成员变量在这个方法内暂时失效。

60 用修饰符static说明的成员变量是类变量。

61 如果局部变量的名字与成员变量的名字相同,成员变量将被隐藏。

62 方法定义包括两部分:方法声明和方法体。

63 在Java中,当一个方法不需要返回数据时返回类型必须是void 。

64 方法重载是指,一个类中可以有多个方法具有相同的名字和类型,但这些方法的参数必须不同。

65 在Java程序语言中,它允许在一个class中有几个方法,都有相同的名字,这种用法称为方法重载。

66 构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并不返回任何数据类型。

67 Java中类的方法分为实例方法和类方法。

68 Java中类的方法分为实例方法和类方法。

69 因为类体的内容由成员变量的定义和成员方法的定义两部分组成,对成员变量的操作只能放在成员方法中。

70 java中构造方法与类名相同,没有返回值,在创建对象实例时由new运算符自动调用。

71 在类方法中只能调用类变量和类方法,不能调用实例方法。

72 实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操

作。

73 Java中类是创建对象的模板。

74 当使用一个类创建了一个对象时,我们也说给出了这个类的实例。

75 Java中用类创建一个对象包括对象的声明和为对象分配内存两个步骤。

76 对象声明的一般格式为类名对象名。

77 一个类通过使用new 运算符可以创建多个不同对象,这些对象将分配不同得内存空间。

78 一个类通过使用new运算符和类的构造方法为声明的对象分配内存。

79 对象创建完后,通过使用运算符“.”,对象可以实现对变量的访问和方法的调用。

80 Java中不同对象的实例变量将被分配不同的内存空间。

81 Java中如果类中的成员变量有类变量,那所有的对象的给这样的变量分配给相同的一处内存。

82 类方法和实例方法的区别在于类方法不但可以由对象调用还可以直接由类名调用,而实例方法却不可以。

83 类方法方法不但可以由对象调用还可以直接由类名调用,而实例方法却不可以。

84 类体中的方法分为:实例方法和类方法。

85 类体中的方法分为:实例方法和类方法

86 package 语句作为java源文件的第一条语句指明该源文件定义的类所在的包。

87 在java程序中,系统会自动引入https://www.sodocs.net/doc/2a16028553.html,ng这个包,因此不需要再使用import 语句引入该包。

88 在java程序中,为了使程序能够使用自定义的包,必须在classpath 环境变量中指明自定义包的位置。

89 https://www.sodocs.net/doc/2a16028553.html,ng 包是java语言的核心类库,它包含了运行java程序必不可少的系统类。

90 为了能使用Java提供的类,我们可以使用语句import 来引入所需的类。

91 Java中用private 修饰的成员变量和方法称为私有变量和私有方法。

92 Java中不用修饰的成员变量称为友好变量。

93 访问权限是私有变量,只能在本类中使用,不能在类外使用。

94 Java中用public 修饰的成员变量和方法称为共有变量和共有方法。

95 访问权限是共有变量,不但在本类中使用,还可以在任何另外一个类中使用。

96 访问权限是友好变量,只能在本类和与本类同一个包中的其他类使用。

97 继承是一种由已有的类创建新类的机制。

98 Java中由继承而得到的类称为子类,被继承的类称为父类。

99 Java中不支持多重继承。

100 在类的声明中,通过使用关键字extends 来创建一个类的子类。

101 Java中一个类可以有 1 个父类。

102 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object 类的子类。

103 子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量。

104 当子类中定义的成员变量和父类中的成员变量同名时,子类的成员变量隐藏了父类的成员变量。

105 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。

106 对于重写或继承的方法,Java运行时系统根据调用方法的实例的类型来选择调用哪个方法。

107 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类的方法。

108 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用父类的方法。

109 在Java语言中多态性体现在由方法重载实现的静态多态性和方法重写实现的动态多态性。

110 final 类不能被继承,即不能有子类。

111 abstract 类不能创建对象,必须产生其子类,由子类创建对象。

112 如果一个方法被修饰为final 方法,则这个方法不能被重写。

113 对于abstract 方法,只允许声明,而不允许实现。

114 如果一个方法被修饰为final方法,则这个方法不能被重写。

115 如果一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。116 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this 。

117 在关键字中能代表当前类或对象本身的是this 。

118 如果在子类中想使用被子类隐藏的父类的成员变量或方法可以使用关键字super 。119 子类如果想用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super 来表示。

120 如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super 。

121 Java中为了克服单继承的缺点,使用了接口,一个类可以实现多个接口。

122 接口就是方法定义和常量值的集合。

123 使用关键字interface 来定义接口。

124 接口定义包括接口的声明和接口体。

125 一个类通过使用关键字implements 声明自己实现一个或多个接口。

126 如果一个类实现了某个接口,那么这个类必须实现该接口的所有方法。

127 接口中的方法被默认的访问权限是public 。

128 接口的定义包括接口声明和接口体。

129 定义接口时,接口体中只进行方法的声明,不允许提供方法的实现。

130 如果接口中的方法的返回类型不是void的,那么在类中实现该接口的方法时,方法体至少要有一个return 语句。

131 内部类指那些类定义代码被置于其他类定义中的类。

132 泛型是Java SE5.0的新特性。

133 创建对象常用的方法就是使用new 运算符和类的构造方法。

134 把Java应用程序中涉及到的类压缩成一个jar 文件。

135 数组是相同类型的数据按顺序组成的一种引用数据类型。

136 Java中定义数组后通过数组名加数组下标,来使用数组中的数据。

137 Java中声明数组包括数组的名字、数组包含的元素的数据类型。

138 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正的使用数组还必须为它分配内存空间。

139 一维数组通过下标符访问自己的元素,需要注意的是下标从0 开始。

140 创建数组后,系统会给每一个数组元素一个默认的值,如float型是0 。

141 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正地使用数组还必须为它分配内存空间。

142 数组声明后,必须使用new 运算符分配内存空间。

143 Java中使用https://www.sodocs.net/doc/2a16028553.html,ng包中的String 类来创建一个字符串变量,因此字符串变量是类类型变量,是一个对象。

144 创建一个字符串时,使用String类的构造方法。

145 String 类是不可变类,对象所包含的字符串内容永远不会被改变。

146 StringBuffer 类是可变类,对象所包含的字符串内容可以被添加或修改。

147 使用String类的length() 方法可以获取一个字符串的长度。

148 可以使用String类的startsWith(String s) 方法判断一个字符串的前缀是否是字符串s。

149 可以使用String类的endsWith(String s) 方法判断一个字符串的后缀是否是字符串s。

150 可以使用String类的equals(String s) 方法比较一字符串是否与字符串s相同。151 字符串调用indexOf(String s) 方法从当前字符串的头开始检索字符串s,并返回首次出现

s 的位置。

152 字符串调用indexOf方法检索字符串s,并返回首次出现s 的位置。如果没有检索到字符串s,该方法返回的值是-1 。

153 一个字符串s 通过调用方法trim() 得到一个字符串对象,该字符串对象是s 去掉前后空格后的字符串。

154 https://www.sodocs.net/doc/2a16028553.html,ng 包中的Integer 类调用其类方法:

parseInt 可以将“数字”格式的字符串,如“12387”,转化为int 型数据。

155 可以使用https://www.sodocs.net/doc/2a16028553.html,ng包中的Integer 类将形如“12387”的字符串转化为int型数据。156 可以使用https://www.sodocs.net/doc/2a16028553.html,ng包中的Long 类将字符串转化为long型数据。

157 可以使用String类直接调用valueOf 方法将数值转化为字符串。

158 StringBuffer类调用方法,toString() 返回缓冲区内的字符串。

159 Object类有一个public方法是toString ,一个对象通过调用该方法可以获得该对象的字符串表示。

160 Object 类是所有Java 类的最终祖先,如果一个类在声明时没有包含extends 关键词,那么这个类直接继承Object类。

161 对于一个已经不被任何引用变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的finalize() 方法。

162 每个Java 基本类型在https://www.sodocs.net/doc/2a16028553.html,ng 包中都有一个相应的包装类,把基本类型数据转换为对象。

163 在Java 集合中不能存放基本类型数据,如果要存放数字,应该使用包装类型。164 Character 类和Boolean 类直接继承Object 类,除此以外,其他包装类都是java.Number 的直接子类。

165 包装类都覆盖了Object 类的toString() 方法,以字符串的形式返回包装对象所表示的基本类型数据。

166 所有的包装类都是final 类型,因此不能创建它们的子类。

167 Math 类提供了许多用于数学运算的静态方法。

168 Math 类是final 类型的,因此不能有子类。

169 Random 类提供了一系列用于生成随机数的方法。

170 Date 类以毫秒数来表示特定的日期。

171 java.text.DateFormat 抽象类用于定制日期的格式,它有一个具体子类为

SimpleDateFormat 。

172 BigDecimal 类能够进行浮点数的精确加法、减法和乘法运算,对于浮点数的除法运算,可以满足用户指定的精度。

173 异常处理方法是一种非常有用的辅助性程序设计方法。采用这种方法可以使得在程序设

计时将程序的正常流程与错误处理分开,有利于代码的编写和维护。

174 按异常在编译时是否被检测来分,异常可以分为两大类:受检异常与非受检异常。175 程序可以处理的异常对应的类是Exception 及其子类。

176 抛出异常可以利用throw 语句。

177 处理异常的方式有两种:捕捉异常方式与转移异常方式。

178 捕捉异常方式是通过try-catch-finally 结构处理异常。

179 在try-catch-finally 结构中,finally 语句块一般总是会被执行,不管有没有异常产生。180 异常处理流程中,其中try 代码块包含了可能发生异常的程序代码。

181 异常处理流程中,其中catch 代码快紧跟在try 代码块后面,用来捕获并处理异常。182 异常处理流程中,其中finally 代码块用于释放被占用的相关资源。

183 对于程序中可能出现的受检查异常,要么用try…catch 语句捕获并处理它,要么用throw 语句抛出它,Java 编译器会对此做检查。

184 File 对象调用方法mkdir() 创建一个目录。

185 文件输入流(输入流的子类)提供对文件的存取。为了读取文件,使用文件输入流构造方法来打开一个到达该文件的输入流。

186 输入流试图要打开的文件可能不存在,就出现I/O 错误,Java 生成一个出错信号,它使用一个IOException 对象来表示这个出错信号。

187 read 方法给程序提供一个从输入流中读取数据的基本方法。

188 read 方法从输入流中顺序读取源中的单个字节数据,该方法返回字节值(0~255 之间的一个整数),如果到达源的末尾,该方法返回-1 。

189 虽然Java 在程序结束时自动关闭所有打开的流,但是当我们使用完流后,显式地关闭任何打开的流仍是一个良好的习惯。

190 在操作系统把程序所写到输出流上的那些字节保存到磁盘上之前,内容有时被存放在内存缓冲区中,通过调用close() 方法,可以保证操作系统把流缓冲区的内容写到它的目的地。

191 https://www.sodocs.net/doc/2a16028553.html,ng 包中的System 类有两个重要的类成员:in 和out ,分别是输入流和输出流类型的对象。

192 FileInputStream 使用字节读取文件,不能直接操作Unicode 字符。

193 RandomAccessFile 类中用seek 方法,来定位RandomAccessFile 流的读写位置。194 Java的抽象窗口工具包中包含了许多类来支持GUI 设计。

195 JButton类、JLabel类是包javax.swing中的类,并且是javax.swing包中的JComponent 的子类。

196 Java把有JComponent类的子类或间接子类创建的对象称为一个swing 组件。

197 javax.swing包的类JPanel 是用来建立面板的。

198 javax.swing包中的JScrollPane 类也是JContainer类的子类,该类创建的对象也是一个容器,称为滚动窗口。

199 javax.swingt包中的JFrame 类或子类所创建的一个对象就是一个窗口。

200 Java程序中可以向容器添加组件,一个容器可以使用add() 方法将组件添加到该容器中。

201 在组件类的一些常用方法中setBackground 方法是设置组件的背景颜色。

202 在组件类的一些常用方法中setForeground 方法是设置组件的前景颜色。

203 Java中JFrame类的setTitle 方法是用来设置窗口的名字。

204 JFrame类创建的对象是一个窗口容器,它默认布局是BorderLayout 布局。

205 JPanel 的默认布局管理器是FlowLayout 。

206 Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、CardLayout、GridLayout 和GridBagLayout。

207 Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、CardLayout 、GridLayout和GridBagLayout。

208 FlowLayout 对应的布局是容器将其中的组件按照加入的先后顺序从左向右排列。209 BorderLayout 对应的布局是把容器内的空间简单地划分为东、西、南、北、中5个区域,每加入一个组件都应该指明把这个组件加在哪个区域中。

210 GridLayout 是使用较多的布局编辑器,其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中。

211 FlowLayout、GridLayout、BordrLayout布局对象都可以使用方法setVgap(intvgap)设置当前布局中组件的垂直间距。

212 FlowLayout、GridLayout、BordrLayout布局对象都可以使用方法setHgap(inthgap)设置当前布局中组件的水平间距。

213 使用CardLayout 布局的容器可以容纳多个组件,但实际上同一时刻容器只能从这些组件中选出一个来显示。

214 Java中能够产生事件的对象都可以成为事件源,如文本框、按钮、键盘等。

215 Java中事件源发生事件时,监视器就自动调用执行被类实现的某个接口方法。216 当用户与GUI 交互,比如移动鼠标、按下鼠标键、单击Button 按钮、在文本框内输入文本、选择菜单项或者关闭窗口时,GUI 会接受到相应的事件。

217 Java中,监听器负责接收和处理这种事件。

218 Java中为了能监视到ActionEvent类型的事件,事件源必须使用addActionListener() 方法获得监视器。

219 只要用户单击JButton,就会触发一个

ActionEvent 事件,该事件被监听器接收,它的方法actionPerformed() 被执行。

220 在监听类的事件处理方法中通过事件类的getSource() 方法来获得事件源。

221 Java的java.awt.event 包中包含了许多用来处理事件的类和接口。

222 鼠标事件类MouseEvent中的方法getSource()是获取发生鼠标事件的事件源。223 使用MouseListener接口处理鼠标事件,事件源发生的鼠标事件有5种,按下鼠标键、释放鼠标键、点击鼠标键、鼠标进入和鼠标退出。

224 鼠标事件的类型是MouseEvent ,即当发生鼠标事件时,该类自动创建一个事件对象。

225 使用MouseListener接口处理鼠标事件,鼠标事件源发生的鼠标事件包括,按下鼠标键、释放鼠标键、单击鼠标键、鼠标进入和鼠标退出。

226 MouseMotionListener 和MouseListener 都监听MouseEvent 事件。

227 javax.swing包中的JButton 类专门用来建立按钮,即它的实例对象就是一个按钮。228 在JButton类中,getText() 方法是用来获取按钮上的名字。

229 在javax.swing中JLabel 类使用来创建标签的,即它的一个实例就是一个标签。230 在javax.swing包中的JTextField 类是专门用来建立文本框,它的一个对象就是一个文本框。

231 Java中文本框类的setText(Strings) 方法是在文本框中设置文本。

232 Java中文本框类的getText() 方法是获取文本框中的文本。

233 Java中标签类的setText(Strings) 方法是设置标签的名字。

234 Java中标签类的getText() 方法是获取标签的名字。

235 Java中JTextArea 类是专门用来建立文本区的,即它的一个对象就是一个文本区。236 javax.swing包中的JCheckBox 类是专门用来建立选择框的。

237 在JCheckBox类中,isSelected 方法是用来返回选择框的布尔状态。

238 javax.swing包中的类JList 类是专门用来建立列表框。

239 对话框与一般窗口的区别在于它必须依赖于其他窗口。

240 对话框分为两种,如果有模式对话框被显示,那么其他窗口都处于不活动状态,只有当用户关闭了对话框,才能操纵其他窗口。

241 对话框分为两种,如果无模式对话框被显示,其他窗口照样处于活动状态。

242 在对话框类Dialog中的方法setModal(boolean)的作用是设置对话框的模式。

243 在对话框类Dialog中的方法setSize() 是设置对话框的大小。

244 对话框的默认布局是BorderLayout 布局,在创建对话框时必须有对话框大小的设置。

245 FileDialog 是Dialog类的子类,它创建的对象称为文件对话框。

246 FileDialog是Dialog类的子类,它创建的对象称为文件对话框。

247 Java开发程序大多是单线程的,即一个程序只有一条从头至尾的执行线索。

248 多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况。

249 线程是指进程中的一个执行流程。

250 一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。

251 每个java程序都有一个默认的主线程。

252 对于java应用程序,主线程都是从main 方法执行的线索。

253 在java中要想实现多线程,必须在主线程中创建新的线程对象。

254 当一个线程处于创建状态时,它仅仅是一个空的线程对象,系统不为它分配资源。255 一个正在执行的线程可能被人为地中断,让出CPU 的使用权,暂时中止自己的执行,进入阻塞状态。

256 处于死亡状态的线程不具有继续运行的能力。

257 处于就绪状态的线程首先进入就绪队列排队等候处理器资源,同一时刻在就绪队列中的

线程可能有多个。

258 在线程排队时,优先级高的线程可以排在较前的位置,能优先享用到处理器资源,而其他线程只能排在它后面再获得处理器资源。

259 对于优先级相同的线程,遵循队列的先进先出原则被分配给处理器资源。

260 Java语言使用Thread 类及其子类的对象来表示线程。

261 线程调度管理器负责管理线程排队和处理器在线程间的分配,一般都配有一个精心设计的线程调度算法。

262 在java系统中,线程调度依据优先级基础上的先到先服务原则。

263 当生成一个Thread 类的对象之后,一个新的线程就产生了。

264 Java 中编程实现多线程应用有两种途径:一种是用Thread 类的子类创建线程,另一种是

用Thread 类结合Runnable 接口创建线程。

265 Thread 类综合了Java 程序中一个线程需要拥有的属性和方法。

266 start() 方法将启动线程对象,使之从新建状态转入就绪状态并进入就绪队列排队。267 当run 方法执行完毕,线程就变成死亡状

态,所谓死亡状态就是线程释放了实体,即释放分配给线程对象的内存。

268 利用构造方法创建新线程对象之后,这个对象中的有关数据被初始化,从而进入线程生命周期的新建状态。

269 优先级高的线程可以在它的run()方法中调用sleep() 方法来使自己放弃处理器资源,休眠一段时间。

270 Java多线程使用中,调用currentThread 方法可确定当前占有CPU的线程。

271 当用Thread 类的构造方法Thread(Runnabletarget)创建线程对象时,构造方法中的参数必

须是一个具体的对象,该对象称作线程的目标对象。

272 当线程调用start 方法时,一旦轮到它来享用CPU,目标对象就会自动调用接口中的run

方法。

273 一个实现了Runnable 接口的类实际上定义了一个主线程之外的新线程的操作。274 Thread 类代表线程类,它的方法run() ―包含线程运行时所执行的代码。

275 Thread 类代表线程类,它的方法start() 用于启动线程。

276 Java 提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。线程调度器按照线程的优先级决定应调度哪些线程来执行。

277 在独占方式下,当前活动线程一旦获得执行权,将一直执行下去,直到执行完毕或由于某种原因主动放弃CPU,或者是有一高优先级的线程处于就绪状态。

278 线程调用了yield()或sleep() 方法主动放弃CPU。

279 线程的优先级用数字来表示,范围从1 到10 。

280 一个线程的缺省优先级是 5 。

281 使用多线程时,有时需要协调两个或多个线程的活动。使线程协调工作的过程称为同步化。

282 可以通过使用synchronized 关键词修改方法来同步化对方法的访问。

283 线程中,wait 的作用:释放已持有的锁,进入等待队列。

284 线程中,notify 的作用:唤醒wait 队列中的第一个线程并把它移入锁申请队列。285 线程中,notifyAll 的作用:唤醒wait 队列中的所有的线程并把它们移入锁申请队列。

集合框架:

1 数组的特点是长度固定,可以用下标索引,并且所有的元素的类型都是一致的

2 堆栈只允许对最后插入的元素进行操作(也就是后进先出,Last In First Out –LIFO)。如果你移除了最后一个元素,那么你可以操作倒数第二个元素,依次类推。

3 集合跟列表两者基本相似,但是set集合不允许存放重复的元素。

4队列和堆栈有些相似,不同之处在于队列先进先出,堆栈先进后出

5 链表是一种由多个节点组成的数据结构,并且每个节点包含有数据以及指向下一个节点的引用

6 HashMap 的访问时间接近稳定,它是一种键值对映射的数据结构

7 树是一种由节点组成的数据结构,每个节点都包含数据元素,并且有一个或多个子节点,每个子节点指向一个父节点

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

java高级工程师_面试题和答案

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D )

Java面试题带答案

J a v a面试题带答案 Document number:BGCG-0857-BTDO-0089-2022

湖南世杰Java工程师面试题 选择题: 单选题 1,以下java程序代码,执行后的结果是( ) map= ("name",null); ("name","Jack"); 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b);

+","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { (y); y = x; } } A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B

4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: (“key”,”value”) B: (“key”,”value”) C: (“key”) D: (“key”) 答案:B 6,关于以下程序代码的说明正确的是( ) Public class HasStatic{ Private static int x = 100; Public static void main(String args[]){

Java工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

Java面试题大全(答案版)

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致 2、&和&&的区别。 &和&&都可以用作逻辑与; &&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二个表达式; &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 3、Java有没有goto? java中的保留字,现在没有在java中使用。 4、在JAVA中,如何跳出当前的多重嵌套循环? break+变量控制与return 5、switch是否能作用在byte(拜特)上,是否能作用在long上,是否能作用在String上? Switch可以作用在int上,而byte可以隐式转换为int 所以能作用在byte上 不能作用在long上,也不能作用在String上 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM会对它特殊处理(自动强转) 7、char型变量中能不能存贮一个中文汉字?为什么? 可以,char型变量是用来存储unicode(依妮Q特)编码的,而unicode编码包含了中文,所以是可以保存的 8、编程题: 用最有效率的方法算出2乘以8等於几? 2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU直接支持,所以是最有效率的 9、请设计一个一百亿的计算器 思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 引用变量不能变 11、"=="和equals方法究竟有什么区别? ==和equals方法都可以用来比较两个对象是否是同一个对象。 ==还可以比较两个变量的值是否相等。 equals是Object类中的方法,可以由子类重写此方法,实现内容相等。 12、静态变量和实例变量的区别? 语法上不同: 静态变量前要加static关键字,实例变量不需要 程序运行时不同: 实例变量是属于某个对象的,只有创建了对象,才会为这个对象的实例变量分配空间。静态变量是属于类的,当程序加载了这个类的字节码文件,就会为静态变量分配空间,并且所有对象共享这个变量 13、是否可以从一个static方法内部发出对非static方法的调用? 不可以,非static方法需要与对象关联在一起的,而static方法调用时不需要对象,可以直接调用,也就是说调用static方法时,可能还没有创建任何实例 14、Integer与int的区别 int是java中的8种基本数据类型之一,默认值是0,Integer是int的包装类,默认值是null,即Integer可以表示未赋值和赋值为0 15、(麦死)Math.round(乱的)(11.5)等於多少? Math.round(-11.5)等於多少?

JAVA程序员笔试面试题汇总及答案

1. 【基础题】请描述访问控制符的各自作用域与区别 答: √√√ √√√ √√ √ 一、名词解释 二、问答题 1. 【中等题】请说出ArrayList与Vector的区别 答: 主要从二方面来说、 同步性:Vector就是线程安全的,也就就是说就是同步的,而ArrayList就是线程序不安全的,不就是同步的 二、数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却就是原来的一半 2. 【中等题】请说出HashMap与Hashtable的区别 答:HashMap与HashT able主要从三方面来说。 一、历史原因:Hashtable就是基于陈旧的Dictionary类的,HashMap就是Java 1、2引进的Map接口的一个实现 二、同步性:Hashtable就是线程安全的,也就就是说就是同步的,而HashMap就是线程序不安全的,不就是同步的 三、值:只有HashMap可以让您将空值作为一个表的条目的key或value 3. 【基础题】Collection 与Collections的区别 答: Collections就是个java、util下的类,它包含有各种有关集合操作的静态方法。

Collection就是个java、util下的接口,它就是各种集合结构的父接口

第十八章输入输出 笔试题 一、填空题 1. 【基础题】File对象的isFile()方法作用就是判断就是否就是文 件,getAbsolutePath() 方法作用就是获取文件或目录的绝对路径。 2. 【基础题】BufferedReader与BufferedWriter以字符流的方式读写文本文件,且效率更高。 3. 【基础题】与以字节流的方式读写文本文件。 二、选择题 1. 【基础题】下列哪个类就是实体类(BC ) A. InputStream B. PrintStream C. Socket D. Reader E. DataInput 2. 【提高题】请选择下列程序的运行结果(A) public class TestIOapp{ public static void main(String [] args) throws IOException{ StringReader stingin = new StringReader("test"); LineNumberReader in = new LineNumberReader(stingin); PrintWriter out = new PrintWriter(System、out); out、println(in、readLine()); out、flush(); } } A. test B. test:1 C. 1:test D. 1 test 3. 【提高题】请选择下列程序的运行结果( B )

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.sodocs.net/doc/2a16028553.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

java笔试题及答案

java笔试题及答案(必背) 来源:黄德洋的日志 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√ × × private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static 内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/2a16028553.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.sodocs.net/doc/2a16028553.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/2a16028553.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.sodocs.net/doc/2a16028553.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/2a16028553.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java软件中年级工程师笔试题复杂逻辑

J2E E部分 1、运算符优先级问题,下面代码的结果是多少?(笔试) package test; public class Test { public static void main(String[] args) { int k = 0; int ret = ++k + k++ + ++k + k; // ret的值为多少 } } 2、运算符问题,下面代码分别输出什么?(笔试) package test; public class Test { public static void main(String[] args) { int i1 = 10, i2 = 10; } } 3、下面代码的结果是什么?还是抛出异常?(笔试) package test; public class Test { public void myMethod(String str) { } public void myMethod(Object obj) { } public static void main(String[] args) { Test t = new Test(); t.myMethod(null); } } 4、假设今天是9月8日,下面代码输出什么?(笔试) package test; public class Test { public static void main(String[] args) { Date date = new Date(); } } 5、下面代码的输出结果是什么? package test; public class Test {

public static void main(String[] args) { double val = 11.5; } } 6、下面代码的结果是什么? package test; public class Test extends Base { public static void main(String[] args) { Base b = new Test(); b.method(); Test t = new Test(); t.method(); } @Override public void method() { } } class Base { public void method() throws InterruptedException { } } 7、以下代码的结果是什么? package test; public class Test extends Base { public static void main(String[] args) { new Test().method(); } public void method() { } } class Base { } 8、true or false? package test; public class Test { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); StringBuffer sb1 = new StringBuffer("abc"); StringBuffer sb2 = new StringBuffer("abc"); } } 9、输出的结果是什么?

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.sodocs.net/doc/2a16028553.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

javaWeb面试题(含答案)

1、jsp和servlet的区别、共同点、各自应用的围?? JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层. 2、cookie和session的作用、区别、应用围,session的工作原理??? Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。 Session:保存在服务端,每一个session在服务端有一个sessionID作一个标识。存储的数据量大,安全性高。占用服务端的存资源。 3、jstl是什么?优点有哪些?? JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。优点有: 1、在应用程序服务器之间提供了一致的接口,最大程序地提高了WEB应用在各应用服务器之间的移植。 2、简化了JSP和WEB应用程序的开发。 3、以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet 代码的程序。在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。 4、允许JSP设计工具与WEB应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE 开发工具出现。 4、j2ee的优越性主要表现在哪些方面?MVC模式 a、 J2EE基于JAVA 技术,与平台无关 b、 J2EE拥有开放标准,许多大型公司实现了对该规支持的应用服务器。如BEA ,IBM,ORACLE

Java软件中级工程师笔试题-复杂逻辑

J2EE部分 1、运算符优先级问题,下面代码的结果是多少?(笔试)packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ intk=0; intret=++k+k+++++k+k; //ret的值为多少 } } 2、运算符问题,下面代码分别输出什么?(笔试)packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ inti1=10,i2=10; +i2="+i1+i2); -i2="+i1-i2); *i2="+i1*i2); /i2="+i1/i2); } } 3、下面代码的结果是什么?还是抛出异常?(笔试)packagetest; publicclassTest{ publicvoidmyMethod(Stringstr){ } publicvoidmyMethod(Objectobj){ } publicstaticvoidmain(String[]args){ Testt=newTest(); t.myMethod(null); } } 4、假设今天是9月8日,下面代码输出什么?(笔试)packagetest; import publicclassTest{ publicstaticvoidmain(String[]args){ Datedate=newDate(); +""+date.getDate()); } }

5、下面代码的输出结果是什么? packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ doubleval=11.5; } } 6、下面代码的结果是什么? packagetest; publicclassTestextendsBase{ publicstaticvoidmain(String[]args){ Baseb=newTest(); b.method(); Testt=newTest(); t.method(); } @Override publicvoidmethod(){ } } classBase{ publicvoidmethod()throwsInterruptedException{ } } 7、以下代码的结果是什么? packagetest; publicclassTestextendsBase{ publicstaticvoidmain(String[]args){ newTest().method(); } publicvoidmethod(){ getName()); } } classBase{ } 8、trueorfalse? packagetest; publicclassTest{ publicstaticvoidmain(String[]args){ Stringstr1=newString("abc"); Stringstr2=newString("abc"); StringBuffersb1=newStringBuffer("abc"); StringBuffersb2=newStringBuffer("abc"); }

最新最新java笔试题及答案

一.选择题(1-10题每题2分,11-15题每题4分) 1.下面关于Java语言说法错误的是:() A.java语言是完全面向对象的 B。java语言支持多继承 C.java语言支持多线程 D。java语言最早是为消费电子产品领域设计的 2.下面标识符中正确的是:() A.*123 B。12java C.continue D。java$next 3.下列关于注释语句的描述中,正确的一项是() A。以//开始的是多行注释语句 B。以/*开始,*/结束的是单行注释语句 C。以/**开始,*/结束的是可以用于生成帮助文档的注释语句 D。以/**开始,*/结束的是单行注释语句 4.为了区分重载多态中同名的不同方法,要求()。 A)形式参数个数或者类型不同 B)返回值类型不同 C)调用时用类名或对象名做前缀 D)形式参数名称不同 5.下面定义数组的格式中正确的是:() A.int a[10] B。int a=new int[10] C.int []a=new int[5] D.int a[] 6.下面说法中不正确的是:() A.类是对象的抽象,对象是类的实例 B。类是组成java程序的最小的单位 C.java语言支持多继承 D。java一个程序中只能有一个public类 7.定义类时,不可能用到的保留字是()。 A) private B) class C) extends D) implements 8.为 AB 类的定义一个公共的构造函数,该方法头的形式为()

A.void AB( ) B。public void method( ) C.public method ( ) D。public AB( ) 9.下面说法中不正确的是:() A.java中一个类只允许实现一个接口 B。抽象类中允许有非抽象方法的存在 C.类变量(实例变量)可以直接用类名调用 D。通过super可以调用基类的构造函数 10.容器JFrame 默认使用的布局编辑策略是() A.BorderLayout B。FlowLayout C。GridLayout D。CardLayout 11.以下哪个表达式是不合法的() A.String x=”Hello”; int y=9; x+=y; B.String x=”Hello”; int y=9; if(x= =y) { } C.String x=”Hello”; int y=9; x=x+y; D.String x=null; int y=(x!=null)&&(x.length()>0) 12.class person { public int addvalue(int a,int b) { int s; s=a+b; return s; } }

Java面试题(带答案)

湖南世杰Java工程师面试题选择题: 单选题 1,以下java程序代码,执行后的结果是( ) java.util.HashMap map=newjava.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.size()); A: 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b); System.out.println(a +","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x; }

} A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B 4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: session.getAttribute(“key”,”value”) B: session.setAttribute(“key”,”value”) C: session.setAttribute(“key”) D: session.getAttribute(“key”) 答案:B 6,关于以下程序代码的说明正确的是?( ) Public class HasStatic{ Private static int x = 100;

华为java笔试面试题

华为Java笔试题+数据库题 一、单项选择题 1.Java是从( B)语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确(B ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 3.下列说法正确的有(C ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( A) A.java.sql B.java.awt C.https://www.sodocs.net/doc/2a16028553.html,ng D.java.swing 5.下列运算符合法的是( A) A.&& B.<> C.if D.:= 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是(C ) A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( D) A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( C) A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 9.下列哪种说法是正确的(A ) A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 二、多项选择题 1.Java程序的种类有(BCD ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( BCD) A.环境变量可在编译source code时指定

相关主题