2022.11.24线上笔试题
admin
2024-02-14 09:13:05
0

2022.11.24线上笔试题及答案

文章目录

  • 2022.11.24线上笔试题及答案
  • JSP几个作用域通信对象:
  • JDBC中,用于表示数据库连接的对象是:
  • case中允许存在的的值有:
  • jvm堆空间有几个区:
  • 同一个java文件中是否可以有两个public类:
  • jsp中的注释:
  • servlet处理请求的方式:
  • thread类的方法:
  • Object类方法
        • 题源来自:


JSP几个作用域通信对象:

session application 和 pageContext ,request


JDBC中,用于表示数据库连接的对象是:

Connection


case中允许存在的的值有:

int ,short,char,byte


jvm堆空间有几个区:

新生代和老生代


同一个java文件中是否可以有两个public类:

不可以


jsp中的注释:

1、html注释:
2、java注释,仅在有关脚本中使用://或者多行注释/**/
3、jsp注释:<%----%>


servlet处理请求的方式:

1、直接处理 request.getAttribute();
2、请求转发 request.getRequestDispatcher().forward()
3、重定向 response.sendRedirect (“xxx”)


thread类的方法:

currentThread()
返回对当前正在执行的线程对象的引用

   public static void main(String[] args) {System.out.println(Thread.currentThread().getName());}

结果:

main

static void yield()
提示调度程序,当前线程愿意放弃当前对处理器的使用。调度程序可以忽略这个提示。

sleep
导致当前正在执行的线程休眠(暂时停止执行)指定的毫秒数,具体取决于系统计时器和调度程序的精度和准确性。 该线程不会失去任何监视器的所有权。

void start()
一个线程的开始,执行之后java虚拟机调用该线程的run方法

 public static void main(String[] args) throws InterruptedException {Runnable a = new MyRunnable();Thread t = new Thread(a);t.start();Thread.sleep(1000);System.out.println(Thread.currentThread().getName());}

以上代码最后输出的内容会延迟1s出现,其中MyRunnable是一个Runnable的实现类

void run()
如果线程使用Runnable构造的,则它的调用run方法,否则不执行任何操作并返回

public static void main(String[] args) throws InterruptedException {Runnable a = new MyRunnable();Thread t = new Thread(a);t.run();// t.start();Thread.sleep(1000);System.out.println(Thread.currentThread().getName());}

没有t.start();这一句,程序依然会执行

void interrupt()
中断调用方法的进程

public static void main(String[] args) {//线程中断//一个线程是一个独立的执行路径,他是否结束,应该由其自身决定//给线程打标记 来实现中断Thread t1 = new Thread(new MyRunnable2());t1.start();for (int i = 0;i<5;i++) {System.out.println(Thread.currentThread().getName() + ":" + i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}//给线程t1添加中断标记,告诉他人t1没了进而进入catch块 之后程序员决定是否死亡t1.interrupt();}static class MyRunnable2 implements Runnable{@Overridepublic void run() {for (int i = 0;i<10;i++){System.out.println(Thread.currentThread().getName() + ":" + i);try {Thread.sleep(1000);} catch (InterruptedException e) {System.out.println("线程死亡");return;}}}}

void setPriority(int newPriority)
其作用是:更改该线程的优先级
源码如下 先检查是否能改这个线程 之后设置优先级

public final void setPriority(int newPriority) {ThreadGroup g;checkAccess();if (newPriority > MAX_PRIORITY || newPriority < MIN_PRIORITY) {throw new IllegalArgumentException();}if((g = getThreadGroup()) != null) {if (newPriority > g.getMaxPriority()) {newPriority = g.getMaxPriority();}setPriority0(priority = newPriority);}}

int getPriority()
获取这个线程的优先级

void setName(String name)
命名调用该方法的线程

String getName()
返回此线程的名称

boolean isDaemon()
判断线程是否是守护线程

void setDaemon(boolean on)
将线程设置为守护线程

void join()
join()
join(x)
join(x,y)
三种形式 第二种是等待x毫秒后醒来或者被唤醒后醒来 ,第三种是x毫秒y纳秒之后 如果x为0相当于一直沉睡,第一种方式就等于join(0)
join的底层源码可以发现是通过使用Object类中的wait()方法来实现的


Object类方法

Object是所有类的父类,任何类都默认继承Object。Object类实现了哪些方法?

(1)clone方法
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

(2)getClass方法
final方法,获得运行时类型。

(3)toString方法
该方法用得比较多,一般子类都有覆盖。

(4)finalize方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

(5)equals方法
该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

(6)hashCode方法
该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

(7)wait方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

(8)notify方法
该方法唤醒在该对象上等待的某个线程。

(9)notifyAll方法
该方法唤醒在该对象上等待的所有线程。


题源来自:

上海RR信息技术服务有限公司(信息敏感,只用公司名字的缩写)

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...