- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java日常练习题,每天进步一点点(43)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案) 。
正确答案: A 。
正确 。
错误 。
题解: 首先所有异常都是Exception的子类。 比如用Exception 因为所有异常都是Exception的子类,如果你把Exception放在前边捕获,后边的catch将永远不会执行 。
正确答案: D 。
init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法 。
service()方法处理客户机发出的所有请求 。
destroy()方法标志servlet生命周期的结束 。
servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的 。
题解: servlet在多线程下其本身并不是线程安全的。 如果在类中定义成员变量,而在service中根据不同的线程对该成员变量进行更改,那么在并发的时候就会引起错误。最好是在方法中,定义局部变量,而不是类变量或者对象的成员变量。由于方法中的局部变量是在栈中,彼此各自都拥有独立的运行空间而不会互相干扰,因此才做到线程安全.
正确答案: C 。
程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的 。
原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的 。
方法区用于存储JVM加载的类信息、常量、静态变量,即使编译器编译后的代码等数据,是线程隔离的 。
Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的 。
题解: 方法区和堆内存是线程共享的。 程序计数器、虚拟机栈、本地方法栈是线程隔离的。 Java运行时内存 1.程序计数器,线程私有。可以看作是当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变整个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能。 由于JVM的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程中的指令。因此为了线程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,所以线程私有。 程序计数器是唯一一个在Java虚拟机规范中没有规定任何OOM的区域。 2.Java虚拟机栈,线程私有。生命周期和线程相同。虚拟机栈描述的是Java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧。每个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机中入栈到出栈的过程。 3.本地方法栈,线程私有。和虚拟机栈的区别就在于一个是为了执行Java方法服务,一个是为了虚拟机使用到的Native方法服务。 4.堆,线程共享。存放对象实例和数组。 5.方法区,线程共享。存放已经被JVM加载的类信息,常量,静态变量,即时编译器编译后的代码.
正确答案: C 。
<% expression %> 。
<=% expression %> 。
<%= expression %> 。
<expression/> 。
题解: (1)<%…%>:可以插入一些语句。 (2)<%! … %>:只能放置全局变量、全局常量、类、函数。 (3)<%= … %>:只能放置一个变量、常量.
正确答案: B 。
CardLayout 。
FlowLayout 。
BorderLayout 。
GridLayout 。
题解: BorderLayout布局管理器,是Frame默认布局管理器,它是一个布置容器的边框布局,它可以对容器 组件 进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。 FlowLayout流式布局管理器,是Panel和Applet默认布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。 GridLayout布局管理器,GridLayout(int rows,int cols,int hgap,int vgap);建立一个表格的版面对象。rows代表有几行,cols代表有几列;hgap是组件之间的水平距离,vgap是组件之间的竖直距离.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
class
C {
C() {
System.out.print(
"C"
);
}
}
class
A {
C c =
new
C();
A() {
this
(
"A"
);
System.out.print(
"A"
);
}
A(String s) {
System.out.print(s);
}
}
class
Test
extends
A {
Test() {
super
(
"B"
);
System.out.print(
"B"
);
}
public
static
void
main(String[] args) {
new
Test();
}
}
|
正确答案: B 。
BB 。
CBB 。
BAB 。
None of the above 。
题解: 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法; 4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法; (1)初始化父类的普通成员变量和代码块,执行 C c = new C(); 输出C (2)super(“B”); 表示调用父类的构造方法,不调用父类的无参构造函数,输出B (3) System.out.print(“B”); 所以输出CBB 。
正确答案: A B C D 。
protected abstract void f1(),
public final void f1() {} 。
static final void fq(){} 。
private void f1() {} 。
题解: A:抽象方法只可以被public 和 protected修饰; B:final可以修饰类、方法、变量,分别表示:该类不可继承、该方法不能重写、该变量是常量 C:static final 可以表达在一起来修饰方法,表示是该方法是静态的不可重写的方法 D:private 修饰方法(这太常见的)表示私有方法,本类可以访问,外界不能访问 。
正确答案: A D F 。
A:Java反射主要涉及的类如Class, Method, Filed,等,他们都在java.lang.reflet包下 。
B:通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法 。
C:通过反射,可以突破Java语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员 。
D:Java反射机制提供了字节码修改的技术,可以动态的修剪一个类 。
E:Java的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多 。
F:Java反射机制一般会带来效率问题,效率问题主要发生在查找类的方法和字段对象,因此通过缓存需要反射类的字段和方法就能达到与之间调用类的方法和访问类的字段一样的效率 。
题解: A Class类在java.lang包 B 动态代理技术可以动态创建一个代理对象,反射不行 C 反射访问私有成员时,Field调用setAccessible可解除访问符限制 D CGLIB实现了字节码修改,反射不行 E 反射会动态创建额外的对象,比如每个成员方法只有一个Method对象作为root,他不胡直接暴露给用户。调用时会返回一个Method的包装类 F 反射带来的效率问题主要是动态解析类,JVM没法对反射代码优化.
正确答案: A B C 。
A:
1
2
3
|
public
abstract
final
class
Test {
abstract
void
method();
}
|
B:
1
2
3
|
public
abstract
class
Test {
abstract
final
void
method();
}
|
C:
1
2
3
4
|
public
abstract
class
Test {
abstract
void
method() {
}
}
|
D:
1
2
3
4
|
public
class
Test {
final
void
method() {
}
}
|
题解: A、final修饰的类为终态类,不能被继承,而 抽象类是必须被继承的才有其意义的,因此,final是不能用来修饰抽象类的。 B、 final修饰的方法为终态方法,不能被重写。而继承抽象类,必须重写其方法。 C、抽象方法是仅声明,并不做实现的方法.
正确答案: B D 。
request.getAttribute 。
request.getHeader 。
request.getParameter 。
request.getCookies 。
题解: 下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过 HttpServletRequest 对象可用: 1)Cookie[] getCookies() 返回一个数组,包含客户端发送该请求的所有的 Cookie 对象。 2)Object getAttribute(String name) 以对象形式返回已命名属性的值,如果没有给定名称的属性存在,则返回 null。 3)String getHeader(String name) 以字符串形式返回指定的请求头的值。Cookie也是头的一种; 4)String getParameter(String name) 以字符串形式返回请求参数的值,或者如果参数不存在则返回 null.
1、正确答案: A 。
2、正确答案: D 。
3、正确答案: C 。
4、正确答案: C 。
5、正确答案: B 。
6、正确答案: B 。
7、正确答案: A B C D 。
8、正确答案: A D F 。
9、正确答案: A B C 。
10、正确答案: B D 。
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我的更多内容! 。
原文链接:https://blog.csdn.net/weixin_43883917/article/details/119132579 。
最后此篇关于Java日常练习题,每天进步一点点(43)的文章就讲到这里了,如果你想了解更多关于Java日常练习题,每天进步一点点(43)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!