当前位置: 移动技术网 > IT编程>开发语言>Java > Java笔记(day12)

Java笔记(day12)

2019年04月28日  | 移动技术网IT编程  | 我要评论
包: 对类文件进行分类管理;给类提供多层命名(名称)空间;写在程序文件的第一行;类名的全称是 包名.类名包也是一种封装形式; package protected必须是成为其子类,才能继承import导入指定包中的类用的 导包的原则:用到哪个导哪个;作用:为了简化类名书写; jar包:Java的压缩包 ...

包:

对类文件进行分类管理;给类提供多层命名(名称)空间;
写在程序文件的第一行;
类名的全称是 包名.类名
包也是一种封装形式;

package
protected必须是成为其子类,才能继承
import导入指定包中的类用的

导包的原则:用到哪个导哪个;
作用:为了简化类名书写;

jar包:java的压缩包;

多线程:

进程:正在进行中的程序;
线程:就是进程中一个负责程序执行的控制单元(执行路径)
一个进程中可以多执行路径,称之为多线程;

一个进程中至少有一个线程;
开启多个线程是为了同时运行多个代码;
每一个线程都有运行的内容,这个内容称为这个线程执行的任务;

多线程好处:解决了多部分同时运行的问题;
多线程弊端:线程太多回到的效率降低;
其实应用的执行都是cpu进行着高速的转换,这个切换是随机的;

jvm启动时就启动了多个线程,至少有两个线程分析的出来;
1、执行main函数的线程;
该线程的代码都在主函数中;
2、负责垃圾回收的线程;
垃圾回收器中;

如何创建一个线程呢?

创建线程方式一:继承thread类。

步骤:
1,定义一个类继承thread类。
2,覆盖thread类中的run方法。
3,直接创建thread的子类对象创建线程。
4,调用start方法开启线程并调用线程的任务run方法执行。

 

可以通过thread的getname获取线程的名称 thread-编号(从0开始)

主线程的名字就是main。

创建线程的目的是为了开启一条执行路径,去运行指定的代码和其他代码实现同时运行。

而运行的指定代码就是这个执行路径的任务。

jvm创建的主线程的任务都定义在了主函数中。

而自定义的线程它的任务在哪儿呢?
thread类用于描述线程,线程是需要任务的。所以thread类也对任务的描述。
这个任务就通过thread类中的run方法来体现。也就是说,run方法就是封装自定义线程运行任务的函数。

run方法中定义就是线程要运行的任务代码。

开启线程是为了运行指定代码,所以只有继承thread类,并复写run方法。
将运行的代码定义在run方法中即可。

线程有名字:通过thread的getname方法来获取

线程的状态:
cpu的执行资格:等待执行;
cpu的执行权:正在执行
临时阻塞状态:具备执行资格,没有执行权,只有正在运行的有执行权;只有一个有执行权;

创建线程的第二种方式:实现runnable接口。

1,定义类实现runnable接口。
2,覆盖接口中的run方法,将线程的任务代码封装到run方法中。
3,通过thread类创建线程对象,并将runnable接口的子类对象作为thread类的构造函数的参数进行传递。
为什么?因为线程的任务都封装在runnable接口子类对象的run方法中。
所以要在线程对象创建时就必须明确要运行的任务。

4,调用线程对象的start方法开启线程。


实现runnable接口的好处:
1,将线程的任务从线程的子类中分离出来,进行了单独的封装。
按照面向对象的思想将任务的封装成对象。
2,避免了java单继承的局限性。

所以,创建线程的第二种方式较为常用。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网