javaWeb基础笔试题学习笔记

 

(1)对字符串str="welcome to china"进行下列操作处理,描述结果正确的是(B)

A. str.substring(1,5)的返回值是"elcom"

B. str.length的返回值16

C. str.indexOf("come",4)的返回值为4

D. str.toUpperCase( )的返回值是"Welcome To China"

解析:

A、str.substring(indexStart,indexEnd)功能为:截取方法调用者(即str)的从indexStart到indexEnd(包括indexStart,不包括indexEnd;即含头不含尾、或左闭右开区间内的子字符串),正确应该是elco。

B、 str.length的长度确实为16。

C、indexOf() 方法有以下四种形式:

public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

D、结果应该是WELCOME TO CHINA

 

(2)下面对于Spring AOP描述错误的是(D)

A. AOP称为面向切面编程

B. 实现AOP功能采用的是代理技术

C. 利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低

D. AOP又被称为IOC,是一种结构解耦的手段

解析:AOP是一种面向切面的编程思想。这些横切性问题,把它们抽象为一个切面,关注点在切面的编程,这就是所谓的AOP。如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用。https://www.cnblogs.com/wlzg/p/10995629.html

 

(3)下面关于垃圾收集的描述哪个是错误的(D)

A. 使用垃圾收集的程序不需要明确释放对象

B. 现代垃圾收集能够处理循环引用问题

C. 垃圾收集能提高程序员效率

D. 使用垃圾收集的语言没有内在泄漏问题

解析:作者:bbblemon
链接:https://www.nowcoder.com/questionTerminal/949ccecf4fd4471391577ec78739ff65?orderByHotValue=1&pos=155&mutiTagIds=570
来源:牛客网

A、GC机制可以让开发人员必须要明确何时去释放什么样的对象。虽然有System.gc(),提醒JVM进行一个Full GC,但是到底什么时候执行,都不是人为能控制得。
B、GC最常见得问题就是循环引用得问题,对于最常见得引用计数法而言,就没有方法处理这个问题。但是JVM使用得是可达性分析,所以可以处理。
    1. 引用计数法,给每一个对象上都放一个引用计数器,有引用得时候就+1,失去引用去减1,但是这个样子还是没有办法处理循环引用得问题,所谓得循环引用就是一个类中的属性有其他引用类型,假设一个这个类的某个实例中的某个引用类型的属性指向了某个对象,就算你把这个实例置为null,也还是有引用的。
    2. 所谓的可达性分析,就是使用一系列可以作为GC Roots的对象作为起点,从这些节点往下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链的时候,就证明这个对象不可用。也就是不可达,所以被判定为可回收。
        可以作为GC Roots 的对象有:虚拟机栈中引用的对象,方法区的静态属性引用的对象,常量引用的对象和本地方法栈中JNI(Java Native Interface)引用的对象。

C、正确

D、OOM和内存泄露都还是有得
    1. OOM,内存溢出,是说原来得内存不够用了
    2. 内存泄漏,说得一个对象没用了,但是不能被回收

(4)下面选项中是合法的类样式的是(A)

A. .Word

B. #Word

C. .2A

D. #A2

 

(5)以下有关JSTL 的说法不正确的是(D)

A. JSTL 就是一个JSP标签库

B. 核心标签库为日常任务提供通用支持

C. 国际化标签库支持多语种的应用程序

D. 函数标签库提供了许多用于XML 处理的标准EL 函数

解析:使用JSP的标准标签库可以避免写过多的Scriptlet代码,JSTL(JSP Standard Tag Library标准标签库),是一个开源的标签组件,使用JSTL标签库可以简化JSP的开发。JSTL中主要的标签库有:核心标签库、SQL标签库、XML标签库、函数标签库、I18N格式标签库。函数标签库中大部分操作主要用来处理字符串的,和String中提供的方法类似。

 

(6)给定TheBean类,假设还没有创建TheBean类的实例,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域(C)

A. 

B. 

C. 

D. 

解析:jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。jsp:useBean动作最简单的语法为: 

<jsp:useBean id="name" class="package.class" />

 

(7)下列说法正确的是(D)

A. 实例方法可直接调用超类的实例方法

B. 实例方法可直接调用超类的类方法

C. 实例方法可直接调用其他类的实例方法

D. 实例方法可直接调用本类的类方法

解析:

A、如果超类的实例方法没有在子类中被重写的就可以直接调用,但如果经过子类重写了的话就被覆盖了,这时需要通过super关键字来调用了。

B、不能调用 ,只能说明该方法是超类的 私有方法private如果是protected或 public 或 无修饰 都可以直接调用

