Java oop 第13章_多线程】的更多相关文章

第13章_多线程 一.   多线程相关的概念:  程序:由某种编程语言开发可执行某些功能的代码组合,它是静态的概念.   进程:当程序被执行时的过程可以理解为讲程序从外存调入内存的过程,会为每一个程序至少开辟一个独立的内存空间,程序在内存中的状态称为一个进程.   线程:一个进程至少会有一个独立的内存空间,但线程是依附在进程的内存空间中工作的,因此它没有自己的独立内存空间,多个线程会共用一个进程的内存空间.   多线程开发:往往一个进程中可以包含多个线程,多线程开发就是要具体实施一个进程中执行(…
  引言:从Java5开始,Java中引用了一个新的概念反射,当程序运行时,能动态感知到程序中拥有的所以信息,这个获取信息的过程是采用反射机制来完成. 一.       Class类: Class类用于保存Java程序中所有接口.类.数组所编写的所有消息,一旦我们创建以个接口.类.数组时会在Class类中被注册,即保存所有信息. 当我们需要获取某个接口.类.数组中的信息时就可以先获取他们在Class中注册的对象,通过该对象再调用反射机制提供的一些方法来获取.操作. 二.       获取某个接口…
一. 什么是集合: 在Java中提供了一些可以保存同一数据类型的数据集称为集合,就是规定了一些集合的规范(接口.抽象类.实现类)及方法, 方便我们程序在保存数据时进行增.删.改.查操作,编程更加高效. 二. List集合: List集合特性:List集合(ArrayList.LinkedList)是可重复的.有序的(是原始顺序) 1.ArrayList实现类:底层采用数组实现,查询可以通过下标快速点位,查询速度快,针对添.删.改速度慢 2.LinkedList实现类:底层采用双向链表实现,添加.…
一. 异常的概念: 若程序都按我们事先设定的计划运行为正常执行,但通常会出现我们事先预料之外的其他情况,称为程序发生异常, 在java中会对一些可能出现异常的代码进行分类,达到尽量对可能发生的异常进行判断. 二. 异常处理之抛出异常: 说明:在方法中有代码会出现异常,方法自己不捕获异常,将异常向外抛出,由调用者来处理异常,若所以的调用者都不处理异常,则由JVM最终处理. 1. throws关键字:声明异常,在方法定义部分使用throws指定方法中可以抛出的异常范围,可以指定多个异常范围,之间使用…
一. 为什么需要接口? Java中当一个类继承父类时,最多也只能继承一个父类,扩展性会受到一定的限制,为了弥补这一缺陷,Java又提供了一种新的引用数据类型分类,叫接口. 一个类只能继承一个父类,但可以实现多个接口. 二. 接口的定义和使用: 1. 定义接口:使用interface关键字. 2. 实现接口:在一个抽象类或实现类中可以通过implements关键字. 三. 接口的注意事项: 1. 接口是比抽象类更加抽象的“类”,接口中所有的方法都是抽象方法(不管是否使用abstract关键字修饰)…
一. 为什么需要继承: 若多个类中都需要一些属性和方法,那么就可以将属性和方法抽取到一个父类中,需要的子类可以通过extends关键字去继承这个父类后拥有相应的属性和方法. 类.数组.方法----引用数据类型 二. 继承的流程: 1. 编写父类:Animal 2. 编写子类:Dog.Cat.Pig 3. 在子类中通过extends关键字去继承父类: 三. 继承的注意事项: 1. 父类中的属性和方法只有使用protected.public修饰的才能被子类继承. 2. 当编写一个类时,若使用了ext…
1.进程:是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间): Eg:用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间.当用户再次点击左面的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间.目前操作系统都支持多进程. ◆注:用户每启动一个进程,操作系统就会为该进程分配一个独立的内存空间. ◆进程的特点:进程是系统运行程序的基本单位:                每一个程序都有自己独立的一块内存空间.一组系统资源:     …
第09章_JDBC02(CRUD操作) CRUD(CREATE . RETIVE . UPDATE . DELETE)增删改查. DAO中会提供一些CRUD操作方法,调用者可以通过调用这些方法完成相应操作,本章讨论DAO中需要提供一些什么方法? 一.     Dao常用的方法 1.     增加的方法: 通常需要传入实体对象携带所有属性值,作为插入的数据:返回的是受影响的行数(int类型). 如:insertDept(Dept dept) 2.     删除的方法:通常需要传入id(指的是数据表…
例8.1应用程序用Thread子类实现多线程. import java.util.Date; public class Example8_1 { static Athread threadA; static Bthread threadB; public static void main(String args[]) { threadA = new Athread(); threadB = new Bthread(); threadA.start(); threadB.start(); } }…
第十三章 线程安全与锁优化 线程安全 java语言中的线程安全 1 不可变.Immutable 的对象一定是线程安全的 2 绝对线程安全 一个类要达到不管运行时环境如何,调用者都不需要额外的同步措施,通常需要付出很大甚至是不切实际的代价,在java api中标注自己是线程安全的类,大多数都不是绝对的线程安全 3 相对线程安全 4 线程兼容  对象本身不是线程安全的,但是可以通过在调用端正确地使用同步手段来保证对象在并发环境中可以安全使用 5 线程对立 线程安全的实现方法 1 互斥同步 Murua…