`
有崖生110
  • 浏览: 55249 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

看书要点:java基础总结(八)

 
阅读更多

 

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不会释放对象锁。

waitObject类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll后本线程才进入对象锁定池准备获得对象锁进入运行状态。

 

 

 

线程的生命周期:创建可执行非可执行消亡

1、创建,指的是当实例化一个Thread对象并执行start()方法之后,线程进入可执行状态。

2、可执行,在这种状态下,线程可能被执行完,也可能被处于等待执行的队列。可以用Thread类中的wait()、sleep()方法进入非可执行状态

3、非可执行,可以通过notify()、notifyAll()以及interrupt()方法进入可执行。

4、消亡,在run()方法执行完毕后,线程自动消亡。Stop()方法可以强制消亡,但是会导致线程稳定,现在基本被废弃。

 

多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,waitnotify

 

多线程容易产生死锁。

 

JAVA类实现序列化的方法?在collection中,实现比较要实现什么样的接口?写个例子

         答案:java类实现序列化需要实现java.io.Serializable接口。

         collection中实现比较要实现Comparable接口或Comparator接口。

分享到:
评论

相关推荐

    java实习总结.docx

    通过本文,读者可以了解到学习Java的整个过程中所遇到的困难和迷茫,以及如何通过坚持练习和总结,真正地掌握Java的要点。同时,读者也可以了解到学习Java的重要性和学习Java的秘诀。 此外,本文还提供了一些学习...

    java之路,主要是java中的学习过程与基础项目.rar

    看书学习,如《Redis设计与实现》、《 Java 并发编程的艺术》,便于了解技术脉络和深入学习知识点。 看博客和源码精进学习。博客的好处是有些知识点会以很通俗的方式讲解出来,我们很好理解。 第一阶段: Java ...

    基于JAVA开发的看书阅读带后端

    1. **JAVA开发语言**:JAVA是一种面向对象的编程语言,以其跨平台、安全性高、性能稳定等特性广泛应用于企业级应用开发。在这个项目中,JAVA的主要应用可能包括服务器端的业务逻辑处理、数据访问接口设计以及系统...

    Java疯狂讲义(第三版)配套代码

    6. **多线程**:Java提供了强大的并发处理能力,包括Thread类、Runnable接口、同步机制(如synchronized关键字、wait()、notify()、notifyAll()方法)以及并发工具类(如Semaphore、CountDownLatch、CyclicBarrier)...

    我的java入门笔记,但是有很多其他的知识还是要多看书的

    2. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(算术、比较、逻辑、位操作等)、流程控制(如if语句、switch语句、for循环、while循环等)以及异常处理。...

    教学视频\源代码\JAVA手机软件熊猫看书V1

    【标题】"教学视频\源代码\JAVA手机软件熊猫看书V1" 涉及的知识点主要集中在Java ME(Java Micro Edition)平台上的移动应用开发,特别是针对早期智能手机的电子书阅读器的实现。Java ME是Java技术的一个分支,专为...

    看书阅读带后端_java前后端交互.zip

    - **Spring框架**:Java后端通常采用Spring框架,它为开发者提供了丰富的功能,如依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等,便于构建高效、可扩展的应用。 - **RESTful API**:后端会通过...

    石头看书,java看书软件

    java看书软件,自定义字体、省电 其他功能慢慢加入

    从java到c++,适合java程序员快速学习c++

    以下是从 Java 到 C++ 的知识点总结: 数据类型和变量 * C++ 中的变量类型与 Java 相似,包括 int、double 等,但取值范围依赖于机器。 * C++ 有 short 和 unsigned 类型来存储数字,尽量避免使用这些类型除非是...

    java并发编程实战源码,java并发编程实战pdf,Java

    3. **并发控制**:Java提供了多种并发控制工具,包括synchronized、wait()、notify()、notifyAll()、ReentrantLock(可重入锁)、Semaphore(信号量)和CountDownLatch(倒计时器)等。这些工具用于协调不同线程的...

    Java学习源代码资源

    3. **接口**:Java中的接口允许实现多个抽象方法,用于定义类型行为和实现多继承。 4. **异常处理**:Java提供了异常处理机制,使得程序能更健壮地处理错误情况。try-catch-finally块和异常类是这部分的重点。 5. ...

    完整word版java学习心得4000字.pdf

    Java学习心得总结 Java学习心得总结,Java学习感受,回想一下学习Java的情景,我仍然兴奋不已。其实在刚接触Java时,自己确实有点晕,但经过一段时间学习,逐渐走出了迷雾。 一、学习Java的特点: * 先是不懂,...

    java8集合源码分析-AboutJava:java相关知识(理论,代码)相关知识均是看书,博客等地方获取再由自己整理,如存在侵权,请告诉我

    Java基础 (缺少代码) IO 缺少图片 BIO NIO JAVA8 异常 --- 容器 基本容器 集合 Map 并发容器 BlockingQueue阻塞队列 并发 (很多笔记来自java并发艺术一书) 多线程基础 synchronized volatile 线程间的通信 锁(重入...

    word源码java-OfferFighting:报价打架

    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 熊猫看书最新版

    "SP 熊猫看书最新版"是一款专为阅读爱好者设计的应用程序,它集成了丰富的电子书资源,提供舒适的阅读体验。"熊猫看书"作为其核心标签,表明该软件以熊猫这一可爱形象作为品牌象征,旨在带给用户轻松愉快的阅读氛围...

    2023最全的Java大厂面试题合集.zip

    2023最全的Java大厂面试题合集,共30+专题。包含计算机网络、多线程、数据库、分布式等专题。 微服务架构面试专题...Java 基础核心总结_.pdf Java 工程师进阶知识完全扫盲.pdf BAT面试题汇总及详解(进大厂必看).zip

    Java面试宝典2012

    2. **异常处理**:Java的异常处理机制是面试中的常见考点,包括try-catch-finally语句块、自定义异常、异常链和finally块的执行逻辑等。 3. **集合框架**:集合框架是Java的重要组成部分,面试者应掌握ArrayList、...

    百度地图开发java源码-JavaPlan:Java学习、进阶、面试、架构师成长之路,Java程序员进阶大牛的核心知识体系

    本项目大部分内容来自我近几年的收集和整理,根据计划将主要包含:Java相关知识、网络编程、并发编程、微服务、Linux、数据库、数据结构、算法等知识内容。本人对有深度的系列文章情有独钟,所以整理过程中会更加...

    3D游戏基础-java实现

    我正试图使用java编写3D引擎,进而编写3D游戏。这是我看书后自己总结的源代码和3D原理。对3D编程入门很有用。后续我还会陆续总结。如果大家喜欢,我会继续上传。

Global site tag (gtag.js) - Google Analytics