Java程序设计基本概念
一 JVM
1 下面给出的Java中ClassLoader中的描述,哪些描述是正确的?
A ClassLoader没有层次关系
B 所有类中的ClassLoader都是AppClassLoader
C 通过Class.forName(String className),能够动态加载一个类
D 不同的ClassLoader加载同一个Class文件,所得的类是相同的
参考答案:C
解析:
A ClassLoader是有层次关系的
B ClassLoader不止一种
D 不同的类加载器分别创建的同一个类的字节码数据属于完全不同的对象,没有任何关联
2 JVM使用哪种字符表示?
A ASCII characters
B Unicode characters
C Cp1252
D UTF-8
参考答案:B
解析:
在Java中字符只以一种形式存在,那就是Unicode(不选择任意特定的编码,直接使用它们的字符集中的编号,这是统一的唯一方法)
3 下列程序输出的结果为?
import java.util.*;
public class Test{
public static void main(String [] args){
int j = 0;
for ( int i = 0 ; i<100 ; i++) {
j=j++;
}
System.out.println(j);
}
}
A 0
B 99
C 100
D 101
参考答案:A
解析:
Java用了中间缓存变量的机制 j = j++ 相当于:
temp = j;
j = j + 1;
j = temp;
所以最终结果还是j的初始值 0
4 什么时候用assert?
参考答案:可以在预计正常情况下不会达到的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在私有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
5 下列程序的输出结果是:
import java.util.*
public class Test{
public static void main (String [ ] args){
boolean b = true?false:true == true ?false:true;
System.out.println(b);
}
}
A true
B false
C null
D 以上答案都不对
参考答案: B
解析:
三目运算符是有右结合性的:
boolean b = true?false: ((true == true) ?false:true);
6 谈谈final finally finalize的区别?
1 final:
如果一个类被声明为final,意味着这个类不能够被继承;
如果一个方法声明为fianl,意味着这个方法不能被重写;
如果一个变量被说明为fianl.意味着这个变量初始化后不能够被修改。
2 finally
在异常处理时提供finally快来执行任何操作。如果抛出一个异常,那么相匹配的catch
字句就会被执行,然后控制就会进入finally快。
3 finalize
finalize是方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
7 什么是反射?其他语言有这种特点吗?
参考答案:java中的反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装配,
无需组件之间进行连接。反射运行在编写与运行时,是程序代码能够接入装载到JVM中的类的内部信息,
而不是源代码中选定的类协作的代码中。
没有
Java程序设计基本概念相关推荐
- java程序设计_Java程序设计:学习笔记(4-5)(未完工)
声明: 本文内容基于"吉首大学软件学院-Java程序设计(Java面向对象程序设计)"网课与个人实践经验修改编写而成.本文属于Arcadia项目组成部分.若有错误或不足之处存在请联 ...
- 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言
<非计算机专业JAVA程序设计语言> 一.主要目标和主要内容: 该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一.该课程的前导课程是<大学计算机基础> ...
- java程序设计pdf下载_Java程序设计(迟立颖) PDF扫描版[21MB]
Java程序设计由浅入深地介绍了Java的基础知识,并结合具体的实例重点阐述了Java面向对象的概念及其程序设计方法,还介绍了图形用户界面(GUI)等知识.全书共分11章,内容包括Java概述.Jav ...
- 20145129 《Java程序设计》第6周学习总结
20145129 <Java程序设计>第6周学习总结 教材学习内容总结 InputStream与OutStream 串流设计的概念 输入串流代表对象为java.io.InputStream ...
- # 20155337 2016-2017-2 《Java程序设计》第六周学习总结
20155337 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 •串流(Stream): 数据有来源及目的地,衔接两者的是串流对象.如果要将数据从来源取出, ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155213 2016-2017-2 《Java程序设计》第七周学习总结
20155213 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...
- 20155303 2016-2017-2 《Java程序设计》第六周学习总结
20155303 2016-2017-2 <Java程序设计>第六周学习总结 课堂笔记 高效学习法推荐 看视频学习(2h)→ 以代码为中心看课本,思考运行结果并验证(3h)→ 课后作业验证 ...
- 2016-2017-2 《Java程序设计》预备作业1 总结
2016-2017-2 <Java程序设计>预备作业1 总结 预备作业01:你期望的师生关系是什么见https://edu.cnblogs.com/campus/besti/2016-20 ...
最新文章
- LeetCode简单题之三维形体的表面积
- centos 7 php mysql apache_CentOS 7 搭建 Apache+MySQL+PHP
- 2020秋季人工神经网络作业登记与批改
- 应该了解的Openstack命令
- day15 python-03 列表,元组,字典
- InvocationHandler的invoke方法如何被调用?
- 解决复杂多数据源报表的5种通用办法
- Linux Shell编程之输入输出重定向
- php 全角符号 转成半角,php全角字符转换为半角字符简单示例
- 数字信号处理--7.5--FIR数字滤波器
- c++如何实现对硬盘的操作_Python 小技巧:如何实现操作系统兼容性打包?
- 万分之二用百分之怎么表示_怎么腐熟猪粪做有机肥
- 移动安全-IOS逆向第三天——实战HOOK RSA/DES加密
- 远程软件工程师的10个最佳实践
- 策略路由(本地策略和接口策略)
- 【移动端二】夜神模拟器
- 利用java创建Excel表格步骤
- [springboot]springboot启动流程
- Several ports (8005, 8080) required by Tomcat v9.0 Server at localhost are already in use
- JS 生成uuid(v4)