标签: java进阶

51 篇文章

031、volatile关键字
volatile关键字 1.看程序说结果 public class VolatileThread extends Thread { // 定义成员变量 private boolean flag = false ; public boolean isFlag() { return flag;} @Override public void run() { try { Thread.sleep(1000…
030、线程状态
线程状态 1.线程状态概述 线程由生到死的完整过程: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在API中java.lang.Thread.State这个枚举中给出了六种线程状态: 这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析 线程状态 导致状态发生条件 NEW(新建) 线程刚被创建,但是并未启动。还没调用…
029、线程安全
线程安全 1.线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 我们通过一个案例,演示线程的安全问题: 电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”,本次电影的座位共100个(本场电影只能卖100张票)。 我们来模拟电影院的售票窗口,实现多个窗…
028、多线程
多线程 1.并发与并行 并行:指两个或多个事件在同一时刻发生(同时执行)。 并发:指两个或多个事件在同一个时间段内发生(交替执行)。 在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。 而在多个 CPU 系统中,则这些…
027、异常
异常 1.异常概述 1.1 异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常指的…
026、二分查找
二分查找 1.普通查找和二分查找 普通查找 原理:遍历数组,获取每一个元素,然后判断当前遍历的元素是否和要查找的元素相同,如果相同就返回该元素的索引。如果没有找到,就返回一个负数作为标识(一般是-1) 二分查找 原理: 每一次都去获取数组的中间索引所对应的元素,然后和要查找的元素进行比对,如果相同就返回索引; 如果不相同,就比较中间元素和要查找的元素的值; 如果中间元素的值大于要查找的元素,说明要…
025、排序算法介绍
排序算法介绍 1.冒泡排序 1.1.冒泡排序概述 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序 如果有n个数据进行排序,总共需要比较n-1次 每一次比较完毕,下一次的比较就会少一个数据参与 1.2.冒泡排序图解 1.3.冒泡排序代码实现 /* 冒泡排序: 一种排序的方式,对要进行排序的数据中相邻的数据进行两两…
024、图书管理系统
图书管理系统 1.图书管理系统项目演示 项目目录: 主界面和选择: 查看书籍: 添加书籍: 删除书籍: 修改书籍: 退出: 图书管理系统分析: 1.定义Book类 2.完成主界面和选择 3.完成查询所有图书 4.完成添加图书 5.完成删除图书 6.完成修改图书 7.使用Debug追踪调试 2.图书管理系统之标准Book类 我们发现每一本书都有书名和价格,定义一个Book类表示书籍 public c…
023、模拟斗地主洗牌发牌
模拟斗地主洗牌发牌 1.案例介绍 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 组装54张扑克牌 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 查看三人各自手中的牌(按照牌的大小排序)、底牌 规则:手中扑克牌从大到小的摆放顺序:大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3 2.案例需求分析 1.准备牌: 完成数字与纸牌的映射关系: 使…
022、数据结构
数据结构 1.数据结构有什么用 当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。 现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数组的存储,我们还能方便地查询到所需要的数据吗?而算法,在这么多的数据中如何做到最…