自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Docsify文档生成工具的使用

摘要本文介绍将Typora中的markdown转化为网页文档的方法流程。1.本地安装Docsifycmd中cd到相应目录下,输入命令 npm i docsify-cli -g回车等待在刚刚的目录下 输入 docsify serve ./ 命令 等待生成访问端口路径 http://localhost:3000在markdown中更新目录结构,利用 [标题](路径) 引用相应的.md文件,达到跳转的目的。...

2021-07-08 19:20:32 221

原创 JVM简析@Gray

1.JVM的概述1.1JVM是什么?JDK、JRE和JVM对比JVM,JRE,JDK 都是 java 语言的支柱,他们分工协作。但不同的是 Jdk 和 JRE是真实存在的,而 JVM 是一个抽象的概念,并不真实存在。JDKJDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。JDK 物理存在,是 programming tools、JRE 和 JVM的一个集合。JREJRE(Java Runtime Environment)Java 运行

2020-12-27 17:26:21 200

原创 数据结构# 笔记【链表】@Gray

什么是链表?链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。1.简介单链表中的每个结点不仅包含值,还包含链接到下一个结点的引用字段。通过这种方式,单链表将所有结点按顺序组织起来。底层实现代码展示:private Class Node{ public E e; public Node next; public void { }}内存图向链表头添加元素2.

2020-11-11 21:18:14 250 2

原创 数据结构# 笔记【栈&队列】@Gray

一.栈1.1简述栈是一种后进先出的数据结构Last in First Out(LIFO)栈内存内存图1.2应用Undo操作(撤销)程序调用系统栈1.3栈的实现

2020-11-10 14:15:07 242 1

原创 JavaSE# 笔记【枚举 单例设计模式 多例设计模式 工厂设计模式 正则表达式】@Gray

1.枚举1.1 之前在哪里听过枚举java中的数据类型 基本数据类型 四类八种 引用数据类型 数组 类 接口 枚举 注解1.2 作用​ 枚举用来表示固定的对象。如果一个类的对象是固定的个数,就可以定义成枚举类型。​ 比如季节,星期,月份。1.3格式public enum 名称{ 对象1,对象2,对象3;}1.4 代码演示//定义枚举表示性别public enum Sex { //男性 女性 MALE, FEMALE;}public

2020-11-10 11:06:02 198 1

原创 JavaSE# 笔记【XML XML约束 DOM4J XPath 方法引用】@Gray

1.XML1.1XML介绍​ XML 指可扩展标记语言(Extensible Markup Language)​ XML中没有预定义标签,所有的标签都是自己定义的。​ XML是W3C组织的一个语言。​ W3C在1988年2月发布XML1.0版本,我们现在用的就是1.0版本。在后面也有新的版本,但是新版本不太兼容旧版本,所以新版本没有被推广开。1.2编写XML<天气预报> <北京> <东城区> <最高温度&

2020-11-07 23:23:41 138

原创 JavaSE# 笔记【类加载 反射 注解 自定义注解 动态代理 Lombok】@Gray

