Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
包(package)
写在程序的第一行
对类文件进行分类管理
给类提供多层命名空间
包也是一种封装形式
类名的全称是 包名.类名
例:
建立一个包packa
建立一个包pack
建立一个包DemoB
生成及导出java包
小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
初识多线程
什么是线程
线程是程序执行的一条路径,一个进程可以有多条线程
多线程并发执行可以提高程序的效率,可以同时完成多项工作
多线程应用场景
迅雷开启多线程一起下载
QQ可以同时和多个人一起视频
服务器同时处理多个客户端的请求
多线程并行和并发的区别
并行就是两个任务同时运行(需要多核cpu)
并发是指两个任务都请求运行,而处理器一次只接受一个任务,两个任务交替执行,由于时间间隔短,使人感觉到两个任务好像在同时运行
多线程实现方式(一)——继承Thread类
多线程实现方式(二)——实现Runnable接口
小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
多线程两种实现方式的区别
继承Thread:
优点:可以直接使用Thread类中的方法,代码简单
缺点:如果某个类已经有了父类,就不能使用次方法
实现Runnable:
优点:即使某个类有了父类也没有关系,因为java中的类可以多实现,但是只能单继承
缺点:不能直接使用Tread类中的方法,需要先获取线程对象后,才能使用Thread方法,代码复杂
匿名内部类实现线程的两种方式
继承Thread类
实现Runnable接口
获取以及设置线程的名字
获取线程的名字(getName()方法)
设置线程的名字(setName()方法)
获取当前线程的对象
通过Tread.currentTread()方法可以获取当前对象,主线程也可以通过这个方法获取
主线程有可能比其他行程先执行完,其他线程不会受到任何影响,不会随着主线程的结束而结束
休眠线程
守护线程
通过setDaemon()方法设置守护线程,只有当其他非守护线程都执行完成后,自动退出
加入线程
join();当前线程暂停,等待指定的线程执行结束后,当前线程再继续
join(int);可以等待指定的ms时间后再执行
礼让线程
设置线程的优先级
setPriority();方法用来设置线程的优先级
默认为5,一般优先级比5大就是10,比5小就是1
同步代码块
什么情况下需要同步?
当多线程并发,有多段代码快速交替执行时,我们希望一段代码执行的过程中cpu不要切换到其他线程工作,这是就需要同步
如果两段代码是同步的,那么同一时间只能执行一段,在一段代码没结束之前,是不会执行另一段代码的
同步代码块
使用synchronized关键字加上一个锁对象来定义一段代码,这就是同步代码块
多个同步代码块,如果他们使用同一个锁对象,那么他们就是同步的
小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!