Java
Oh_MyBug
微信公众号【OhMyBug】
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java | 逆波兰计算器原理与实现
文章目录具体步骤中缀表达式转后缀表达式(逆波兰表达式)计算表达式结果自定义MathUtil工具类测试代码打印结果具体步骤/* * 后缀表达式适合计算式进行运算,但是人却不容易写出来,尤其是表达式很长的情况下, * 因此在开发中,我们需要将中缀表达式转成后缀表达式 * * 具体步骤: * 1. 初始化两个栈:运算符栈s1和储存中间结果的栈s2; * 2. 从左至右扫描中缀表达式...原创 2020-03-18 22:39:21 · 435 阅读 · 0 评论 -
Java | 链表栈实现综合计算器(中缀表达式)
栈(Stack)的理解/* * 栈(Stack) * 1. 栈是先入后出(FILO-First In Last Out)的有序列表。 * 2. 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一个特殊线性表。 * 允许插入和删除的一段,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom) * 3. 根据栈的定义可知,最先放入栈中元素在栈...原创 2020-03-18 10:49:51 · 545 阅读 · 0 评论 -
Java | 稀疏数组
文章目录数据结构稀疏数组二维数组与稀疏数组之间的转换将稀疏数组保存到磁盘上恢复原来的数组,读取sparseArr.dat进行恢复数据结构/* * 数据结构包括:线性结构和非线性结构 * 1. 线性结构: * 1.1 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 * 1.2 线性结构有两种不同的存储结构,即顺序存储结构(数组)和链式存储结构...原创 2020-03-16 21:58:07 · 226 阅读 · 0 评论 -
Java | 队列
队列/* * 队列 * 1. 队列是一个有序列表,可以用数组或是链表来实现 * 2. 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 * 3. 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明: * maxSize:队列的最大容量 * 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分...原创 2020-03-16 21:57:08 · 208 阅读 · 0 评论 -
Java | 单链表
单链表介绍/* * 链表 * 1. 链表是以节点的方式来存储的,是链式存储 * 2. 每个节点包含data域,next域:指向下一个节点 * 3. 链表的各个节点不一定是连续存储 * 4. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 * <p> * 单链表的应用举例 * 使用带head头的单向链表实现 -> RunningMan成员管理完成对成...原创 2020-03-16 21:56:19 · 346 阅读 · 0 评论 -
Java | Josephu(约瑟夫)问题
文章目录Josephu问题Boy类CircleSingleLinkedList类代码测试结果输出Josephu问题/* * Josephu问题: * 设编号为1,2,...,n的n个人围坐一圈,约定编号为k(1 <= k <= n)的人从1开始报数,数到m的那个人出列,它的下一位 * 又从1开始报数,数到m的那个人又出列,依此类推,直到所有人出列为止,由此产生一个出队编号...原创 2020-03-16 21:55:35 · 233 阅读 · 0 评论 -
Java | 双向链表
package Java_Algorithm.LinkList;import org.junit.Test;/** * ClassName: DoubleLinkedList * Date: 2020/3/16 19:16 * author: Oh_MyBug * version: V1.0 * * 管理单向链表的缺点分析: * 1. 单向链表,查找的方...原创 2020-03-16 21:54:36 · 216 阅读 · 0 评论 -
Java:反射机制
文章目录反射的理解反射机制能提供的功能反射前对Person类的操作反射后对Person类的操作对Class类的理解获取Class实例的四种常见方式Class实例可以是哪些结构的说明创建Class对应运行时类的通用方法反射的动态性通过反射获取运行时类的完整结构需要用到的类、接口、注解获取当前运行时类的属性结构获取运行时类的方法结构调用运行时类的指定结构:属性调用运行时类的指定结构:方法调用运行时类的...原创 2020-03-11 21:32:07 · 445 阅读 · 0 评论 -
Java | Collections工具类
主要内容Collections工具类常用方法CollectCollectionsTest.javapackage Map;import org.junit.Test;import javax.sound.midi.Soundbank;import java.util.ArrayList;import java.util.Arrays;import java.util.Co...原创 2020-03-04 22:31:37 · 216 阅读 · 0 评论 -
Java | Set接口
主要内容Set接口实现类Set的无序性与不可重复性hashCode()和equals()的重写HashSet的使用LinkedHashSet的使用TreeSet的自然排序和定制排序Set接口User.javapackage Collection;import java.util.Objects;/** * ClassName: User * Date: ...原创 2020-03-04 22:30:35 · 217 阅读 · 0 评论 -
Java | Map接口:HashMap、LinkedHashMap底层原理
主要内容Map接口及其多个实现类的对比Map中存储key-value的特点HashMap底层实现原理LinkedHashMap底层实现原理Map常用方法TreeMap两种添加方式的使用Properties处理属性文件Map接口User.javapackage Map;import java.util.Objects;/** * ClassName: User...原创 2020-03-04 22:29:31 · 394 阅读 · 0 评论 -
Java | Collection接口
文章目录Collection接口迭代器Iteratorforeach循环遍历集合或数组Collection接口Person.javaimport java.util.Objects;/** * ClassName: Person * Date: 2020/3/3 14:01 * author: Oh_MyBug * version: V1.0 */publ...原创 2020-03-04 22:28:13 · 236 阅读 · 0 评论 -
Java | ArrayList、LinkedList、Vector
主要内容ArrayList源码分析LinkedList源码分析Vector源码分析List接口的常用方法测试List遍历及方法总结List接口:ArrayList、LinkedList、VectorListTest.javaimport org.junit.Test;import java.util.ArrayList;import java.util.Arrays;imp...原创 2020-03-04 22:27:15 · 246 阅读 · 0 评论 -
Java | 枚举类
枚举类/** * ClassName: SeasonTest * Date: 2020/3/2 18:39 * author: Oh_MyBug * version: V1.0 * * 一、枚举类的使用 * 1. 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 * 2. 当需要定义一组常量时,强烈建议使用枚举类 * 3. 如果枚举类中只有...原创 2020-03-02 19:41:50 · 209 阅读 · 0 评论 -
Java | 多线程那些事儿
程序、进程、线程概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行的QQ,运行的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线...原创 2020-03-01 19:56:10 · 972 阅读 · 1 评论 -
Java多线程 | 程序、进程、线程
程序、进程、线程概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行的QQ,运行的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区...原创 2020-02-29 17:34:46 · 254 阅读 · 0 评论 -
Java | 面试题(3)
文章目录面试题1:成员变量与局部变量以下代码运行结果输出考点局部变量与成员变量的区别当局部变量与xx变量重名时,如何区分面试题1:成员变量与局部变量以下代码运行结果/** * ClassName: Exam5 * Date: 2020/2/27 22:53 * author: Oh_MyBug * version: V1.0 */public class Ex...原创 2020-02-28 00:35:19 · 358 阅读 · 0 评论 -
Java| 面试题(2)
面试题1:类初始化和实例初始化以下代码运行结果:/** * ClassName: Father * Date: 2020/2/27 2:10 * author: Oh_MyBug * version: V1.0 */public class Father { private int i = test(); private static int j...原创 2020-02-27 13:16:07 · 340 阅读 · 0 评论 -
Java | 面试题(1)
文章目录面试题1:自增变量面试题2:单例设计模式编程题:写一个singleton示例什么是Singleton?要点几种常见形式面试题1:自增变量如下代码的运行结果:/** * ClassName: Test1 * Date: 2020/2/25 22:29 * author: Oh_MyBug * version: V1.0 */public class Te...原创 2020-02-26 00:14:18 · 183 阅读 · 0 评论 -
Java | 对多线程的思考和总结(干货)
文章目录思考题问:A线程正在执行一个对象的同步方法,B线程是否可以执行同一个对象中的非同步方法?问:同上,B线程是否可以同时执行同一个对象中的另一个同步方法?问:线程抛出异常会释放锁吗?问:volatile和synchronize区别?问:写一个程序,证明Atomic原子类比synchronize更高效问:Atomic原子类可以保证可见性吗?请写一个程序来证明问:写一个程序证明Atomic原子类的...原创 2020-02-25 06:07:18 · 391 阅读 · 0 评论 -
Java | 多线程
线程与进程的区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文件...原创 2020-02-22 23:38:35 · 198 阅读 · 0 评论 -
Java | JDK安装、环境配置
官网下载空降下载页面:https://www.oracle.com/java/technologies/javase-jdk13-downloads.html如果你空降成功,则进入官网部分可以忽略!进入官网甲骨文官网链接:https://www.oracle.com/index.html #### 选择版本点击即可下载!这里我选择的是Windows x64 ...原创 2020-02-22 23:02:55 · 227 阅读 · 0 评论
分享