java编程新手入门基础day10

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

java编程新手入门基础day10_第1张图片

给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

包(package)

写在程序的第一行

对类文件进行分类管理

给类提供多层命名空间

包也是一种封装形式

类名的全称是 包名.类名

例:

建立一个包packa

java编程新手入门基础day10_第2张图片

建立一个包pack

java编程新手入门基础day10_第3张图片

建立一个包DemoB

java编程新手入门基础day10_第4张图片

生成及导出java包

java编程新手入门基础day10_第5张图片

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

java编程新手入门基础day10_第6张图片
java编程新手入门基础day10_第7张图片

初识多线程

什么是线程

线程是程序执行的一条路径,一个进程可以有多条线程

多线程并发执行可以提高程序的效率,可以同时完成多项工作

多线程应用场景

迅雷开启多线程一起下载

QQ可以同时和多个人一起视频

服务器同时处理多个客户端的请求

多线程并行和并发的区别

并行就是两个任务同时运行(需要多核cpu)

并发是指两个任务都请求运行,而处理器一次只接受一个任务,两个任务交替执行,由于时间间隔短,使人感觉到两个任务好像在同时运行

多线程实现方式(一)——继承Thread类

java编程新手入门基础day10_第8张图片

多线程实现方式(二)——实现Runnable接口

java编程新手入门基础day10_第9张图片

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

多线程两种实现方式的区别

继承Thread:

优点:可以直接使用Thread类中的方法,代码简单

缺点:如果某个类已经有了父类,就不能使用次方法

实现Runnable:

优点:即使某个类有了父类也没有关系,因为java中的类可以多实现,但是只能单继承

缺点:不能直接使用Tread类中的方法,需要先获取线程对象后,才能使用Thread方法,代码复杂

匿名内部类实现线程的两种方式

继承Thread类

java编程新手入门基础day10_第10张图片

实现Runnable接口

java编程新手入门基础day10_第11张图片

获取以及设置线程的名字

获取线程的名字(getName()方法)

java编程新手入门基础day10_第12张图片

设置线程的名字(setName()方法)

java编程新手入门基础day10_第13张图片

获取当前线程的对象

通过Tread.currentTread()方法可以获取当前对象,主线程也可以通过这个方法获取

java编程新手入门基础day10_第14张图片

主线程有可能比其他行程先执行完,其他线程不会受到任何影响,不会随着主线程的结束而结束

休眠线程

java编程新手入门基础day10_第15张图片

守护线程

通过setDaemon()方法设置守护线程,只有当其他非守护线程都执行完成后,自动退出

java编程新手入门基础day10_第16张图片

加入线程

join();当前线程暂停,等待指定的线程执行结束后,当前线程再继续

join(int);可以等待指定的ms时间后再执行

java编程新手入门基础day10_第17张图片

礼让线程

java编程新手入门基础day10_第18张图片

设置线程的优先级

setPriority();方法用来设置线程的优先级

java编程新手入门基础day10_第19张图片

默认为5,一般优先级比5大就是10,比5小就是1

同步代码块

什么情况下需要同步?

当多线程并发,有多段代码快速交替执行时,我们希望一段代码执行的过程中cpu不要切换到其他线程工作,这是就需要同步

如果两段代码是同步的,那么同一时间只能执行一段,在一段代码没结束之前,是不会执行另一段代码的

同步代码块

使用synchronized关键字加上一个锁对象来定义一段代码,这就是同步代码块

多个同步代码块,如果他们使用同一个锁对象,那么他们就是同步的

java编程新手入门基础day10_第20张图片

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

java编程新手入门基础day10_第21张图片
java编程新手入门基础day10_第22张图片
java编程新手入门基础day10_第23张图片


java编程新手入门基础day10_第24张图片

你可能感兴趣的:(java编程新手入门基础day10)