Java基础知识

安全性:

下面有关JAVA代码安全性的叙述错误的是()

A 字节码校验器加载查询执行所需的所有类

B 运行时由解释器执行代码

C 运行时,字节码被加载,验证,然后在解释器中执行

D 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性

答案:A


解析:
类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,执行文件的内存划分就固定了,
在这个时候,特定的内存地址被分配给对应的符号引用,查找表也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护,防止未授权的访问;
然后字节码校验器进行校验,主要执行下面的检查,类是否符合JVM规范的类文件格式,有没有违反访问限制,代码有没有造成堆栈的上溢或者下溢,所有操作代码的参数类型是否都是正确的,有没有非法的数据类型转换(例如将整型数转换成对象类型)发生;校验通过的字节码被解释器执行,解释器在必要时通过运行时系统执行对底层硬件的相应调用。

 

https://www.nowcoder.com/questionTerminal/b379f1fc68714a569a89012ce90d2b0b?orderByHotValue=2&done=0&pos=65&onlyReference=false

 

基础语法:

(1) a = i--

(2) a = --i

(3) a = 15%4

(4) a = 14 / 4

(5) a = (i^=7)

变量i的值为4,下列操作能够得到变量a的值为3的是 2.3.4.5

 

--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。

i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。

#include"stdio.h"
void main()
{
    int i=4,j,k;
    j=i--;    //i先赋值给j,然后i再执行i=i-1;
    k=--i;    //i先执行i=i-1,然后再赋值给k;
    printf("i=%d,j=%d,k=%d",i,j,k);
}

运行结果为: i=2,j=4,k=2

你可能感兴趣的:(Java基础知识)