Io:
Java的输入输出功能来自于java.io包中的InputStream类、OutputStream类,Reader类和Writer类以及继承他们的各种子类。(前两者操作字节流,后两者操作字符流)
线程:
线程也是一种对象,继承Thread类和实现Runnable借口的方式都可创建线程。
Thread类中常用的方法包括start(),run(),join()等方法。
Runnable接口只有一个run()方法,实现后一般要重写掉。
因为java只允许单一继承,所以如果已经继承了其他类,只能用Runnable接口的方式来实现线程。当一个run()方法体现在继承Thread类中,用this指向实际控制运行的Thread类实例,因此,代码无需如下控制:Thread.currenThread().sleep(),而可以简单地使用:Thread.sleep()。继承Thread类使代码变得简单易读。
sleep() 和 wait() 有什么区别?
答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间(休息),把执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复,时间到了会继续运行。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
线程的生命周期:创建—可执行—非可执行—消亡
1、创建,指的是当实例化一个Thread对象并执行start()方法之后,线程进入可执行状态。
2、可执行,在这种状态下,线程可能被执行完,也可能被处于等待执行的队列。可以用Thread类中的wait()、sleep()方法进入非可执行状态
3、非可执行,可以通过notify()、notifyAll()以及interrupt()方法进入可执行。
4、消亡,在run()方法执行完毕后,线程自动消亡。Stop()方法可以强制消亡,但是会导致线程稳定,现在基本被废弃。
多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
多线程容易产生死锁。
JAVA类实现序列化的方法?在collection中,实现比较要实现什么样的接口?写个例子
答案:java类实现序列化需要实现java.io.Serializable接口。
在collection中实现比较要实现Comparable接口或Comparator接口。
分享到:
相关推荐
看书学习,如《Redis设计与实现》、《 Java 并发编程的艺术》,便于了解技术脉络和深入学习知识点。 看博客和源码精进学习。博客的好处是有些知识点会以很通俗的方式讲解出来,我们很好理解。 第一阶段: Java ...
1. **JAVA开发语言**:JAVA是一种面向对象的编程语言,以其跨平台、安全性高、性能稳定等特性广泛应用于企业级应用开发。在这个项目中,JAVA的主要应用可能包括服务器端的业务逻辑处理、数据访问接口设计以及系统...
6. **多线程**:Java提供了强大的并发处理能力,包括Thread类、Runnable接口、同步机制(如synchronized关键字、wait()、notify()、notifyAll()方法)以及并发工具类(如Semaphore、CountDownLatch、CyclicBarrier)...
2. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(算术、比较、逻辑、位操作等)、流程控制(如if语句、switch语句、for循环、while循环等)以及异常处理。...
【标题】"教学视频\源代码\JAVA手机软件熊猫看书V1" 涉及的知识点主要集中在Java ME(Java Micro Edition)平台上的移动应用开发,特别是针对早期智能手机的电子书阅读器的实现。Java ME是Java技术的一个分支,专为...
- **Spring框架**:Java后端通常采用Spring框架,它为开发者提供了丰富的功能,如依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等,便于构建高效、可扩展的应用。 - **RESTful API**:后端会通过...
java看书软件,自定义字体、省电 其他功能慢慢加入
以下是从 Java 到 C++ 的知识点总结: 数据类型和变量 * C++ 中的变量类型与 Java 相似,包括 int、double 等,但取值范围依赖于机器。 * C++ 有 short 和 unsigned 类型来存储数字,尽量避免使用这些类型除非是...
3. **并发控制**:Java提供了多种并发控制工具,包括synchronized、wait()、notify()、notifyAll()、ReentrantLock(可重入锁)、Semaphore(信号量)和CountDownLatch(倒计时器)等。这些工具用于协调不同线程的...
3. **接口**:Java中的接口允许实现多个抽象方法,用于定义类型行为和实现多继承。 4. **异常处理**:Java提供了异常处理机制,使得程序能更健壮地处理错误情况。try-catch-finally块和异常类是这部分的重点。 5. ...
Java学习心得总结 Java学习心得总结,Java学习感受,回想一下学习Java的情景,我仍然兴奋不已。其实在刚接触Java时,自己确实有点晕,但经过一段时间学习,逐渐走出了迷雾。 一、学习Java的特点: * 先是不懂,...
Java基础 (缺少代码) IO 缺少图片 BIO NIO JAVA8 异常 --- 容器 基本容器 集合 Map 并发容器 BlockingQueue阻塞队列 并发 (很多笔记来自java并发艺术一书) 多线程基础 synchronized volatile 线程间的通信 锁(重入...
Java做题模板总结 结合两个博客 8:30--10:30 数据库(MySQL+SQL)尚硅谷+CSDN笔记 10:30--2:30 ================================= SSM Springboot雷锋杨 word 2:30--6:00 Java高并发 看书 7:00-8:00 剑指...
"SP 熊猫看书最新版"是一款专为阅读爱好者设计的应用程序,它集成了丰富的电子书资源,提供舒适的阅读体验。"熊猫看书"作为其核心标签,表明该软件以熊猫这一可爱形象作为品牌象征,旨在带给用户轻松愉快的阅读氛围...
2023最全的Java大厂面试题合集,共30+专题。包含计算机网络、多线程、数据库、分布式等专题。 微服务架构面试专题...Java 基础核心总结_.pdf Java 工程师进阶知识完全扫盲.pdf BAT面试题汇总及详解(进大厂必看).zip
2. **异常处理**:Java的异常处理机制是面试中的常见考点,包括try-catch-finally语句块、自定义异常、异常链和finally块的执行逻辑等。 3. **集合框架**:集合框架是Java的重要组成部分,面试者应掌握ArrayList、...
本项目大部分内容来自我近几年的收集和整理,根据计划将主要包含:Java相关知识、网络编程、并发编程、微服务、Linux、数据库、数据结构、算法等知识内容。本人对有深度的系列文章情有独钟,所以整理过程中会更加...
我正试图使用java编写3D引擎,进而编写3D游戏。这是我看书后自己总结的源代码和3D原理。对3D编程入门很有用。后续我还会陆续总结。如果大家喜欢,我会继续上传。
学编程只看书是不行的,动手实践才能成长,这里提供了15个实验,一个一个的动手做,java入门不再难