JavaSE
文章平均质量分 87
以实例编写,用各类型题目锻炼java基础知识、数据结构、函数的使用等。
Van-bo
Get busy living or get busy dying
展开
-
Cron表达式
在Linux和其他类Unix系统中,cron是一个强大的工具,用于定期执行任务或脚本。而cron表达式则是定义这些任务执行时间的关键。通过了解cron表达式的语法,你可以灵活地控制任务的执行频率,实现各种自动化需求。Cron表达式由6个或7个字段组成,这些字段从左到右分别表示:秒、分、时、日、月、周,以及可选的年份。字段之间用空格分隔。53013159120235,15,30,455-20*/5L0 1 * * *解析:这个表达式的意思是,在每天的凌晨1点0分执行备份脚本。其中,第一个字段0。原创 2024-02-25 15:12:04 · 878 阅读 · 1 评论 -
HTTP/WEB中常见的状态码大全
HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199)成功响应(200–299)重定向(300–399)客户端错误(400–499)服务器错误 (500–599)原创 2022-08-16 22:00:40 · 205 阅读 · 0 评论 -
JVM内存管理
JVM内存管理Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域,JDK 1.8 和之前的版本的数据区域有所差异,JDK1.6如下图所示。图片来源:JavaGuide公众号Java内存布局共有 5 大块,它们分别是堆区(Java Heap)、虚拟机栈(Virtual Machine Stacks)、本地方法栈(Native Method Stacks)、元空间(Meta Spaces)、程序计数器(Program Counter Register)。原创 2021-11-02 16:24:21 · 187 阅读 · 0 评论 -
设计模式-五大创建型模式概念与实现
设计模式(Design pattern)代表了最佳的实践方案,可以说它是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,通常被有经验的面向对象的软件开发人员所采用。《Design Patterns - Elements of Reusable Object-Oriented Software 》书中提及23种设计模式,大致可分为三类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral.原创 2022-04-01 21:43:00 · 9924 阅读 · 0 评论 -
Arrays与Collection中自定义Comparator接口配合lambda实现自定义sort
问题刷到一个算法题需要拼接数字组成一个最大数,基本思想是高位比较,相等比较下一位,然后根据大小先拼接大的,再拼接小的,但是发现当存在多个数字高位相同时面临一个问题,比如示例2中,3,30,34,肯定先拼接34,但是30和3应该拼接为330,先是3再拼30,而不是303,因此转换思路,只需要将两个数线拼接起来,比较一下拼接后的结果哪个大,就把哪个数放前面,就不用逐位比较了,实现很容易如下:class Solution { public String largestNumber(int[.原创 2022-03-23 16:12:46 · 366 阅读 · 0 评论 -
Package cmake is not available, but is referred to by another package.
inux环境下安装Cmake报错:Package cmake is not available, but is referred to by another package.This may mean that the package is missing, has been obsoleted, oris only available from another sourceE: Package ‘cmake’ has no installation candidate尝试了更换下载源,原创 2021-08-25 20:22:36 · 2713 阅读 · 0 评论 -
面试题--JVM垃圾回收及内存管理
1.以下哪些内存区域属于 JVM 规范?() A.方法区 B.实例变量 C.静态变量 D.程序计数器 E.虚拟机栈 正确答案:A D E 2 可以用于生成 JVM 进程堆快照的命令是? A.jmap B.jstack C.jstat D.jhat 正确答案:A 解析: jmap 生成打印指定 Java 进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节jstack 生成线程快照jstat 命令可以查看堆内存各部分的使用量,原创 2021-06-09 21:59:10 · 966 阅读 · 4 评论 -
IO-字节流
文件 & File类的使用1、文件的概念文件可以分为文本文件 二进制文件2、IO流的概念 流是有顺序、有起点和终点的集合,是对数据传输的总称。流的本质就是用来对数据进行操作 IO是我们实现的目的,实现这个目的需要利用的机制就是流机制 (从起点 读取 写入 终点)3、流的分类1)按照流向 输入流 和 输出流 输入流指的是 从键盘 文件 鼠标读取到程序内存的过程 输出流指的是 从程序内存写入到磁盘 打印机 文件的过程 2)按照传输类型 字节流 和 字符流 字节流指的是传输的数据是以原创 2021-03-11 21:46:20 · 70 阅读 · 0 评论 -
Linux-基础知识及常见操作命令汇总
1.终端操作windows 终端打开方式: windows win+RLinux 终端打开ctrl +alt+t、右键打开终端 放大 :ctrl shift + 放小:ctrl -命令清屏 :clear ctrl + l2.命令手册man + 命令帮助手册,用来查看命令、系统调用,库函数等帮助信息如: man printf查看printf在man后加入数字查看不同类型的帮助如man 3 prin...原创 2021-02-12 15:39:20 · 1287 阅读 · 0 评论 -
代码模拟确定有限自动机(DFA)执行过程
给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的 '?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 '?' 字符。题目测试用例保证 除 '?' 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = "?zs"输出:"azs"解释:该示例共有 25 种解决方案,从 "azs" .原创 2020-10-02 23:52:58 · 1216 阅读 · 0 评论 -
基于键盘与扬声器的电子琴设计
1.功能需求开发一个基于键盘和主机扬声器(小喇叭)的简易电子琴工具,同时它也可以自动的演奏指定的简谱文件。通过调用计算机系统的API接口,导入kernel32.dll,调用相关的方法,开发基于键盘和扬声器的一个简易电子琴工具。主要是为了了解计算机操作系统中的相关API的知识,学会对API基本应用。原创 2018-07-27 16:08:41 · 204 阅读 · 0 评论 -
继承与多态
1.给Point类添加一下几个求两点间距离的多态方法:public double distance(Point p)public double distance(int x,int y)public static double distance(Point x,Point y)package ex6;import java.util.*;public class ex6_1 ...原创 2018-05-17 22:37:16 · 1285 阅读 · 0 评论 -
抽象类与接口
1.定义一个接口,其中包含一个displa()方法用于显示信息:通知类,汽车类,广告类,均要实现该接口显示“通知内容”,“汽车油量”和“广告信息”。程序代码:public class exe { interface Shape{ void display(); } static class Message implements Shape{ public v...原创 2018-05-17 22:23:47 · 2773 阅读 · 1 评论 -
常用数据类型处理类
1.从命令行参数中得到一个字符串,统计字符串中字母a的出现次数程序代码:package ex7;import java.util.*;public class ex7_1 {public static void main(String[] args) { System.out.println("请输入字符串"); Scanner s1=new Scanner(Syst...原创 2018-05-17 22:14:50 · 1245 阅读 · 0 评论 -
类与对象
1.编写一个代表三角形的类,其中三条边为三角形的属性,并且封装有求三角形的面积和周长的方法。分别针对三条边为3,4,5,和7,8,9的两个三角形进行测试。程序代码:package ex5; public class ex5_1 { public static class Tri{ double a,b,c; Tri(double a,double b,double c)...原创 2018-05-17 21:55:10 · 3411 阅读 · 0 评论 -
PriorityQueue(优先级队列)的解读与底层实现
1.优先级队列是什么2.如何使用优先级队列3.优先级队列的特性,常用方法4.自定义优先级队列实现原创 2021-01-09 16:39:51 · 12932 阅读 · 0 评论 -
JavaSE-八大经典排序算法及优化算法思路与实现
目录1.冒泡排序1.1算法思想1.2 算法实现1.3 算法改进1.4 算法分析2.选择排序2.1 算法思想2.2 算法实现2.3 算法改进2.4 算法分析1.冒泡排序1.1算法思想冒泡排序的过程就如同它的名字一样,每次冒泡的过程会将元素中最大/小的一个数冒出来,这样最后的一个元素就会是最大/小的元素,下一次冒泡过程就可以对前n-1个再进行排序,n趟过程下来整个序列就变成有序的了。以上图为例,它的过程如下: 比较相邻的元素。如果...原创 2020-12-02 15:24:00 · 13823 阅读 · 4 评论 -
JavaSE-自定义队列+两栈实现队列+两队列实现栈
1.自定义队列实现与栈一样,队列也是一种操作受限制的线性表,但与栈不同的是,栈是后进先出,队列的特点是先进先出。实现与栈类似,队列有一个队头指针和一个队尾指针,入队的时候利用队尾指针进行尾插,出队的时候利用队头指针,把队头指针对应数组中的元素赋值为null,防止内存溢出。class OrderQueue<T>{ private int header; //队头位置 private int tail; //队尾位置 private int size; //有效原创 2020-11-28 19:40:12 · 600 阅读 · 0 评论 -
JavaSE-自定义单链表
目录1. 自定义链表实现2.基础操作2.1 链表打印操作2.2 链表逆序打印2.3 链表逆置3.进阶操作3.1查找倒数第K个结点3.2不允许遍历链表,在pos结点之前插入3.3两个链表相交,输出相交节点1. 自定义链表实现单链表的实现和栈,ArrayList的实现类似,所以对于此部分不赘述了。该种方法实现链表指针域和数据域定义,实现了基本的链表操作,增删查。class MySingleLinkedList<T>{ protect..原创 2020-11-17 22:39:25 · 272 阅读 · 1 评论 -
Struts-标签使用
问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。 现在给出一...原创 2018-07-13 11:59:09 · 623 阅读 · 0 评论 -
JavaSE-类加载过程及反射
一、类加载过程1.装载阶段1.1执行过程以Main.java为例package com.company;public class Main { public static void main(String[] args) { String str1 = "123"; int a = 10; }}其中定义了两个变量,首先利用javac Main.java进行编译生成Main.class文件然后利用javap -verbose命令查看反原创 2020-11-07 20:49:50 · 665 阅读 · 0 评论 -
JavaSE-十分钟写个五子棋
1.设计说明1.1 简介基于Java类和对象以及数组开发的一个小型五子棋游戏程序。游戏开始时,选择黑棋、白棋开局,将一枚棋子落在棋盘一坐标上,然后轮番落子,如此轮流下子,直到某一方首先在棋盘的竖、横或两斜四方向上的五子连成线,则该方该局获胜。1.2 游戏说明功能列表如下:(1)输出棋盘;(2)提示用户下子;(3)查看用户是否出界或者落子位置是否被占用;(4)轮番黑棋白棋选择坐标位置进行下子;(5)判断游戏是否输赢;(6)判断是否进入下一局;(7)退出游戏。...原创 2020-11-01 15:05:01 · 429 阅读 · 0 评论 -
JavaSE-泛型类、接口、方法、擦除机制
1.泛型定义泛型是JavaSE 1.5的新特性,本质是参数化类型,也就是所操作的数据类型被指定为一个参数,将类型由原来的具体的参数类型化,类似于方法中的变量参数,此时类型也定义成参数形式(类型形参),然后在使用/调用时传入具体的类型(类型实参)。这种参数可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。2.泛型类2.1泛型类定义泛型类的声明和非泛型类的声明类似,除了在类名后面添加参数声明部分。泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号分隔。一个泛型.原创 2020-10-31 15:07:27 · 839 阅读 · 0 评论 -
JavaSE-回溯+自定义类栈实现Puzzle问题
Puzzle问题描述如图有一个一维数组,上面的数字表示可以移动的步数,每个结点都有左右两个方向可以移动,例如第一个结点4,它只能往右移动4格到3的位置,而3左右都可以移动,要求是找到一条路径能够到达最后一个结点,该节点的值必定是0,如果能找到打印输出。手动测试完成后改为随机生成长度和元素值进行测试。和迷宫问题类似,见迷宫问题,它变得更简单了。先自定义一个类栈:栈中用一个自定义的puzzleNode类型的一维数组存储结点信息,size为栈中有效元素个数,操作主要有入栈,出栈,取栈顶元素。原创 2020-10-24 14:00:04 · 827 阅读 · 2 评论 -
JavaSE-基于回溯法用类+栈实现迷宫问题
问题描述:输入迷宫大小,以及路径,0表示可走路径,1表示死路,从输入矩阵的左上角起点到右下角终口(也可简单改动自定义起点和终点)找出一条能通过的路径。如输入大小3*3,路径为0 0 00 1 10 0 0最终要做的是找到并将对应路径的值改写,比如说是2,用来表示找到的路径所在,如:2 0 02 1 12 2 2思路:利用回溯法去做,每次进行结点探查,能走就走,路不通就返回,因此这里利用栈去做,自定义栈类如下:栈中用一个自定义的Maze...原创 2020-10-22 21:30:53 · 978 阅读 · 2 评论 -
JavaSE-类与对象-ATM自主操作系统实现
学完类与对象的练习小作业,主要有三个类:银行卡类包含银行卡的相关信息如卡号,密码,姓名,余额;银行类中主要定义了一个银行卡数组,用来存储当前用户的银行卡信息,类方法包括用户操作界面,添加用户,用户检测,银行卡号/持卡人姓名存在检测并获取,存钱功能,取钱功能,转账功能等。ATM类的作用就是调用银行类,并通过单例模式初始化一个对象,然后调用构造函数去实例化一个Bank对象,进行调用,功能包括用户欢迎界面,用户的登录,注册,注销,改密等功能。1.银行卡类package com.project原创 2020-10-13 19:30:05 · 1790 阅读 · 0 评论 -
JavaSE-类与对象+单例模式
1. 类与对象的引用概念:如果一个变量的类型是类类型,而非基本类型,那么该变量又叫做引用。new testClass();该操作表示创建了一个testClass对象,但没有办法访问这个对象。testClass t = new testClass();t变量是testClass类型,又叫做引用,也称为指向,引用可以有多个,但是指向的对象只有一个,如下方例子,四个引用指向的都是一个对象。public class testClass{ String name;原创 2020-10-07 20:33:31 · 393 阅读 · 0 评论 -
Arrays的toString方法和deepToString方法比较
因为打印二维数组时用错了方法,一般是用Arrays.deppToString或者遍历使用toString,我直接用Arrays.toString去打印了二维数组,没有打印出正常二维数组的内容,而是打印了一个貌似类名的串,一直没有研究过,只是记着用而已,今天看了一下源码来记录一下这两个函数的差别。1.Arrays.toString方法源码如下public static String toString(Object[] a) { if (a == null) return ...原创 2020-10-06 12:49:25 · 726 阅读 · 0 评论