Java日常练习题,每天进步一点点(44)

 更新时间:2021年08月25日 09:18:52   作者:牛哄哄的柯南  
下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你

承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)

1、AWT 中用来表示文本框的类是 ( )

正确答案: A

TextField

Menu

Label

List

题解:
A、TextField表示文本框
B、Menu表示下拉菜单
C、Label表示标签
D、List表示列表框

2、以下表达式的类型和值是什么?(注意整数除法)()

-5 + 1/4 + 2*-3 + 5.0

正确答案: D

int -3

int -4

double -5.5

double -6.0

题解:
在Java中5.0是double类型,所以结果的数据类型为double。因为1/4结果为0,所以结果为-6.0

3、以下代码段执行后的输出结果为

public class Test {

public static void main(String args[]) {

int x = -5;

int y = -12;

System.out.println(y % x);

}

}

正确答案: D

-1

2

1

-2

题解:
无论是正数还是负数,在取余运算时都有:被除数=商×除数+余数,所以-12=2×(-5)+(-2),-12是被除数,-5是除数,2是商,余数是-2。

4、Java的跨平台特性是指它的源代码可以在多个平台运行。()

正确答案: B

正确

错误

题解:
Java的跨平台特性是因为JVM的存在, 它可以执行.class字节码文件,而不是.java源代码

5、方法通常存储在进程中的哪一区()

正确答案: D

堆区

栈区

全局区

方法区

题解:
Java运行时的数据区包括:(其中前两个是线程共享的)
1.方法区(Method Area) 存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据
2.堆(Heap) 存放对象实例,几乎所有对象实例都在这里分配内存
3.虚拟机栈(VM Stack) 描述的是Java方法执行的内存模型:每个方法在执行的同时会创建一个Stack Frame(方法运行时的基础数据结构)用于存储局部变量表、操作数栈、动态连接、方法出口等信息
4.本地方法栈(Native Method Stack) 与虚拟机栈了类似,不过则为虚拟机使用的到的Native方法服务。(有的虚拟机譬如Sun HotSpot虚拟机直接把本地方法栈和虚拟机栈合二为一)
5.程序计数器(Program Counter Register) 可看作当前线程所执行的字节码的行号的标识器

6、默认RMI采用的是什么通信协议?

正确答案: C

HTTP

UDP/IP

TCP/IP

Multicast

题解:
RMI采用的是TCP/IP协议
RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。
TCP/IP是远程通讯的主要手段

7、J2EE中,当把来自客户机的HTTP请求委托给servlet时,会调用HttpServlet的( )方法

正确答案: A

service

doget

dopost

init

题解:
首先Servlet通过HttpRequest对象封装http请求信息,然后Servlet容器调用HttpServlet的service方法,它会根据用户请求的方式调用具体的方法。如果请求方式是Get则调用doGet方法,如果请求方式是POST则调用doPost方法,执行完后,通过HttpRespones对象生成相应数据相应客户的请求,一般要重写doGet方法和doPost方法

8、String str = new String(“abc”),“abc”在内存中是怎么分配的?

正确答案: A C



字符串常量区

寄存器

题解:
当你new String(“abc”)时,其实会先在字符串常量区生成一个abc的对象,然后new String()时会在堆中分配空间,然后此时会把字符串常量区中abc复制一个给堆中的String,故abc应该在堆中和字符串常量区

9、在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的?

正确答案: C D

每个中文字符占用2个字节,每个英文字符占用1个字节

假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。

Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。

实现国际化应用常用的手段是利用ResourceBundle类

题解:
A 显然是错误的,Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。
B 也是不正确的,不同的编码之间是可以转换的,通常流程如下:
将字符串S以其自身编码方式分解为字节数组,再将字节数组以你想要输出的编码方式重新编码为字符串。
例:String newUTF8Str = new String(oldGBKStr.getBytes(“GBK”), “UTF8”);
C 是正确的。Java虚拟机中通常使用UTF-16的方式保存一个字符
D 也是正确的。ResourceBundle能够依据Local的不同,选择性的读取与Local对应后缀的properties文件,以达到国际化的目的。

10、关于volatile关键字,下列描述不正确的是?

正确答案: B D

用volatile修饰的变量,每次更新对其他线程都是立即可见的。

对volatile变量的操作是原子性的。

对volatile变量的操作不会造成阻塞。

不依赖其他锁机制,多线程环境下的计数器可用volatile实现。

题解:
所谓 volatile的措施,就是
1.每次从内存中取值,不从缓存中什么的拿值。这就保证了用 volatile修饰的共享变量,每次的更新对于其他线程都是可见的。
2.volatile保证了其他线程的立即可见性,就没有保证原子性。
3.由于有些时候对 volatile的操作,不会被保存,说明不会造成阻塞。不可用与多线程环境下的计数器。
此外,volatile 变量不会像锁那样造成线程阻塞,因此也很少造成可伸缩性问题。

答案汇总:

1、正确答案: A

2、正确答案: D

3、正确答案: D

4、正确答案: B

5、正确答案: D

6、正确答案: C

7、正确答案: A

8、正确答案: A C

9、正确答案: C D

10、正确答案: B D

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • java注解结合aspectj AOP进行日志打印的操作

    java注解结合aspectj AOP进行日志打印的操作

    这篇文章主要介绍了java注解结合aspectj AOP进行日志打印的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • java 正则,object中两个方法的使用(详解)

    java 正则,object中两个方法的使用(详解)

    下面小编就为大家带来一篇java 正则,object中两个方法的使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java中数组的使用与注意事项详解(推荐)

    Java中数组的使用与注意事项详解(推荐)

    数组是一组地址连续、长度固定的具有相同类型的数据的集合,通过数组下标我们可以指定数字中的每一个元素,下面这篇文章主要给大家介绍了关于Java中数组的使用与注意事项的相关资料,需要的朋友可以参考下
    2021-08-08
  • 基于Java解决华为机试实现密码截取 

    基于Java解决华为机试实现密码截取 

    这篇文章主要介绍了基于Java解决华为机试实现密码截取,文章围绕主题相关资料展开详细内容,具有一的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • SpringBoot参数校验的方法总结

    SpringBoot参数校验的方法总结

    今天带大家学习SpringBoot参数校验的方法,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 教你利用JAVA实现可以自行关闭服务器的方法

    教你利用JAVA实现可以自行关闭服务器的方法

    今天给大家带来的是关于Java的相关知识,文章围绕着利用JAVA实现可以自行关闭服务器的方法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Spring MVC+mybatis实现注册登录功能

    Spring MVC+mybatis实现注册登录功能

    这篇文章主要为大家详细介绍了Spring MVC+mybatis实现注册登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Java实现单链表SingleLinkedList增删改查及反转 逆序等

    Java实现单链表SingleLinkedList增删改查及反转 逆序等

    单链表是链表的其中一种基本结构。一个最简单的结点结构如图所示,它是构成单链表的基本结点结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结点。 因为只有一个指针结点,称为单链表
    2021-10-10
  • Java实现宠物商店管理

    Java实现宠物商店管理

    这篇文章主要为大家详细介绍了Java实现宠物商店管理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Java中ByteArrayInputStream和ByteArrayOutputStream用法详解

    Java中ByteArrayInputStream和ByteArrayOutputStream用法详解

    这篇文章主要介绍了Java中ByteArrayInputStream和ByteArrayOutputStream用法详解, ByteArrayInputStream 的内部额外的定义了一个计数器,它被用来跟踪 read() 方法要读取的下一个字节
    2022-06-06

最新评论