12

添加链接描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

傻不拉几的小傻瓜
互斥锁指的是只有一个线程可以访问该对象。
通过继承Thread类或实现Runnable接口,只是创建线程的两种方式。
发表于 2018-07-17 09:52

链接:https://www.nowcoder.com/questionTerminal/f01690e35b8543d0a52ade5571c7357a
来源:牛客网
牛客00l号
采用synchronized修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个monitor(锁标记),当线程拥有这个锁标记时才能访问这个资源,没有锁标记便进入锁池。任何一个对象系统都会为其创建一个互斥锁,这个锁是为了分配给线程的,防止打断原子操作。每个对象的锁只能分配给一个线程,因此叫做互斥锁。
发表于 2018-07-14 19:02

链接:https://www.nowcoder.com/questionTerminal/f01690e35b8543d0a52ade5571c7357a
来源:牛客网
梦合九千
发表一下自己的看法
A.可以获得对任何对象的互斥锁定,感觉说的太绝对,错误原因不知道。
B 线程的创建方式与线程之间互斥无关
C synchronized关键字可以实现互斥
D 线程创建方式不止通过继承Thread类来实现
编辑于 2018-07-19 15:21

在这里插入图片描述

这里是引用
在这里插入图片描述

NOWCODER我最帅头像
NOWCODER我最帅
首先 我们要知道 == 这个比较符号
可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
"
“和”!="比较的是地址 指第一个new()c出来的地址
所以因为两次new() 分出的内存也不同
所以
System.out.print(n1 == n2);返回 false
!=就返回true
所以
答案:B

在这里插入图片描述

解析
答案:A
Vector支持线程的同步,也就是内部加锁的
但是效率低,因此在新版jdk中加入线程不安全的Arraylist

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

解析
答案:B
首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

解析
A选项正确,B选项,super()必须在第一行的原因是: 子类是有可能访问父类对象的, 比如在构造函数中使用父类对象的成员函数和变量, 在成员初始化使用了父类, 在代码块中使用了父类等等, 所以为保证在子类可以访问父类对象之前,一定要完成对父类对象的初始化。   关于this()必须在第一行的原因,我们假设这样一种情况,,类B是类A的子类如果this()可以在构造函数的任意行使用, 那么当程序运行到构造函数B()的第一行,发现没有调用this()和super(),那么就会自动在第一行补齐super() 来完成对父类对象的初始化, 然后返回子类的构造函数继续执行, 当运行到构造函数B()的"this() ;"时, 调用B类对象的构造函数, 还会对父类对象再次初始化!,这就造成了资源的浪费,以及某些意想不到的错误。也正因如此C选项错误。
D选项,**无论是this()还是super()指的都是对象,而static环境中是无法使用非静态变量的。**因此D选项错误。

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/f61560a794f543a5a1f7c4740d52c481
来源:牛客网
王半瓶
如果类中有内部类,会产生类名$内部类名.class,如果有匿名类则会产生 类名$1.class.。所以类编译不一定会产生1个class文件。所以答案应该是B
发表于 2017-11-23 17:06

在这里插入图片描述

JASON007-牛哞哞
z=0时候,执行++x > 2,不成立,&&后面就不执行了,此时 x=1,y=0,k=0;
z=1时候,执行++x > 2,还不成立 ,&&后面就不执行了,此时 x=2,y=0,k=0;
z=2时候, 执行++x > 2,成立,继续执行 ++y > 2, 不成立 , &&后面就不执行了, 此时 x=3,y=1,k=0;
z=3时候,执行++x > 2,成立,继续执行++y > 2,不成立 , &&后面就不执行了, 此时 x=4,y=2,k=0;
z=4 时候,执行++x > 2,成立,继续执行 ++y > 2, 成立 , 继续执行k++>2 ,不成立,此时仍没有进入for循环的语句中, 但此时 x=5,y=3,k=1;
z=5时候,不满足条件了,整个循环结束,所以最好打印时候: x=5,y=3,k=1;
发表于 2015-09-29 09:34:15

在这里插入图片描述

牛客7943539号头像
牛客7943539号
小数类型默认为double,int/double=double,所以该题结果应为0.5
发表于 2017-05-04 20:27:02
回复(1)

在这里插入图片描述

解析
D
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。

在这里插入图片描述

解析
答案:C
枚举类有三个实例,故调用三次构造方法,打印三次It is a account type

在这里插入图片描述在这里插入图片描述

小牛快跑233头像
小牛快跑233
负数的补码 = 原码取反 + 1,即:
-n = ~n + 1 → ~n = -n -1
j:10 = - 10 - 1 = -11
i + j = 5 + -11 = -6
发表于 2016-08-24 01:53:26

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/6047ef1f4cd345279a363580e6940547
来源:牛客网
Buffoon丶果
throws 和 throw:
throws出现在方法头,表示可能会出现异常;
throw是在方法体,抛出了异常,执行throw则一定抛出了某种异常
发表于 2019-02-14 16:41

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值