1.类加载1.1类的加载​ 当一个类第一次被使用时,会被加载到方法区,一个类只会被加载一次。1.2类的加载时机创建类的实例。调用类的静态变量,或者为静态变量赋值。调用类的静态方法。使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。初始化某个类的子类。直接使用java.exe命令来运行某个主类。public class Test01 { public static void main(String[] args) throws

2020-11-07 23:17:36 341

原创 JavaSE# 笔记【Junit单元测试框架 网络编程 TCP通信程序 模拟B/S服务器】@Gray

1.Junit1.1概述​ junit是单元测试框架,可以对代码进行测试。​ junit不是JDK中的内容,是第三方工具,所以使用之前需要先导入第三方代码。使用方式如下:​ 1.下载对应的jar包​ 2.在模块下创建一个lib的文件夹,放入jar包​ 3.点击jar右键选择Add as Library1.2常用注解注解@Test 测试方法,测试方法可以直接运行 测试方法不能有参数不能有返回值@After 在测试方法之后执行的@Before 在测试方法之前执行的@Aft

2020-11-07 23:06:49 463

原创 JavaSE# 笔记【IO流总结 Properties类 缓冲流 转换流 序列流 装饰模式 IO流的异常处理】@Gray

IO流的总结一.Properties类【重要】1.概述​ Properties是Hashtable的子类,他的本质是一个集合。但是可以和IO流配合操作文件。​ 别的集合要有泛型,但是Properties没有泛型,这个集合固定就存储字符串的键值对。1.1构造方法方法说明public Properties()创建一个空的属性列表。1.2常用方法方法说明Object setProperty(String key ,String value)添加键值

2020-11-07 22:53:04 202

原创 #代码【冒泡排序】@Gray

package com.Gray.Demo冒泡排序;import java.util.Arrays;/** * 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,依次比较两个元素,如果它们的顺序错误就把它们交换过来。 * 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 * <p> * 算法描述: * <p> * 比较相邻的元素。如果第一个比第二个大,就交换它们两

2020-11-07 22:15:01 113

原创 数据库MySQL# 笔记【字段属性 创建数据库表 】@Gray

一. 数据库的字段属性(重点)1.1 Unsigned(无符号数)无符号数的整数声明了该列不能声明为负数1.2 zerofill(0填充)0填充的不足的位数,使用0来填充eg: int(3), 5–0051.3自增通常理解为自增长,自动在上一条记录的基础上 +1(默认)通常来设计唯一的主键~ index, 必须是整数类型可以自定义设计主键自增的起始值和步长1.4 非空 NULL,not null假设选择了非空,如果不给她赋值,就会报错NULL,不填写值,默认

2020-11-05 22:02:30 550

原创 JavaSE# 笔记【File 递归 IO流 字节流 字符流】@Gray

一.File类1. 概述​ File表示文件或文件夹的路径。​ 注意事项:File对象只表示一个路径,不表示文件,所以不管文件存不存在,File对象都不会报错。2. 构造方法方法说明public File(String pathname)给定路径名称创建File对象public File(String parent, String child)给定父路径和子路径创建File对象public File(File parent, String child)给定父路

2020-11-03 23:24:47 169

原创 JavaSE# 笔记【线程池 Lambda表达式 Stream流】@Gray

一.线程池1.线程池的思想​ 之前的代码每次执行一次方法都需要开启一个新的线程,每个线程执行很短的时间就使用结束了,频繁的创建和销毁线程需要耗费很大的时间和空间。​ 线程池:提前创建多个线程对象放在池中,用的时候取出来使用,用完之后归还到线程池中,线程对象被反复使用,减低时间和空间的消耗。2.线程池的好处​ 提高响应速度【用的时候直接从线程池拿出来用】​ 降低资源消耗【线程对象反复被使用】​ 提高线程对象的可管理性【线程对象放在线程池中方便管理】3.线程池的使用创建对象Executo

2020-10-29 21:09:55 242

原创 JavaSE# 笔记【高并发和线程安全 volatile关键字 原子类 多行代码的线程安全问题 并发包】@Gray

一.高并发和线程安全1.高并发和线程安全高并发:就是在一段时间内有大量的线程要执行. 双11,春运12306,大学选选修课​线程安全:在高并发的情况下,多个线程之间有互相影响的效果。2.多线程内存运行机制当一个线程启动后,JVM会为其分配一个独立的"线程栈区",这个线程会在这个独立的栈区中运行。看一下简单的线程的代码:1.一个线程类:public class MyThread extends Thread { @Override public void run() { for

2020-10-27 23:57:19 251

原创 JavaSE# 笔记【多线程介绍】@Gray

一.多线程介绍1.并行与并发并行:多个任务在同一个时间中【同时】执行。并发:多个任务在同一时间段执行,但【不同时】执行。在电脑中,一个CPU可以并发的执行多个程序。2.进程与线程进程:软件的一次运行就是一个进程。线程:线程是进程中的执行单元,一个进程中可以有多个线程。3.创建线程方式【重点】1.继承方式步骤创建类继承Thread线程类重写父类的run()方法,把多线程要执行的代码写在里面在测试类创建子类的对象调用start()方法开启新线程代码演示public

2020-10-26 15:58:42 123

原创 JavaSE# 笔记【异常】@Gray

一.异常1.1异常的概念​ 异常就是不正常,java中的异常就是程序出现了不正常的结果。1.2异常的分类Throwable Error(错误) :一般是设备问题,比如内存不够用,比如硬盘毁坏了 Exception(异常) 编译期异常: RuntimeException以外的异常都是编译期异常 代码会出现红色波浪线,不解决红线不能点击运行 运行期异常: RuntimeException以及他的子类是运行期异常 代码不会有错误提示1.3常见的异常NullPo

2020-10-26 15:22:47 109

原创 JavaSE# 笔记【Collections工具类 Comparator比较器 可变参数 Set接口及子类 Map接口】@Gray

1.Collections工具类Collections概述:Collections工具类提供了一些操作集合的静态方法。常用方法:方法说明static void shuffle(List<?> list)随机打乱集合元素的顺序static void sort(List list)集合的排序(从小到大)static void sort(List list,Comparator<? super T> )按照指定的方式排序看参数,它仅仅

2020-10-26 11:54:01 249

原创 JavaSE# 笔记【 Collection集合 Iterator迭代器 增强for循环 泛型 List接口】@Gray

第一章 Collection集合1.集合和数组的区别数组:int[] arr = new int[3];1、数组是引用类型。2、数组长度是固定3、数组可以按照索引进行查找。4、数组可以定义为保存任意类型的数组。int[] arr = new int[3]; String[] strs = new String[3]; Student[] stus = new Student[3];集合: ArrayList arr = new ArrayList();1、集合是引用类型。2、集合长度可变

2020-10-25 14:32:37 268

原创 JavaSE# 笔记【Object类 Date类 DateDormat类 Calendar类 Arrays类 System类】@Gray

能够说出Object类的特点 它是一个类。所以的类都直接或间接的继承了此类。祖宗类。 能够重写Object类的toString方法Alt+insert能够重写Object类的equals方法Alt+insert能够使用日期类输出当前日期 Date date = new Date(); System.out.print(date);能够使用将日期格式化为字符串的方法:DateFormat --> SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”); .

2020-10-23 20:30:37 136

原创 JavaSE#笔记 【包装类,String类,ArrayList集合】@Gray

学习目标1.能够说出自动装箱、自动拆箱的概念2.能够将基本类型转换为对应的字符串3.能够将字符串转换为对应的基本类型4.了解String类常用方法的功能及使用1. 包装类1.1 概述为什么要提供包装类?1.包装类型可以使用方法. 2,包装类类型使用成员变量,默认值【null】.3.包装类类型数据保存在【堆】中. Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作

2020-10-22 21:28:04 181

原创 JavaSE#练习题 数组反转(翻转)的两种实现及二维数组顺逆时针旋转的实现@Gray

反转实现:#方法1:移动法:定义始末索引指针,遍历交换.import java.util.Arrays;public class Change1 { public static void main(String[] args) { //定义一个数组 int arr[] = {12, 11, 65, 55, 89}; int temp = 0; //定义两个变量,表示开始结束时的指针,start,end; end用动态变量表

2020-10-19 01:00:10 718

原创 JavaSE#练习题 定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧;定义一个方法打印原数组和处理后的数组;定义一个方法传入一个int类型数组,输出这个数组中只出现一次的元素及个数@Gray

需求如下:1.键盘录入10个整数存入数组中2.定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧3.定义一个方法打印原数组和处理后的数组4.定义一个方法传入一个int类型数组,输出这个数组中只出现一次的数字及个数import java.util.Arrays;import java.util.Scanner;public class Test06 { public static void main(String[] args) { Scanner in = new.

2020-10-17 23:05:37 874

原创 JavaSE#练习题 创建两个长度为10的数组,数组中元素为随机数生成的,且不重复的,将两个数组中不同的元素拼接成字符串,及字符串长度输出到控制台上.@Gray

分析以下需求,并用代码实现:1.创建两个长度为10的数组,数组内元素为随机生成的、不重复的 1-100之间的整数。2.定义一个方法,传入两个数组,方法中将两个数组不同的元素拼接成一个字符串,并且将该字符串以及字符串的长度输出到控制台上; 如果没有则输出"对不起两个数组的所有元素均相同"**import java.util.Arrays;import java.util.Random;public class Test { public static void main(String[.

2020-10-17 22:46:00 1512 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除