
Java
文章平均质量分 56
Josvin
这个作者很懒,什么都没留下…
展开
-
用堆模拟实现优先级队列
import java.util.Comparator;/** * @ClassName MyPriorityQueue * @Description :TODO * @Author Josvin * @Date 2021/05/26/21:08 */public class MyPriorityQueue { private String[] array = new String[100]; private int size; private Comparato.原创 2021-05-26 22:07:21 · 94 阅读 · 0 评论 -
对象的比较&优先队列使用&天干排序
package 堆;import java.util.Comparator;import java.util.PriorityQueue;import java.util.Queue;/** * @ClassName Demo * @Description :TODO * @Author Josvin * @Date 2021/05/26/20:56 */public class Demo { static class TianGanComparator implements原创 2021-05-26 21:06:41 · 149 阅读 · 0 评论 -
【数据结构】堆的认知和实现
堆的概念如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树堆的存储方式从堆的概念可知原创 2021-05-26 20:51:50 · 134 阅读 · 0 评论 -
【JavaSE】面向对象的三大特征(封装、继承、多态)
封装类和对象的初步认识封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。就好像如果没有空调遥控器,那么我们就无法操控空凋制冷,空调本身就没有意义了(当然现在还有很多其他方法 ,这里只是为了举原创 2021-05-15 00:02:03 · 151 阅读 · 0 评论 -
Java 内存区域详解
Java 内存区域详解写在前面 (常见面试题)基本问题拓展问题一 概述二 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.5.1 方法区和永久代的关系2.5.2 常用参数2.5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?2.6 运行时常量池2.7 直接内存三 HotSpot 虚拟机对象探秘3.1 对象的创建Step1:类加载检查Step2:分配内存Step3:初始化零值原创 2021-04-17 23:58:07 · 117 阅读 · 0 评论 -
Java 关键字总结
Java 关键字总结访问控制 修饰符的关键字(共3个)1、private-一种访问控制方式:私用模式(当前类内)2、protected-一种访问控制方式:保护模式(当前包内)3、public-一种访问控制方式:共用模式(可跨包)定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)1、abstract-表明类或者成员方法具有抽象属性2、implements-表明一个类实现了给定的接口3、new-用来创建新实例对象4、interface-接口5、class-声明一个类6、e原创 2021-03-27 00:06:28 · 170 阅读 · 0 评论 -
UUID学习笔记
什么是UUID?UUID是通用唯一识别码(Universally Unique Identifier)如何生成UUID?import java.util.UUID;/** * @ClassName Test * @Description :TODO * @Author Josvin * @Date 2021/03/19/11:02 */public class Test { public static void main(String[] args) { UU原创 2021-03-23 20:42:38 · 219 阅读 · 0 评论 -
ArrayList实现
APIhttps://docs.oracle.com/javase/8/docs/api/实现MyListpackage MyArrayList;/** * @ClassName MyList * @Description :TODO * @Author Josvin * @Date 2021/03/08/12:34 */public interface MyList { boolean add(Integer e); void add(int index, Int原创 2021-03-09 16:08:42 · 140 阅读 · 2 评论 -
ArrayList练习(扑克牌模拟)
Card类package card;import java.util.Objects;/** * @ClassName Card * @Description :TODO * @Author Josvin * @Date 2021/03/06/13:48 */public class Card { private final int rank; private final String suit; public Card(int rank, String su原创 2021-03-06 14:50:27 · 156 阅读 · 1 评论 -
【Java实现一个小游戏】贪吃蛇游戏详细解析
实现效果游戏开始:游戏结束:显示得分准备阶段首先准备Java开发环境以及对应用到的Jar包。需借助JavaFX的图形库。目录结构代码分析Point类如下:package snake;/** * @ClassName Point * @Description :TODO * @Author Josvin * @Date 2021/02/04/14:08 */public class Point { public int x; public int y;原创 2021-02-04 16:11:30 · 2179 阅读 · 1 评论 -
异常
1. 异常的背景初识异常除以0public class TestDemo { public static void main(String[] args) { int a = 10/0; System.out.println(a); }}//Exception in thread "main" java.lang.ArithmeticExc...原创 2020-04-06 13:44:38 · 263 阅读 · 0 评论 -
【多态】深入理解向上转型&向下转型
预备知识面向对象编程--------理解多态面向对象编程-------多态向上转型示例一目录结构原理&实现代码老师专用门禁卡和学生专用门禁卡都继承了门禁卡。AccessCard(父类:门禁卡)package learn_extends.e1;public class AccessCard { public void entrance() { System.out.println("验证身份,进出大门"); }}StudentAcces原创 2021-01-28 21:47:22 · 363 阅读 · 2 评论 -
【JavaSE】类和对象代码练习(年月日时分秒 简单时钟实现)
目录结构最终效果实现代码MyData.javapackage Data_Time;/** * @ClassName MyData * @Description :TODO * @Author Josvin * @Date 2021/01/24/14:58 *//** * 构造方法: * MyDate(MyDate date); * MyDate(int year, int month, int day); * * 对方方法: * public void next()原创 2021-01-25 14:14:38 · 334 阅读 · 0 评论 -
【JavaSE】类和对象代码练习(对象版本二分查找)
class Range { // 属性,区间的上限下标 + 区间的下限下标 // 这里选用左闭右闭 private final long[] array; private int lowIndex; private int highIndex; // 区间 array[lowIndex, highIndex] public Range(long[] array) { this.array = array; this.l原创 2021-01-24 16:13:11 · 171 阅读 · 2 评论 -
Java面试必备240个知识点
Java 基础 40语言特性 12Q1:Java 语言的优点?① 平台无关性,摆脱硬件束缚,“一次编写,到处运行”。② 相对安全的内存管理和访问机制,避免大部分内存泄漏和指针越界。③ 热点代码检测和运行时编译及优化,使程序随运行时间增长获得更高性能。④ 完善的应用程序接口,支持第三方类库。Q2:Java 如何实现平台无关?JVM: Java 编译器可生成与计算机体系结构无关的字节码指令,字节码文件不仅可以轻易地在任何机器上解释执行,还可以动态地转换成本地机器代码,转换是由 JVM 实现的,原创 2021-01-22 21:53:35 · 802 阅读 · 0 评论 -
Java中程序的执行过程理解(初级)
代码/** * @ClassName hhh * @Description :TODO * @Author Josvin * @Date 2021/01/22/10:37 */class mmm { public static int a = initStatic(); { System.out.println("A"); } public mmm() { this("Hello"); System.out.p原创 2021-01-22 16:25:01 · 214 阅读 · 2 评论 -
【JavaSE】方法的使用
方法的使用1. 方法的基本用法1.1 什么是方法(method)1.2 方法定义语法基本语法代码演示注意事项1.3 方法调用的执行过程基本规则代码演示1.4 实参和形参的关系(重要)代码演示1.5 没有返回值的方法代码示例2. 方法的重载2.1 重载要解决的问题代码示例2.2 使用重载代码演示重载的规则代码示例3. 方法递归3.1 递归的概念代码示例: 递归求 N 的阶乘3.2 递归执行过程分析代码示例: 递归求 N 的阶乘, 加上日志版本3.3 递归练习3.4 递归小结1. 方法的基本用法1.1 什么原创 2021-01-14 18:58:42 · 638 阅读 · 0 评论 -
小白学stream中reduce
API文档stream流重载了reduce方法:第一种:T reduce(T identity,BinaryOperator<T> accumulator)我们来试试修改代码来看各个参数的含义:addpublic class Test1 { public static void main(String[] args) { List<Integer> numList = Arrays.asList(1,2,3,4,5); int原创 2020-12-18 20:16:46 · 3497 阅读 · 3 评论 -
JDK的安装与环境配置
什么是JDK & JREJDK:Java SE Development Kit Java 开发工具JRE:Java Runtime Environment Java 运行环境注意的是JDK本身是内置JRE的,所以我们只需要安装JDK就可以了安装第一步:准备工作(我的电脑是Windows下64位操作系统)安装包准备:jdk-8u131-windows-x64.exe第二步:运行.exe文件安装开发工具和源代码即可,公共JRE禁用掉。然后一直点下一步即可,我把安装路径换在了D盘配原创 2020-11-13 14:55:29 · 181 阅读 · 0 评论