广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java日常练习题,每天进步一点点(2)
  • 745
分享到

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

2024-04-02 19:04:59 745人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1、现有如下代码段:2、对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理。3、多重继承的概念在Java中实现是通过如下哪些?()4、关于 Socket 通信编

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

1、现有如下代码段:


x = 2;
while(x<n/2){
	x = 2*x;
}  

假设n>=0,则其时间复杂度应为( )

正确答案: A

O(log2(n))

O(nlog2(n))

O(n)

O(n^2)

题解:循环终止条件是 x > n/2 在这里插入图片描述

2、对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理。

正确答案: B

正确

错误

题解:运行异常,可以通过java虚拟机来自行处理。非运行异常,我们应该捕获或者抛出。

3、多重继承的概念在Java中实现是通过如下哪些?()

I. 扩展两个或多个类

II. 扩展一个类并实现一个或多个接口。

III. 实现两个或更多接口。

正确答案: B

只有I &II

只有II & III

只有III

都是

题解: Java只支持单继承,实现多重继承三种方式:(1)直接实现多个接口(2)扩展(extends)一个类然后实现一个或多个接口(3)通过内部类去继承其他类

4、关于 Socket 通信编程,以下描述正确的是:( )

正确答案: C

客户端通过new ServerSocket()创建tcp连接对象

客户端通过TCP连接对象调用accept()方法创建通信的Socket对象

客户端通过new Socket()方法创建通信的Socket对象

服务器端通过new ServerSocket()创建通信的Socket对象

题解:客户端通过new Socket()方法创建通信的Socket对象服务器端通过new ServerSocket()创建TCP连接对象

5、以下哪个命令用于查看tar(backup.tar)文件的内容而不提取它?()

正确答案: B

tar -xvf backup.tar

tar -tvf backup.tar

tar -svf backup.tar

none of these

题解: -s 还原文件的顺序和备份文件内的存放顺序相同。 -t 列出备份文件的内容。 -v 显示指令执行过程。 -f 指定压缩文件 -x 从备份文件中还原文件。所以不能有x和s

把常用的tar解压命令总结下,当作备忘:


tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg 
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif 
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar loGo.gif 
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar 
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar 
这条命令是解出all.tar包中所有文件,-x是解开的意思

压缩
tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg   zip格式的压缩,需要先下载zip for linux 
解压
tar –xvf file.tar  解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2   解压 tar.bz2
tar –xZvf file.tar.Z   解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip
总结
*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压


linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。
1.命令格式:
tar[必要参数][选择参数][文件] 
2.命令功能:
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的 
3.命令参数:
必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息
4.常见解压/压缩命令
tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName 
 
5.使用实例
实例1:将文件全部打包成tar包
命令:
tar -cvf log.tar log2012.log
tar -zcvf log.tar.gz log2012.log
tar -jcvf log.tar.bz2 log2012.log

6、下列哪个选项是Java调试器?如果编译器返回程序代码的错误,可以用它对程序进行调试。

正确答案: C

java.exe

javadoc.exe

jdb.exe

javaprof.exe

题解: javac.exe是编译.java文件 java.exe是执行编译好的.class文件 javadoc.exe是生成Java说明文档 jdb.exe是Java调试器 javaprof.exe是剖析工具

7、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。


package algorithms.com.guan.javajicu;  
public class Inc {  
    public static void main(String[] args) {  
       Inc inc = new Inc();  
       int i = 0;  
       inc.fermin(i);  
       i= i ++;  
       System.out.println(i); 
    }  
    void fermin(int i){  
       i++;  
    }  
}  

正确答案: A

0

1

2

3

题解: i++ 先赋值在计算结果; ++i 先计算结果再赋值。 int i = 0; i = i ++; // 左边这个i其实是障眼法,就是一个中间变量,可以和下行的i合并; System.out.println(i); 这里等价于: int i = 0; System.out.println(i++); 这下再看,先赋值(先将i传给println函数打印出来,在计算表达式结果) 所以打印出来的是0,实际上整个表达式的结果已经是1了,只是没有打印出整个表达式的结果。所以我们知道如下结论: 1、无论怎么变,i++和++i的整个表达式的结果都是1. 2、有时我们打印的是表达式的结果(System.out.println(++i)), 有时我们打印的只是一个中间变量(System.out.println(i++))。 Ps: int i = 0; i++; System.out.println(i); //值为1 打印的是表达式的结果 int i = 0; ++i; System.out.println(i); //值为1 打印的是表达式的结果 int i = 0; i = i++; System.out.println(i); //值为0 打印的是中间变量(JVM中间缓存变量机制) int i = 0; i = ++i; System.out.println(i); //值为1 打印的是表达式的结果

