选择题
51.要修改一个文件的时间戳,应该使用什么命令
A.vim
B.date
C.touch
D.echo
- C、解析: linux下touch修改文件的时间戳
50.关于inode哪项描述是正确的
A.inode包含了文件类型和大小
B.inode包含文件名信息
C.inode包含文件或目录的内容
D.每个inode对应一个文件名
49.以下哪个选项和其余选项不是同一类型的东西
A.lvm
B.xfs
C.ext4
D.nfs
- A、解析: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制
其他3个是文件系统
48.当umask为012时,默认创建一个文件,文件的权限是多少
A.664
B.765
C.764
D.644
- A 解析: Linux 文件操作
文件:文件的默认权限是666,如果umask全为偶数,直接各位相减:666-umask,如果umask中有奇数,偶数位相减,奇数位相减后加1。
// 目录:直接各位相减,777-umask。
47.关于聚集索引,下面说法正确的是()
A.有存储实际数据
B.没有存储实际数据
C.物理上连续
D.逻辑上连续
- A、C 解析: 索引 聚集索引和非聚集索引 简析与对比
43.下列不属于存储过程优点的是哪个?
A.可以通过预编译机制提高数据操作的性能
B.可以方便地按用户视图表达数据
C.可以减少客户端和服务端的网络流量
D.可以实现一定的安全控制
- B、解析:存储过程:什么是存储过程,存储过程的作用及优点
41.已知在tmp表的name字段上创建了索引, 以下哪些sql查询时不可能走索引
A.select * from tmp where name = ‘张三’;
B.select * from tmp where name like ‘%test’;
C.select * from tmp where name like ‘test%’;
D.select * from tmp where name not in (‘test’, ‘张三’);
- B、D 解析:sql中索引不会被用到的几种情况
40.以下哪些对mysql myisam存储引擎的描述是正确的:
A.支持外键
B.支持表锁
C.支持事务
D.支持FULLTEXT类型的全文索引
- B、D 解析: MyISAM与InnoDB 的区别(9个不同点)
39.数据库中事务隔离分为4个级别,其中允许“不可重复读”的有
A.SERIALIZABLE
B.READ COMMITTED
C.READ UNCOMMITTED
D.REPEATABLE READ
-B、C 解析: 数据库事务隔离级别及脏读、不可重复读、幻读的理解
36.从数据库中删除表的命令是
A.DROP TABLE
B.TRUNCATE TABLE
C.DELETE TABLE
D.DELETE FROM TABLE
35.数据库事务正确执行的四个基本要素不包括?
A.隔离性 B.持久性 C.强制性 D.一致性
- C、讲解:ACID 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性 共同成功共同失败
隔离性 多线程中多个事务之间相互隔离不影响
一致性 事务执行前后数据库的完整性约束不要
持久性 事务一旦执行完成,数据修改立刻持久化到数据库
31.char变量的默认值是什么?
讲解:
1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。
2、单精度浮点型(float)的基本类型变量的默认值为0.0f。
3、双精度浮点型(double)的基本类型变量的默认值为0.0。
4、字符型(char)的基本类型变量的默认为 “\u0000”。
5、布尔性的基本类型变量的默认值为 false。
6、引用类型的变量是默认值为 null。
30.什么是静态块?()
A.它用于创建同步代码。
B.不存在静态块。
C.它用于初始化静态数据成员,在类加载时在主方法之前行。
D.其他都不是。
- C、讲解:考点静态代码块、JVM相关知识。java中静态代码块详解https://blog.csdn.net/qq_35868412/article/details/89360250
涉及的拓展; java中类加载与静态变量、静态方法与静态代码块详解与初始化顺序
29.什么是反序列化?()
A.反序列化是从字流还原对象状态的过程。
B.序列化是从对象恢复对象状态的过程。
C.A、B两个都对。
D.A、B两个都不对。
- A、讲解:序列化和反序列化。序列化和反序列化的详解
拓展:serialVersionUID 的作用:解决版本的兼容问题
28.空引用可用于访问静态变量或方法 ?
A.正确
B.错误
- A、讲解:空引用 称空对象引用。JVM相关的,
4种引用类型!!!
后面再看。
26.下列哪些语句关于内存回收的说明是正确的。()
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
- B、讲解:内存回收 java内存回收机制
没有强制的垃圾回收机制。
24.下面有关 JVM 内存,说法错误的是?()
1.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的
2.Java 方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
3.方法区用于存储JVM加载的类信息、常量、静态变量、即使编译器编译后的代码等数据,是线程隔离的
4.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
- C、讲解:JVM内存模型和线程隔离级别 JVM存储区划分及是否线程隔离
所有对象都是在堆中分配内存吗?对象的分配,在1.7以后,默认会进行逃逸分析,当分析出当前对象只在当前线程使用,则直接存在栈中,这样做的好处是对象跟随线程的结束而结束,减少了GC的次数,所以,A答案也是错误的,不是所有的对象都是在堆中分配内存的,可以改为【原则上讲,所有在堆区上分配内存的对象,是线程之间共享的】
22.Java 中的线程模型由三部分组成,与线程模型组成无关的是哪个?
1.虚拟的 CPU
2.程序代码
3.操作系统的内核状态
4.数据
- C、讲解:线程是程序中的一个执行流。一个执行流是由CPU运行程序的代码、代码操纵程序的数据所形成的。Java中的线程模型包含3部分:一个虚拟的CPU,该CPU执行的代码,代码所操作的数据。
JVM线程模型详解