C、如果是私有的,ABC都不能访问

 

(8)一个作业系统中有4台打印机,每个作业需要独占2台打印机才能完成,则该系统做多可以同时执行多少作业而保证不会死锁

A. 1

B. 2

C. 3

D. 4

解析:链接:https://www.nowcoder.com/questionTerminal/b3f1797423434618a14e492b49c898fa
来源:牛客网
设有x个作业,先为每个作业分配1台打印机,然后再预留1个打印机,那么只要1*x+1<=4,那么系统提供的打印机可以让一个作业执行,执行完以后,释放打印机;然后剩余作业又可以申请打印机,从而不会死锁。满足1*x+1<=4的x的最大值是3。

 

(9)以下不属于JSP的标准指令的是(C)

A. Taglib

B. Include

C. Import

D. Page

解析:

一、page指令

功能:设定整个JSP网页的静态属性。

语法:<%@ page 标签元素=“值”%>,比如 <%@ page language=“java”%>

标签元素:language、import、contentType、session、errorPage、isErrorPage等等。

二、include指令

功能:include指令用来向当前页面插入一个静态文件的内容。这个文件可以是JSP、HTML、文本或是Java程序。

语法:<%@ include file=“filename” %> 比如 <%@ include file=“111.txt” %>

标签元素:file

三、taglib指令

功能:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。

当页面引用了用户自定义标签时,taglib指令用于引用自定义标签库,并指定标签的前缀。

语法:<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

如<%@ taglib uri="http://www.jspcentral.com/tags" prefix="JAXP" %>

标签元素:uri、Prefixpage指令元素的属性

 

(10)接口是Java面向对象的实现机制之一,以下说法正确的是(B)

A. Java支持多重继承,一个类可以实现多个接口;

B. Java只支持单重继承,一个类可以实现多个接口;

C. Java只支持单重继承,一个类只可以实现一个接口;

D. Java支持多重继承,但一个类只可以实现一个接口。

 

(11)Spring中Before通知的目标对象要实现的接口中before方法中的三个常用的参数依次是(A)

A. 方法,方法的参数,目标对象

B. 方法的参数,方法,目标对象

C. 目标对象,方法,方法的参数

D. 方法的参数,目标对象,方法

解析:https://blog.csdn.net/Milan__Kundera/article/details/82287395

 

(12)Spring中提供通过Web容器来启动Spring框架的类有(C)

A. ActionServlet

B. ServletLoaderListner

C. ContextLoaderServlet

D. 以上都正确

解析:https://blog.csdn.net/m0_38120325/article/details/86743070

 

(13)关于sessionStorage和localStorage,以下说法正确的有(B)

A. localStorage作用域都不受限制,可以跨域访问

B. localStorage是持久化的本地存储

C. sessionStorage仅当用户logout或者手动清除缓存时才失效

D. sessionStorage超过超时时间就失效

解析:https://www.cnblogs.com/pengc/p/8714475.html

 

(14)对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为(B)

A. {314,298,508,123,145,486}

B. {298,314,508,123,486,145}

C. {298,123,314,508,486,145}

D. 123、298,314,508,486,145}

解析:https://www.cnblogs.com/hokky/p/8529042.html

 

(15)以下哪个方法可以通知JAVA虚拟机进行垃圾回收(D)

A. System.exit(0)

B. System.runFinalization()

C. System.setOut(out)

D. System.gc()

 

(16)在JAVA中,Math.round(-9.5)的值是多少

A. 9

B. -9

C. 10

D. -10

解析:round取最接近,比如-9.6,它更靠近-10,所以Math.round(-9.6)取-10,
-9.5与-10和-9一样近,这时取最大值,为-9,在比如9.5,在10与9一样近就取10.
这是ROUND不得不说的秘密.

 

(17)在 web.xml 中使用()标签配置过滤器(A)

A. 

B. 

C. 

D. 

解析:https://blog.csdn.net/qq_39717535/article/details/80871679

 

(18)下面有关HTTP协议的说法不正确的是(D)

A. HTTP 协议是Web 应用所使用的主要协议

B. HTTP 协议是一种超文本传输协议( Hypertext Transfer Protocol ),是基于请求/响应模式的

C. HTTP 是无状态协议

D. HTTP 的请求和响应消息如果没有发送并传递成功的话, HTTP 可以保存已传递的信息

解析:https://blog.csdn.net/ly4885806/article/details/4355172

 

(19)下列语句中能够正确的在一个HTML页面中导入在同一目录下的“StyleSheet1.css”样式表的是(B)

A. 

B. 

C. 

D. 

解析:link用来引入css文件:

