Java刷题知识总结(一)

1.局部变量参与运算前是必须要初始化的,比如下面的代码就会编译出错,提示y必须要初始化

public static void main(String[] args) {
    int x = 1;
    int y;
    int z = x + y;
}



2.ArrayList和Vector主要区别是什么?

A

Vector与ArrayList一样,也是通过数组实现的,不同的是Vector支持线程的同步

B

Vector与ArrayList一样,也是通过数组实现的,不同的是ArrayList支持线程的同步

C

Vector是通过链表结构存储数据,ArrayList是通过数组存储数据

D

上述说法都不正确

参考答案:答案:A Vector支持线程的同步,也就是内部加锁的 但是效率低,因此在新版jdk中加入线程不安全的Arraylist

3. 运行下面代码,输出的结果是()

class A {
    public A() {
        System.out.println("class A");
    }
    { System.out.println("I'm A class"); } 
    static { System.out.println("class A static"); }
}
public class B extends A {
    public B() {
        System.out.println("class B");
    }
    { System.out.println("I'm B class"); }
    static { System.out.println("class B static"); }
     
    public static void main(String[] args) { 
 new B(); 

答案

class A static
class B static
I'm A class
class A
I'm B class
class B


关于Java程序初始化顺序:

  1. 父类的静态代码块
  2. 子类的静态代码块
  3. 父类的普通代码块
  4. 父类的构造方法
  5. 子类的普通代码块
  6. 子类的构造方法

按照这个顺序,答案选择A

4.下面哪一项不是加载驱动程序的方法?

A

通过DriverManager.getConnection方法加载

B

调用方法 Class.forName

C

通过添加系统的jdbc.drivers属性

D

通过registerDriver方法注册

正确答案:A

你的答案:B

参考答案:答案:A DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的

5.下面有关servlet和cgi的描述,说法错误的是?

A

servlet处于服务器进程中,它通过多线程方式运行其service方法

B

CGI对每个请求都产生新的进程,服务完成后就销毁

C

servlet在易用性上强于cgi,它提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等

D

cgi在移植性上高于servlet,几乎所有的主流服务器都直接或通过插件支持cgi

正确答案:D

你的答案:C

参考答案:选择D,servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

6.下面哪些类实现或继承了 Collection 接口?

A

HashMap

B

ArrayList

C

Vector

D

Iterator

正确答案:BC

你的答案:ABC

7.jdk1.8版本之前的前提下,接口和抽象类描述正确的有( )

A

抽象类没有构造函数

B

接口没有构造函数

C

抽象类不允许多继承

D

接口中的方法可以有方法体

正确答案:BC

你的答案:ABC

8.以下 _____ 不是 Object 类的方法

A

clone()

B

finalize()

C

toString()

D

hasNext()

正确答案:D

你的答案:C

9.要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( )

A

让该类不使用任何关键字

B

使用private关键字

C

使用protected关键字

D

使用void关键字

正确答案:A

你的答案:B

10.有关线程的叙述正确的是()

A

可以获得对任何对象的互斥锁定

B

通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定

C

线程通过使用synchronized关键字可获得对象的互斥锁定

D

线程调度算法是平台独立的

正确答案:CD

你的答案:BC

11.

public void test() {

int a = 10;

System.out.println(a++ + a--);

}

最后输出什么?

A

19

B

20

C

21

D

22

正确答案:C

你的答案:B

12.下面哪个不属于HttpServletResponse接口完成的功能?

A

设置HTTP头标

B

设置cookie

C

读取路径信息

D

输出返回数据

正确答案:C

你的答案:D

C(错误):读取路径信息,request读取路径信息

从request获取各种路径总结 
request.getRealPath("url"); // 虚拟目录映射为实际目录
request.getRealPath("./");    // 网页所在的目录
request.getRealPath("../"); // 网页所在目录的上一层目录
request.getContextPath();    // 应用的web目录的名称

D:输出返回数据

HttpServleteResponse.getOutputStream().write();

13.Java 多线程有几种实现方法?(

A

继承Thread类

B

实现Runnable接口

C

实现Thread接口

D

以上都不正确

正确答案:AB

14下面程序输出结果为():

public class Demo{
    public static void main (String [] args) {
        String lx = “LeXin”;
        String nb = lx;
        lx = "Fenqile";
        System.out.println(nb);
    }
}

A

程序异常,编译不通过

B

程序编写正常,可正常运行

C

程序输出值为“LeXin”

D

程序输出值为“Fenqile”

正确答案:BC

你的答案:BD

知识点:String 类型不可变指的是String类型的值不可变,但是String类型的引用是可变的。

15.CMS垃圾回收器在那些阶段是没用用户线程参与的

A

初始标记

B

并发标记

C

重新标记

D

并发清理

正确答案:AC

你的答案:D

官方解析:

CMS收集器是一种以获取最短回收停顿时间为目标的收集器,它是基于标记清除算法实现的,它的运作过程相对于其他收集器来说要更复杂一些,整个过程分为四个步骤,包括:初始标记、并发标记、重新标记、并发清除。其中初始标记、重新标记这两个步骤需要暂停整个JVM。

  1. 初始标记仅仅只是标记一下GC Roots能直接关联到的对象,速度很快。
  2. 并发标记阶段就是从GC Roots的直接关联对象开始遍历整个对象图的过程,这个过程耗时较长但是不需要停顿用户线程,可以与垃圾收集线程一起并发运行。
  3. 重新标记阶段则是为了修正并发标记期间,因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录,这个阶段的停顿时间通常会比初始标记阶段稍长一些,但也远比并发标记阶段的时间短。
  4. 并发清除阶段,清理删除掉标记阶段判断的已经死亡的对象,由于不需要移动存活对象,所以这个阶段也是可以与用户线程同时并发的。

示意图如下:

综上所述,答案选择A C。

16.如果一个接口Cow有个public方法drink(),有个类Calf实现接口Cow,则在类Calf中正确的是? ( )

A

void drink() { …}

B

protected void drink() { …}

C

public void drink() { …}

D

以上语句都可以用在类Calf中

正确答案:C

官方解析: Java接口中的方法默认被public abstract修饰,而重写的其中一个要求就是重写方法的访问级别不小于原方法。因此,答案中只有C选项符合。

17.通过HttpServletRequest. getParameter获取的参数.

A

总是采用UTF-8编码

B

总是采用lS08859-1编码

C

由客户端浏览器和Web容器配置共同决定编码

D

由服务器所在的操作系统决定编码

正确答案:C

参考答案:答案:C 编码格式由浏览器决定,浏览器根据html中指定的编码格式进行编码,tomcat根据指定的格式进行解码,另外get请求和post请求对编码格式的处理也是不同的

18.java如何返回request范围内存在的对象?

A

request.getRequestURL()

B

request.getAttribute()

C

request.getParameter()

D

request.getWriter()

正确答案:B

request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。

request域代表一次请求处理的过程,就是从客户端到服务端的一次请求的过程。request.getParameter()获取HTTP提交过来的数据。

而request.getAttribute()方法返回reques,sessiont范围内存在的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/882340.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 扶贫助农系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

记一次Apache点击startup立马闪退的修复

人们总是在靠近幸福时患得患失 --生菜特斯拉 这两天频繁在各个虚拟机中使用apache搭建服务,但是时而会出现点击startup.bat启动脚本后立马出现闪退,所以记录一下。 一、环境复现 实验器材 1、win10虚拟机 2、apache项目 3、JDK(1.8&am…

Linux高级I/O:多路转接模型

目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…

Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解

类加载器 类加载器(Class Loader)是 Java 虚拟机(JVM)的一部分,它的作用是将类的字节码文件(.class 文件)从磁盘或其他来源加载到 JVM 中。类加载器负责查找和加载类的字节码文件,并…

BEV学习--Nuscenes数据集解读

一、Nuscenes数据集简介 Nuscenes数据的采集来自不同城市的1000个场景中,采集车上配备了完善的传感器,包括6个相机(CAM)、1个激光雷达(LIDAR)、5个毫米波雷达(RADAR)、IMU和GPS&…

论文(六):Fire-Net: A Deep Learning Framework for Active Forest Fire Detection

文章目录 1.Introduction2.Study Area2.1Landsat-8 Dataset2.2Inventory data 3.Methodology3.1Image Pre-processing3.2Proposed Deep Learning Architecture (Fire-Net)3.2.1Convolution Layers3.2.2 Evaluation Indices/methods or accuracy assessment. 4.Results4.1 Austr…

新一代图像生成E2E FT:深度图微调突破

文章地址:Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think 项目主页:https://gonzalomartingarcia.github.io/diffusion-e2e-ft/ 代码地址:https://github.com/VisualComputingInstitute/diffusion-e2e-ft 机构&am…

SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)

我们以Thymeleaf页面模板引擎为例,简单介绍利用 apache fileupload 工具实现文件上传的功能。 2.1、添加相关依赖包 首先创建一个基础的 Spring Boot 项目,并引入相关的依赖包。 2.2、添加相关配置参数 2.3、文件上传示例 对应文件上传的Controller类&…

传知代码-基于多尺度动态卷积的图像分类

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 在计算机视觉领域,图像分类是非常重要的任务之一。近年来,深度学习的兴起极大提升了图像分类的精度和效率。本文将介绍一种基于动态卷积网络(Dynamic Convolutional Netw…

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端,使用Qt实现客户端,VS实现服务端 Qt创建项目 Qt文件类型 .pro文件:配置文件,决定了哪些文件参与编译,怎样参与编译 .h .cpp .ui:画图文件 Qt编码方式 Qt使用utf-8作为编码方…

【delphi】正则判断windows完整合法文件名,包括路径

在 Delphi 中&#xff0c;可以使用正则表达式来检查 Windows 文件名称或路径是否合法。合法的文件名和路径要求符合以下几点&#xff1a; 禁止的字符&#xff1a;文件名和路径不能包含以下字符&#xff1a;<, >, :, ", /, \, |, ?, *。文件名不能以空格或点结束。…

idea多模块启动

文章目录 idea多模块启动2018版本的idea2019版本的idea idea多模块启动 2018版本的idea 1.首先看一下view> Tool Windows下有没有Run Dashboard 如果有&#xff0c;点击一下底部的窗口就会出现 如果不存在&#xff0c;执行下一步 2.查看自己项目的工作空间位置 点击 File&…

Java中的事件(动作监听-ActionListener)

&#xff08;一&#xff09;、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件&#xff0c;例如&#xff1a;按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法&#xff0c;该方法会在动作发生时被调用。 &#…

Android WebView H5 Hybrid 混和开发

对于故乡&#xff0c;我忽然有了新的理解&#xff1a;人的故乡&#xff0c;并不止于一块特定的土地&#xff0c;而是一种辽阔无比的心情&#xff0c;不受空间和时间的限制&#xff1b;这心情一经唤起&#xff0c;就是你已经回到了故乡。——《记忆与印象》 前言 移动互联网发展…

Python | Leetcode Python题解之第415题字符串相加

题目&#xff1a; 题解&#xff1a; class Solution:def addStrings(self, num1: str, num2: str) -> str:res ""i, j, carry len(num1) - 1, len(num2) - 1, 0while i > 0 or j > 0:n1 int(num1[i]) if i > 0 else 0n2 int(num2[j]) if j > 0 e…

Dify创建自定义工具,调用ASP.NET Core WebAPI时的注意事项(出现错误:Reached maximum retries (3) for URL ...)

1、要配置Swagger using Microsoft.AspNetCore.Mvc; using Microsoft.OpenApi.Models;var builder WebApplication.CreateBuilder(args);builder.Services.AddCors(options > {options.AddPolicy("AllowSpecificOrigin",builder > builder.WithOrigins("…

SpringSecurity6.x整合手机短信登录授权

前言&#xff1a;如果没有看过我的这篇文章的Springboot3.x.x使用SpringSecurity6(一文包搞定)_springboot3整合springsecurity6-CSDN博客需要看下&#xff0c;大部分多是基于这篇文章的基础上实现的。 明确点我们的业务流程&#xff1a; 需要有一个发送短信的接口&#xff0…

【C++】10道经典面试题带你玩转二叉树

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Leetcode/牛客网 目录 一.根据二叉树创建字符串 二.二叉树的层序遍历 三.二叉树的层序遍历 II 四.二叉树的最近公共祖先 五.二叉搜索树与双向链表 六.从前序与中序遍历序列构造二叉树 七.从中序与后序遍历…

基于yolov8的无人机检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的无人机检测系统是一项前沿技术&#xff0c;结合了YOLOv8深度学习模型的强大目标检测能力与无人机的灵活性。YOLOv8作为YOLO系列的最新版本&#xff0c;在检测精度和速度上均有显著提升&#xff0c;特别适用于复杂和高动态的场景。 该系统通过捕获实…

【QML 基础】QML ——描述性脚本语言,用于用户界面的编写

文章目录 1. QML 定义2. QML 1. QML 定义 &#x1f427; QML全称为Qt Meta-Object Language&#xff0c;QML是一种描述性的脚本语言&#xff0c;文件格式以.qml结尾。支持javascript形式的编程控制。QML是Qt推出的Qt Quick技术当中的一部分&#xff0c;Qt Quick是 Qt5中用户界…