8、在 myjsp.jsp 中,关于下面的代码说法错误的是: ( )

<%@ page language=“java” import=“java.util.*” errorPage=“error.jsp” isErrorPage=“false” %>

正确答案: A

该页面可以使用 exception 对象

该页面发生异常会转向 error.jsp

存在 errorPage 属性时,isErrorPage 是默认为 false

error.jsp 页面一定要有isErrorPage 属性且值为 true

题解: A项:页面有isErrorPage属性且值为false,不可以使用 exception 对象当isErrorPage ="false"时,用errorPage=“error.jsp”(isErrorPage默认是false) 当isErrorPage ="true"时,页面会直接使用exception

9、根据下面的代码,

String s = null;

会抛出NullPointerException异常的有()。

正确答案: A C


if( (s!=null) & (s.length()>0) )
if( (s!=null) && (s.length()>0) )
if( (s==null) | (s.length()==0) )
if( (s==null) || (s.length()==0) )

题解: 逻辑运算符:&&和|| 是按照“短路”方式求值的。如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。 位移运算符:&和| 运算符应用于布尔值,得到的结果也是布尔值,不按“短路”方式计算。即在得到计算结果之前,一定要计算两个操作数的值。 String s=null;没有给s开辟任何空间,当执行length()方法时候,因为没有具体指向的内存空间,所以报出NullPointerException没有指向的错误。 A项: &是与,位运算,两个都得执行,执行到s.length()自然就报错了。 B项: S!=null 结果为false 整体就为false ,&& 后面就不会执行。下面的同理。

10、关于Java中的ClassLoader下面的哪些描述是错误的:( )

正确答案: B D F

A:默认情况下,Java应用启动过程涉及三个ClassLoader: Boostrap, Extension, System

B:一般的情况不同ClassLoader装载的类是不相同的,但接口类例外,对于同一接口所有类装载器装载所获得的类是相同的

C:类装载器需要保证类装载过程的线程安全

D:ClassLoader的loadClass在装载一个类时,如果该类不存在它将返回null

E:ClassLoader的父子结构中,默认装载采用了父优先

F:所有ClassLoader装载的类都来自CLASSPATH环境指定的路径

题解: A、java中类的加载有5个过程,加载、验证、准备、解析、初始化;这便是类加载的5个过程,而类加载器的任务是根据一个类的全限定名来读取此类的二进制字节流到JVM中,然后转换为一个与目标类对应的java.lang.Class对象实例,在虚拟机提供了3种类加载器,引导(Bootstrap)类加载器、扩展(Extension)类加载器、系统(System)类加载器(也称应用类加载器)。A正确 B、一个类,由不同的类加载器实例加载的话,会在方法区产生两个不同的类,彼此不可见,并且在堆中生成不同Class实例。所以B前面部分是正确的,后面接口的部分真的没有尝试过,等一个大佬的讲解吧; C、类加载器是肯定要保证线程安全的;C正确 D、装载一个不存在的类的时候,因为采用的双亲加载模式,所以强制加载会直接报错,D错误 java.lang.SecurityException: Prohibited package name: java.lang E、双亲委派模式是在Java 1.2后引入的,其工作原理的是,如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式,即每个儿子都很懒,每次有活就丢给父亲去干,直到父亲说这件事我也干不了时,儿子自己想办法去完成,所以默认是父装载,E正确 F、自定义类加载器实现 继承ClassLoader后重写了findClass方法加载指定路径上的class,F错误

答案汇总:

1、正确答案: A

2、正确答案: B

3、正确答案: B

4、正确答案: C

5、正确答案: B

6、正确答案: C

7、正确答案: A

8、正确答案: A