1、其属性rel规定当前文档与被链接文档之间的关系(

  • alternate
  • author
  • help
  • icon
  • licence
  • next
  • pingback
  • prefetch
  • prev
  • search
  • sidebar
  • stylesheet
  • tag

).

2、href规定被链接文档的位置。

3、规定被链接文档的 MIME 类型。

 

(20)类与对象的关系是(A)

A. 类是对象的抽象

B. 对象是类的抽象

C. 对象是类的子类

D. 类是对象的具体实例

解析:https://blog.csdn.net/daponi/article/details/90739284

 

(21)list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象 Iterator it = list.iterator(); int index = 0; while (it.hasNext()){ Object obj = it.next(); if (needDelete(obj)) { //needDelete返回boolean,决定是否要删除 //todo delete } index ++; }(A)

A、it.remove();
B、list.remove(obj);
C、list.remove(index);
D、list.remove(obj,index);

解析:使用迭代器删除最安全。

 

(22)CSS样式background-position:-5px 10px代表的意义是(A)

A. 背景图片向左偏移5px,向下偏移10px

B.  背景图片向左偏移5px,向上偏移10px

C. 背景图片向右偏移5px,向下偏移10px

D. 背景图片向右偏移5px,向上偏移10px

解析:想象成一个向右、向下为正的坐标即可。

https://www.cnblogs.com/hongdiandian/p/8527106.html

 

(23)以下哪个不是spring的核心组件(D)

A. Core

B. Bean

C. Context

D. Aop

解析:https://blog.csdn.net/drdongshiye/article/details/84204007

 

(24)编译运行以下程序后,关于输出结果的说明正确的是 public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9 :9)); } }(C)

A. 输出结果为:value is 99.99

B. 输出结果为:value is 9

C. 输出结果为:value is 9.0

D. 编译错误

解析:若x>4为真则执行冒号前的,若x>4为假,则执行冒号后的。因为整个表达式最高的是DOUBLE型,所以自动向上转型,显示9.0

 

(25)我们通过Chrome DevTools调试前端代码时,发现静态资源的HTTP状态码是多少时,需要强制重新刷新页面(B)

A. 204

B. 304

C. 403

解析:https://blog.csdn.net/hangmine/article/details/79010025

 

(26)以下关于Java Servlet API说法错误的是(D)

A. Java Servlet API 是一组Java类,它定义了Web客户端和Web Servlet之间的标准接口。

B. Java Servlet API由两个包组成:javax.servlet 和 javax.servlet.http。

C. javax.servlet.http包对http协议提供了特别的支持。

D. javax.servlet包提供了对除http协议外其他协议的支持。

 

(27)在JavaScript中,以下变量命名非法的是(B)

A. numb_1

B. 2numb

C. sum

D. de2$f

解析:https://www.cnblogs.com/ravenes/p/9814104.html

 

(28)按照MVC设计模式,JSP用于实现(B)

A. Model

B. View

C. Controller

D. 容器

 

(29)在jQuery中,下面的说法错误的是(B)

