- 博客(12)
- 问答 (18)
- 收藏
- 关注
原创 说说你对同步和异步的理解
1.如果系统中存在临界资源(资源数量少于竞争资源的线程数量的资源),例如正在写的数据以后可能被另外一个线程读到,或者正在读的数据可能已经被另外一个线程写过了,那么这些数据就必须进行同步存取(数据库中的排它锁就是最好的例子)2.当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途经往往更有效率,事实上,所谓的同步就是指...
2018-04-26 17:03:40 1440
原创 线程的sleep()方法和yield()方法有什么区别?
1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会2.yield()方法只会给相同优先级或更高优先级的线程以运行的机会3.线程执行sleep()方法后转入阻塞(blocked)状态,而执行yield()方法后转入就绪(ready)状态4.sleep()方法声明会抛出InterruptedException,而yield()方法没有声明任何异常5.sle...
2018-04-25 21:00:38 2847
原创 Java如何实现序列化,有什么意义?
1.实现序列化:1)让类实现Serializable接口,该接口是一个标志性接口,标注该类对象是可被序列2)然后使用一个输出流来构造一个对象输出流并通过writeObect(Obejct)方法就可以将实现对象写出3)如果需要反序列化,则可以用一个输入流建立对象输入流,然后通过readObeject方法从流中读取对象2.作用:1)序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流...
2018-04-24 21:16:40 27190 8
原创 当一个线程进入一个对象的synchronized方法A之后,其他线程是否可进入此对象的synchronized方法B?
给出答案: 是不能的,其他线程只能访问该对象的非同步方法,同步方法则不能进入; 因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法,说明对象所已经被取走了,那么试图进入B方法的线程就只能在等锁池(注意这里不是等待池)中等待对象的锁
2018-04-20 10:55:58 2449 1
原创 Thread类中的sleep()和对象的wait()有什么区别?
区别:1.sleep()方法是线程类的静态方法,调用此方法会让当前线程暂停执行指定时间.将CPU时间片分给其他线程,但是对象的锁依然保持.休眠时间结束后会自动恢复到就绪状态;2.wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁,线程暂停执行,进入对象的等待池,只有调用对象的notify()方法或者notifyAll()方法时,才
2018-04-20 10:29:32 1393
原创 List,Map,Set三个接口存取元素时,各自有什么特点?
存放时:1.List以特定的索引(有顺序的存放)来存放元素,可以有重复的元素2.Set存放元素是无序的,而且不可重复3.Map保存键值对的映射,映射关系可以是一对一(键值)或者多对一,需要注意到的是:键无序不可重复,值可以重复取出时:(1)List取出元素for循环,foreach循环,Iterator迭代器迭代(2)Set取出元素foreach循环,I
2018-04-19 21:58:56 11787
原创 try{}里面有return,finally里的代码会不会执行,什么时候被执行?
给出答案:会执行,在方法返回给调用者前执行,因为如果存在finally代码块,try中的return语句不会立马返回给调用者,而是记录下返回值待finally代码块执行完毕之后再返回;注意这几点:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算...
2018-04-17 18:51:12 10195 2
原创 抽象类和接口的相同点和不同点
相同点:1.抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;2.继承抽象类和实现接口都要对其中的抽象方法全部实现;不同点:1.接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法,而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)2.抽象类中的方法可以是private,protected,public,接口全部都是publi...
2018-04-16 19:42:32 9146 2
原创 构造器(构造方法)是否可以被重写?
直接给出答案: 首先,构造器是不能被继承的,因为每个类的类名都不相同,而构造器名称与类名相同,所以根本谈不上继承。 又由于构造器不能继承,所以就不能被重写。但是,在同一个类中,构造器是可以被重载的。这里再次给出重写和重载(Java)的含义和一些例子加深印象:一,重载1.概念:对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载2...
2018-04-15 15:45:34 24808 3
原创 下面代码打印的结果?
Integer a = 100,b = 100,c=130,d=130; System.out.println(a == b); System.out.println(c==d); 打印结果为:第一个是true;第二个是flase;原因:a,b,c,d四个变量都是integer对象的引用,所以==比较的不是值,而是引用,如果整型字面量的值在-128到127之间,那么不会new新的Inte...
2018-04-13 10:50:43 612
原创 short a=1;a = a+1和short a=1;a+=1有什么区别
这里给出答案:1.对于前一种方法:a = a+1 因为1是int值类型,所以计算的结果是int,需要强制转换才能赋值给short;2.对于a+=1;其相当于a = (short) (a+1);其中已经做了强制转换;...
2018-04-11 21:54:15 3222
原创 访问修饰符public private,protected以及不写时的区别
访问修饰符public private,protected以及不写时的区别:访问权限:修饰符 当前类 同包 子类 其他包public √ √ √ √protected √ √ √ ×default √ √ × ×private √ ...
2018-04-10 21:08:56 1379
空空如也
这个题目的代码有什么问题,为什么输入老是的不对呢,求大神们的指点
2016-06-24
c语言问题求解,请大神们指教
2016-03-29
求大神解决,尤其是那个递增的阶乘那里请解释一下,谢谢
2016-03-06
这个代码为什么输出不对呢求大神指教
2016-02-21
这个题目为什么第二个输入输出是对应的,而第一个输入输出不对应
2016-02-14
按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写
2015-11-30
请用c语言编写此程序,重点在怎么把None输出,求指教
2015-11-26
求用c语言编写此程序,求大神们指教
2015-11-26
求用c语言编写此程序,越简单越好,希望大神们注释一下
2015-11-25
请大神们用c语言编写,并且用for循环,尽量不要太复杂,谢谢
2015-11-21
用while循环和if语句并且用c语言编写,求大神们指教
2015-11-18
怎么用c语言编译这个程序
2015-11-12
怎么用C语言编写这个程序,求指教
2015-11-10
怎么用c语言编这个代码,求指教
2015-11-08
我的代码有什么错误,求解,请用c语言编写
2015-11-08
怎么用c语言做这个题目
2015-11-08
怎么用c语言来做这个问题?
2015-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人