9、正确答案: A C

10、正确答案: B D F

总结

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

--结束END--

本文标题: Java日常练习题,每天进步一点点(2)

本文链接: https://www.lsjlt.com/news/130898.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java日常练习题,每天进步一点点(2)
    目录1、现有如下代码段:2、对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理。3、多重继承的概念在Java中实现是通过如下哪些?()4、关于 Socket 通信编...
    99+
    2022-11-12
  • 数据库日常练习题,每天进步一点点(2)
    目录1、在数据库中存储的是( )2、一个数据库中现有A,B,C,D,E,F六个语句但目前这个数据库是不协调的,必须删除某些语句才能恢复数据库的协调性。3、某酒店信息管理系统能够提供多...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(47)
    目录1、public interface IService {String NAME=“default”;}2、关于以下程序代码的说明正确的3、以下 _____ 不是 Object ...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(60)
    目录1、假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实例,下列语句调用哪个是错误的?()2、Java中基本的编程单元为:3、下列代码的执行结果是:( )4、给定以下JA...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(63)
    目录1、Java Application 源程序的主类是指包含有( )方法的类。2、如果定义一种表达式结构:(+ 6 3)的值为9,(- 6 3)的值为3,( * 6 3)的值为18...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(61)
    目录1、如果类的方法没有返回值,该方法的返回值类型应当是abstract。()2、代码String str=”123456a”;int i=Integer.parseInt(str);会报异常的是()3、以下哪个方法用于定义线程的执行体?4...
    99+
    2020-04-03
    Java日常 Java练习题
  • java日常练习题,每天进步一点点(1)
    目录1、HashSet子类依靠()方法区分重复元素。2、下列哪个类的声明是正确的?3、下列关于包(package)的描述,正确的是()4、以下代码执行后输出结果为( )5、Given...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(6)
    目录1、以下二维数组声明合法的是( )2、3、使用mvc模式设计的web应用程序具有以下优点,除了?4、访问权限控制从最大权限到最小权限依次为:public、 包访问权限、prote...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(3)
    目录1、以下不属于构造方法特征的是()2、下面有关java classloader说法错误的是?3、一个文件中的字符要写到另一个文件中,首先需要( )。4、假设num已经被创...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(4)
    目录1、类 ABC 定义如下:2、后端获取数据,向前端输出过程中,以下描述正确的是3、在异常处理中,以下描述不正确的有4、如果一个接口Cup有个方法use(),有个类SmallCup...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(5)
    目录1、下列关于Java类中方法的定义,正确的是()2、Java Application 中的主类需包含main方法,以下哪项是main方法的正确形参?( )3、下面有关java的一...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(7)
    目录1、下面的代码运行的结果是:2、下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?3、执行如下代码段后,变量s1引用的字符串值是( )。4、类A1和类A...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(8)
    目录1、this代表了()的对象引用,super表示的是当前对象的()对象?2、输出内容是:3、下面程序的输出是:()4、执行下列代码的输出结果是( )5、下面代码的输出结果...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(9)
    目录1、“先进先出”的容器是:( )2、不考虑反射机制,一个子类显式调用父类的构造器必须用super关键字。( )3、以下是java concurrent包下的4个类,选出差别最大的...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(10)
    目录1、在运行时,由java解释器自动引入,而不用import语句引入的包是()。2、以下关于集合类ArrayList、LinkedList、HashMap描述错误的是()3、列表(...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(11)
    目录1、对接口的描述正确的是()2、类中的数据域使用private修饰为私有变量,所以任何方法均不能访问它。3、已知如下类定义:4、在java的一个异常处理中,可以包含多个的语句块是...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(12)
    目录1、Which is the return type of the method main()?2、java中用()字指明继承关系.用()关键字指明对接口的实现。3、顺序...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(13)
    目录1、以下关于java封装的描述中,正确的是:2、请问所有的异常类皆直接继承于哪一个类?()3、Which statement is true for the class java...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(14)
    目录1、下面程序的运行结果:()2、如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是()3、有以下类定义:...
    99+
    2022-11-12
  • Java日常练习题,每天进步一点点(15)
    目录1、main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的()。2、一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系?3、下列关...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作