A. $("ul li:first") 指选取

    下的第一个
  • 子元素

    B. $("ul li:gt(2)") 指选取

      下的索引从2开始的所有
    • 子元素

      C. $("ul li:eq(2)") 指选取

        下的索引为2的
      • 子元素

        D. $("ul li:not(:first)")指选取

          下的除了第一个
        • 子元素的所有
        • 子元素

          解析:B选项不是从2开始,而是大于2

           

          (30)以下哪一个选项是html5的dtd(A)

          A. 

          B. 

          C. 

          D. 

          解析:dtd  文档类型声明/定义。

          链接:https://www.nowcoder.com/questionTerminal/175f3f568cd84372ba48f8bcb2f77c92
          来源:牛客网

          在 HTML 4.01 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。 HTML5 不基于 SGML,所以不需要引用 DTD。 在 HTML 4.01 中有三种 声明。在 HTML5 中只有一种:

           

          (31)关于IOC的理解,不正确的是(C)

          A. 控制反转

          B. 对象被动的接口依赖类

          C. 对象主动的去找依赖类

          D. 一定要用接口

          解析:https://blog.csdn.net/ji1127780204/article/details/80291266

           

          (32)下面哪个注解可以同时在方法和方法的参数上同时使用(C)

          A. @Component

          B. @Repository

          C. @ModelAttribute

          D. @RequestMapping

          解析:https://blog.csdn.net/leo3070/article/details/81046383

           

          (33)FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型(A)

          A. OutputStream

          B. File

          C. InputStream

          D. BufferedOutputStream

           

          (34)下面有关js的描述中不正确的是(C)

          A. arguments 中保存了实际传入函数内的所有参数。

          B. return 只能在函数内部使用。

          C. setInterval(fn1,1000) 只会调用一次 fn1。

          D. Date 对象的 getMonth() 获取到的值比实际月份小1。

          解析:

          C选项表示每秒调用一次。

          https://blog.csdn.net/qq_42039281/article/details/82389601

          https://blog.csdn.net/haotpj/article/details/40085423

           

          (35)在以下哪些情况下session会话不会结束生命周期(D)

          A. 客户端关闭浏览器

          B. 会话超时

          C. 服务器调用了HttpSession的invalidate()方法

          D. 客户端没有访问本应用而连接到别的应用上

           

          (36)某JSP中有如下代码:

          <%

          pageContext.setAttribute(“a”,”page”);

          request.setAttribute(“a”,”request”);

          session.setAttribute(“a”,”session”);

          application.setAttribute(“a”,”application”);

          %>

          有:${a}

          则显示结果为:(A)

          A. page

          B. request

          C. session

          D. application

          解析:参数状态放在上下文中的。

           

          (37)下面代码输出的结果为

          for (var i=0;i<10;i++){

           setTimeout(function(){

           console.log(i);

           }

           ,1000);

          }(B)

          A. 0-9

          B. 10个10

          C. 10个9

          D. 无限循环

          解析:链接:https://www.nowcoder.com/questionTerminal/ccbfb04e27064b99bf0c104fda7e318b
          来源:牛客网

          setTimeout中的闭包函数是每1s执行一次,由于for循环的执行速度远小于1s,所以当开始执行闭包函数的时候for循环已经结束了(i=10),之后闭包函数执行十次(因为循环了10次),所以打印了10个10。

           

          (38)静态变量static在不同的实例中地址是否一样?他们存储在什么区域(C)

          A. 地址一样,在堆栈区

          B. 地址不一样,在堆栈区

          C. 地址一样,在全局区

          D. 地址不一样,在全局区

          解析:https://www.cnblogs.com/dehao/p/11226345.html

           

          (39)在Servlet中,下列语句可以正确获取PrintWriter对象的是(C)

          A. PrintWriter out=request.getWriter();

          B. PrintWriter out = request.getPrintWriter();

          C. PrintWriter out=response.getWriter();

          D. PrintWriter out = response.getPrintWriter();

           

          (40)下面有关html5标签说法错误的有(B)

          A. audio 标签定义声音,比如音乐或其他音频流

          B. canvas比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容

          C. menu标签定义菜单列表。当希望列出表单控件时使用该标签

          D. command 标签定义命令按钮,比如单选按钮、复选框或按钮

           

          (41)手动写动画最小时间间隔是多久(A)

          A. 16.7ms

          B. 60ms

          C. 26ms

          D. 6ms

          解析:多数显示器的默认频率是60hz,即每秒刷新60次。所以理论上的最小间隔是1/60*1000ms=16.7ms

           

          (42)下面有关浏览器中使用js跨域获取数据的描述,说法错误的是(A)

          A. 域名、端口相同,协议不同,属于相同的域

          B. js可以使用jsonp进行跨域

          C. 通过修改document.domain来跨子域

          D. 使用window.name来进行跨域

           

          (43)JSP中有三大类标签,分别是(C)

          A. HTML标记、JSP标记、Servlet标记

          B. CSS标记、HTML标记、JavaScript标记

          C. 动作标记、脚本标记、指令标记

          D. 指令标记、脚本标记、HTML标记

          解析:https://blog.csdn.net/qq_37503890/article/details/89163735

           

          (44)在J2EE中,request对象的方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据(C)

          A. String getParameter(String name)

          B. String[] getParameter(String name)

          C. String[] getParameterValues(String name)

          D. String getParameterValues(String name)

           

          (45)下面有关Servlet 的描述错误的是(C)

          A. 一个Servlet 就是Java 中的一个类

          B. Servlet 是位于Web 服务器内部的服务器端的Java应用程序

          C. Servlet 可以由客户端的浏览器解释执行

          D. 加载Servlet 的Web 服务器必须包含支持Servlet 的Java虚拟机

           

          (46)Spring-test 用什么约定在测试中使用HTTP会话和HTTP 请求对象(D)

          A. MVC

          B. Open-closed principle

          C. DAOs

          D. Mock objects

           

          (47)CSS哪些属性可以继承(A)

          A. font-size

          B. margin

          C. width

          D. padding

           

          (48)CSS哪些属性可以继承(A)

          A. font-size

          B. margin

          C. width

          D. padding

          解析:https://blog.csdn.net/qq_36658051/article/details/81633963

           

          (49)执行下列语句后,i 和n的值为 int i=10;int n= i++%5;(B)

          A. 10,0

          B. 11,0

          C. 10,1

          D. 11,1

          解析:本题考查了++和%两个运算符。++运算符在前是先使用操作数的值参与表达式的计算,然后将操作数的值加1;%是求余。该题参与运算的i的值是10,而运算完后i的值就变为11,n=0。所以本题选B。

           

          (50)在CSS3中,以下哪个IE浏览器(Trident内核)的私有属性前缀(D)

          A. –Webkit

          B. –trident

          C. –ie

          D. –ms

          解析:链接:https://www.nowcoder.com/questionTerminal/811164cc6d25484686082b2b0b761717?orderByHotValue=1&mutiTagIds=644_574&page=7&onlyReference=false
          来源:牛客网
           

          主流浏览器内核私有属性css前缀:mozilla内核 (firefox,flock等)     -moz

                                                                webkit内核(safari,chrome等)   -webkit

                                                                opera内核(opera浏览器)         -o

                                                                trident内核(ie浏览器)               -ms

           

          (51)下列哪个为JSP的隐含对象(B)

          A. env

          B. page

          C. jspinfo

          D. context

          解析:https://www.cnblogs.com/sunfenqing/p/7324825.html

           


          (52)能够保留请求作用域中数据的转向方式是(D)

          A. response.forward()

          B. response.sendRedirect()

          C. session.getRequestDispatcher().forward(request,response)

          D. request.getRequestDispatcher().forward(request,response)

           

          (53)关于样式表的优先级说法不正确的是(D)

          A. 直接定义在标记上的CSS样式级别最高

          B. 内部样式表次之

          C. 外部样式表级别最低

          D. 当样式中属性重复时,先设的属性起作用

          解析:https://www.runoob.com/w3cnote/css-style-priority.html

           

          (54)下列函数哪些不是JavaScript的全局函数(C)

          A. encodeURI

          B. parseFloat

          C. setTimeout

          D. eval

           

          (55)下列正则表达式中,( )可以匹配首位是小写字母,其他位数是小写字母或数字的最少两位字符串(B)

          A. /^\w{2,}/

          B. /^[a-z][a-z0-9]+$/

          C. /^[a-z0-9]+$/

          D. /^[a-z]\d+$/

           

          (56)下面哪一项不是加载驱动程序的方法(A)

          A. 通过DriverManager.getConnection方法加载

          B. 调用方法 Class.forName

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

          D. 通过registerDriver方法注册

           

          (57)关于,下列说法不正确的是(D)

          A. 它可以包含静态文件 

          B. 它可以包含动态文件 

          C. 当它的flush属性为true时,表示缓冲区满时,将会被清空

          D. 它的flush属性的默认值为true

           

          (58)在jquery中,如果想要获取当前窗口的宽度值,下面哪个是实现该功能的(A)

          A. width()

          B. width(val)

          C. width

          D. innerWidth()

           

          (59)使用GET方式提交数据,接收数据时,处理中文最直接有效方式是(C)

          A. request.setCharacterEncoding("utf-8");

          B. response.setContentType("text/html;charset=utf-8");

          C. String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");

          D. response.setCharacterEncoding("gbk");

          解析:https://blog.csdn.net/u012564085/article/details/80003283

           

          (60)Page指令中的哪一个属性用来定义Jsp页面中MIME类型和Jsp字符的编码(B)

          A. import

          B. contentType

          C. language

          D. session

          解析:https://www.cnblogs.com/daemonzd47/p/11208522.html

           

          (61)32位的ip地址3232238233转换为字符串的Ip地址正确的是(D)

          A. 192.168.32.132

          B. 192.168.40.150

          C. 192.168.10.14

          D. 192.168.10.153

          解析:链接:https://www.nowcoder.com/questionTerminal/963afaca5b9c4f17b371480f740e0453
          来源:牛客网
           

          3232238233转化为二进制110000001010100000001010 10011001,有32位

          分成4个八位:11000000  10101000  00001010   10011001

          转化为二进制数:192.168.10.153

          似乎转化为二进制只能硬算

           

          (62)假设今天是2019年5月1日星期三,请问以下javascript代码输出结果是 var time = new Date( ); document.write(time.getMonth( ));(A)

          A. 4

          B. 5

          C. 6

          D. 5月

           

          (63)以下哪个不是常用的结构标签(D)

          A. header

          B. section

          C. aside

          D. a

          解析:https://blog.csdn.net/Mr_fengzi/article/details/97954239

你可能感兴趣的:(有趣的题)