java基础知识点
来源:互联网 发布:windows安装jdk 编辑:程序博客网 时间:2024/05/22 13:00
&和&&区别:&是位运算符,&&是布尔逻辑运算符
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口):
匿名内部类是没有名字的内部类,不可以继承其他类,但一个内部类可以作为接口由另一个内部类实现
Collection 和Collections的区别
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- public class TestCollections {
- public static void main(String args[]) {
- //注意List是实现Collection接口的
- List list = new ArrayList();
- double array[] = { 112, 111, 23, 456, 231 };
- for (int i = 0; i < array.length; i++) {
- list.add(new Double(array[i]));
- }
- Collections.sort(list);
- for (int i = 0; i < array.length; i++) {
- System.out.println(list.get(i));
- }
- // 结果:23.0 111.0 112.0 231.0 456.0
- }
- }
① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。
sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。
② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。
Thread.sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。
③ 使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。
synchronized(x){
x.notify()
//或者wait()
}
- java基础总结知识点
- JAVA基础方面知识点
- java 基础知识点汇总
- java基础面试知识点
- Java基础部分知识点
- java基础知识点考察
- java基础知识点汇总
- java基础知识点积累
- java基础知识点
- java基础知识点
- java基础知识点
- java基础知识点总结
- java基础知识点集合
- java基础知识点
- JAVA基础知识点总结
- java基础知识点笔记
- Java基础知识点汇总
- JAVA基础知识点整理
- cas4.2.x 自定义登录页面
- jQuery UI Autocomplete控件下拉列表固定高度
- /includes/lib_base.php on line 346 Ecshop出现问题
- 从分布式一致性谈到CAP理论、BASE理论
- volley 缓存清理不干净
- java基础知识点
- 老生常谈,正确使用memset
- 关于ORA-00979 不是 GROUP BY 表达式错误的解释:
- 正则表达式在linux中的应用
- [BZOJ 4815] [Cqoi2017]小Q的表格 解题报告
- uboot启动阶段修改启动参数方法及分析
- 安装VIm以及开始学习
- ubuntu运行故障处理(1)
- python爬虫学习