摘要: 线程安全产生的原因什么是线程安全在操作系统中,因为线程的调度是随机的(抢占式执行),正是因为这中随机性,才会让代码中产生很多bug 如果认为是因为这样的线程调度才导致代码产生了bug,则认为线程是不安全的, 如果这样的调度,并没有让代码产生bug,我们则认为线程是安全的这里的安全指代的是代码中有没有 阅读全文
posted @ 2022-07-07 21:14 zj勇敢飞,xx永相随 阅读(126) 评论(0) 推荐(0)
摘要: 线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是“葫芦娃大战奥特曼”,本次电影的座位 阅读全文
posted @ 2022-07-07 21:00 zj勇敢飞,xx永相随 阅读(43) 评论(0) 推荐(0)
摘要: Thread和Runnable的区别 如果非要说区别的话,那么就有一下几点 Runnable 和 Thread 创建线程的方式不一样 Runnable 是接口,Thread 是实体类,Thread 和 Runnable 的关系就是实体与实现的关系。 在使用上,如果有复杂的线程操作需求,那就选择继承T 阅读全文
posted @ 2022-07-07 20:53 zj勇敢飞,xx永相随 阅读(315) 评论(0) 推荐(0)
摘要: Thread类的常用方法_sleep sleep介绍 sleep() 定义在Thread.java中,sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该指定休眠时间;在线程重新被唤醒时,它会由“阻塞 阅读全文
posted @ 2022-07-07 20:32 zj勇敢飞,xx永相随 阅读(66) 评论(0) 推荐(0)
摘要: Thread类的常用方法_获取线程名称的方法 线程创建 在上一天内容中我们已经可以完成最基本的线程开启,那么在我们完成操作过程中用到了java.lang.Thread类,API中该类中定义了有关线程的一些方法,具体如下∶ 构造方法 public Thread():分配一个新的线程对象。 public 阅读全文
posted @ 2022-07-07 17:56 zj勇敢飞,xx永相随 阅读(72) 评论(0) 推荐(0)
摘要: 多线程原理_随机性打印结果 多线程的基础原理 · 多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。 多线程有什么好处 · 使用线程可以把占据时间长的程序中的任务放到后台去处理· 用户界面可以更加吸引人,这样比 阅读全文
posted @ 2022-07-07 17:05 zj勇敢飞,xx永相随 阅读(25) 评论(0) 推荐(0)
摘要: 主线程 前段时间有同事提到了主线程这个名词,但当时我们说的主线程是指Java Web程序中每一个请求进来时处理逻辑的线程。当时感觉这个描述很奇怪,所以就来研究下这个主线程的确切语义。 Java提供了内置的多线程编程支持,多线程包括两个或多个可并发执行的部分,每一部分叫做线程,每个线程定义了单独的执行 阅读全文
posted @ 2022-07-07 16:30 zj勇敢飞,xx永相随 阅读(54) 评论(0) 推荐(0)
摘要: 线程概念 线程∶线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 我们可以再电脑底部任务栏,右键 >打开任务管理器,可以查看当前任务的进 阅读全文
posted @ 2022-07-07 15:39 zj勇敢飞,xx永相随 阅读(37) 评论(0) 推荐(0)
摘要: 摘要:并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。 并行介绍 并行在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时 阅读全文
posted @ 2022-07-07 15:28 zj勇敢飞,xx永相随 阅读(306) 评论(0) 推荐(0)
摘要: 自定义异常类 为什么需要自定义异常类: 我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。例如年龄负数问题,考试成绩负数问题等等。 在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开 阅读全文
posted @ 2022-07-07 15:13 zj勇敢飞,xx永相随 阅读(55) 评论(0) 推荐(0)
摘要: 异常注意事项_多异常的捕获处理 1.多个异常使用捕获该如何处理呢? 1)多个异常分别处理 2)多个异常一次捕获,多次处理 3)多个异常一次捕获一次处理 一般我们是使用一次捕获多次处理方式,格式如下: 1)多个异常分别处理 后续代码能够执行 2)多个异常一次捕获,多次处理 一个try多个catch注意 阅读全文
posted @ 2022-07-07 14:55 zj勇敢飞,xx永相随 阅读(43) 评论(0) 推荐(0)
摘要: Throwable类中3个异常处理的方法 package Demo_Exception; import java.io.IOException; /* try...catch:异常处理的第二种方式,自己处理异常 格式: try{ 可能产生异常的代码 }catch(定义一个异常的变量,用来接收try中 阅读全文
posted @ 2022-07-07 14:30 zj勇敢飞,xx永相随 阅读(102) 评论(0) 推荐(0)
摘要: throws关键字_异常处理的第一种方式,交给别人处理 1.抛出异常throw 在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接收参数。那么,当调用方法使用接收到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使 阅读全文
posted @ 2022-07-07 14:12 zj勇敢飞,xx永相随 阅读(78) 评论(0) 推荐(0)
摘要: throw关键字 异常的处理 Java异常处理的五个关键字:try.catch、finally.throw、throws 抛出异常throw 在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断, 阅读全文
posted @ 2022-07-07 13:44 zj勇敢飞,xx永相随 阅读(47) 评论(0) 推荐(0)
摘要: 异常分类 我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。 异常(Exception)的分类:根据在编译时期还是运行时期去检查异常? 编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)运行时期异 阅读全文
posted @ 2022-07-07 11:29 zj勇敢飞,xx永相随 阅读(91) 评论(0) 推荐(0)
摘要: 斗地主案例的代码实现 package Date; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; /** * 实现模拟斗地主功能 * 阅读全文
posted @ 2022-07-07 10:16 zj勇敢飞,xx永相随 阅读(93) 评论(0) 推荐(0)
摘要: Debug追踪 使用IDEA的断点调试功能,查看程序的运行过程 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 2. 点击Debug运行模式 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口 Debug调试窗口介绍 快捷键F8,代码向下 阅读全文
posted @ 2022-07-07 10:08 zj勇敢飞,xx永相随 阅读(64) 评论(0) 推荐(0)
摘要: 需求︰计算一个字符串中每个字符出现次数。 分析:1.获取一个字符串对象 2.创建一个Map集合,键代表字符,值代表次数。 3.遍历字符串得到每个字符。 4.判断Map中是否有该键。 5.如果没有,第一次出现,存储次数为1;如果有,则说明已经出现过,获取到对应的值进行++,再次存储。 6.打印最终结果 阅读全文
posted @ 2022-07-07 09:46 zj勇敢飞,xx永相随 阅读(48) 评论(0) 推荐(0)
摘要: LinkedHashMap集合 我们知道HashMap保证成对元素唯一,并且查询速度很快,可是成对元素存放进去是没有顺序的,那么我们要保证有序,还要速度快这么办 package Demo_Map; import java.util.HashMap; import java.util.LinkedHa 阅读全文
posted @ 2022-07-07 09:22 zj勇敢飞,xx永相随 阅读(28) 评论(0) 推荐(0)
摘要: LinkedHashMap集合 我们知道HashMap保证成对元素唯一,并且查询速度很快,可是成对元素存放进去是没有顺序的,那么我们要保证有序,还要速度快这么办 package Demo_Map; import java.util.HashMap; import java.util.LinkedHa 阅读全文
posted @ 2022-07-07 09:21 zj勇敢飞,xx永相随 阅读(18) 评论(0) 推荐(0)