- 博客(23)
- 收藏
- 关注
原创 JSP学习总结
JSP知识汇总: <!-- html风格注释--> <%-- jsp风格注释 --> // java风格单行注释 /* java风格多行注释 */ <% String str = new String();%> <%=str %> <%-- 静态包含 --> <%@ include file="包含的jsp页面" %> <%-- 动态包含 --> <jsp:include page=
2021-07-04 23:25:57
151
原创 JWTToken工具类
package com.cy.utils; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTCreator; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; import java.util.Calendar; import java.util.HashMap; import java.util.Map; public clas
2021-06-19 17:22:04
354
原创 JUC学习笔记
CountDownLatch 减法计数器,达到一个初始化的值以后,才会执行接下来的操作 package cn.cy.test; import java.util.concurrent.CountDownLatch; public class CountDownLatchTest { public static void main(String[] args) { CountDownLatch countDownLatch = new CountDownLatch(6);
2021-06-04 19:55:38
135
原创 MySql数据库引擎
MySql数据库引擎 1.INNODB (默认使用) 2.MYISAM(之前使用) 功能 MyIsam InnoDB 事务支持 不支持 支持 数据行锁定 不支持(表锁) 支持 外键约束 不支持 支持 全文索引 支持 不支持 表空间的大小 较小 较大,约为2倍 常规性能对比: MYISAM 节约空间 INNODB 安全性高,事务处理,多表多用户操作 在物理空间存在的位置 所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库 本质还是文件的存储 MySQL
2021-05-31 19:24:31
73
原创 JSON字符串与对象,日期对象的转换工具类实现
代码如下: package com.chuang.utils; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import java.text.SimpleDateFormat; /** * JSON工具类:提供
2021-05-29 23:15:58
453
原创 针对Mybatis-Plus的代码生成器使用步骤
前言:准备数据库及表 1.新建SpringBoot项目 1.1 编写pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/
2021-05-29 16:23:22
123
原创 针对Mybatis-Plus中逻辑删除的探究实现
前言:准备数据库相关数据 数据库:mytest 表:user 1.整体流程 1.1新建 SpringBoot项目 1.2 配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h
2021-05-29 14:47:44
106
原创 二分查找法
二分查找法 import java.util.ArrayList; import java.util.List; /** * @author scXu: * @version 创建时间:2021年5月24日 上午8:36:04 * 二分查找 * 查找一个相同元素 * 查找多个相同元素 */ public class BinarySearch { public static void main(String[] args) { int[] arr = {1,3,4,6,6,6,6,6,6,6,7,9,
2021-05-24 09:01:12
80
原创 八大排序-快速排序
1.快速排序 1.1 概念 快速排序 先选择数组的中轴,从数组两头分别进行循环遍历与中轴比较并交换,完成一轮后保证左边比中轴小,右边比中轴大,然后依次进行左递归,右递归,完成排序(总体思想-递归) 1.2 代码实现 package com.tedu.sort; import java.util.Arrays; /** * @author scXu: * @version 创建时间:2021年5月18日 上午8:54:56 * 快速排序 * 先选择数组的中轴,从数组两头分别进行循环遍历与中轴比较
2021-05-18 12:53:04
86
原创 斐波那契数列的3种实现方式
斐波那契数列 1.暴力递归 2.去重递归 3.双指针迭代 package leetcode; /** * 3种菲波那切数列算法实现 * */ public class FeiBo { public static void main(String[] args) { System.out.println(calculate(10)); System.out.println(calculate2(10)); System.out.println(calculate3(10)); }
2021-05-16 21:43:53
115
原创 八大排序-希尔排序
1.希尔排序 1.1 概念 希尔排序:总体思路-缩小增量排序 希尔排序-交换法(内部方式:冒泡) 希尔排序-移位法(内部方式:直接插入) 1.2 代码实现 import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class ShellSort { public static void main(String[] args) { //int[] arr = {8,9,1,7,
2021-05-16 13:57:09
93
原创 八大排序-冒泡排序
1.冒泡排序 1.1 概念 冒泡排序属于内部排序, 冒泡排序:每一轮都是相邻的两个数据进行比较,把本轮当中的最大值交换到最后, 依次进行n-1轮 优化: 1.嵌套循环中,j 的值的范围控制由<arr.length-1 改为<arr.length-i-1 ,这样每轮比较过的最大值就不需要在参加比较 2.设置一个标志位,如果某轮比较中没有发生交换,则说明排序已经完成,直接跳出循环,排序结束 1.2 代码实现 import java.util.Arrays; /** * @author scXu:
2021-05-15 15:51:37
150
原创 八大排序-插入排序
1.插入排序 1.1 概念 插入排序属于内部排序,是将一个数组分为一个有序表,和一个无序表, 然后从无序表中取数据,依次和有序表中的数据向前进行比较, 直到找到适当的位置,进行赋值(此处默认从小到大排序) 1.2 代码实现 import java.util.Arrays; /** * @author scXu: * @version 创建时间:2021年5月15日 下午3:08:33 * * 插入排序-内部排序 */ public class InsertSort { pub
2021-05-15 15:31:51
83
原创 八大排序-选择排序
1.选择排序 1.1 概念 选择排序属于内部排序,它的实现方式是(假定从小到大排序 array[n] ): 第1轮从数组中选择最小的数据,放到array[0]的位置, 第2轮从数组中选择最小的数据,放到array[1]的位置, 第3轮从数组中选择最小的数据,放到array[2]的位置, … 第n-1轮从数组中选择最小的数据,放到array[n-2]的位置, 共执行n-1轮 1.2 代码实现 import java.util.Arrays; /** * @author scXu: * @version 创建
2021-05-14 20:03:37
84
原创 数据结构与算法---(带头节点的单链表的增删改查)
单链表 如图是单链表的简单示意图 单链表主要有一个头结点,n个节点连接而成,每一个节点保存着下一个节点的地址,看似连续,实则每一个节点在内存中的地址不一定连续,最后一个节点的地址区域为null,头结点一般不存数据,只是为了标识链表的存在,连接链表 package com.linkedlist; /** * *本类主要实现单链表的创建,添加节点,按顺序添加节点,修改节点数据,删除节点,打印链表数据(带头结点的单链表,但是头结点不能动,只是为了标识链表的存在) * 1.HeroNode 英雄节点,
2021-05-09 22:54:08
209
原创 数据结构与算法---(二维数组转化为稀疏数组-稀疏数组还原为二维数组)
稀疏数组 使用场景 某些特定情况下(棋盘,地图等等),可能二维数组中存在很多无意义的数据,我们可以将它转化为稀疏数组,来节省存储空间 以下是二维数组转化为稀疏数组-稀疏数组还原为二维数组的整个过程的代码实现: package com.chuang; public class SparseArray { public static void main(String[] args) { //创建一个原始二维数组 11* 11 //0 表示没有棋子 1 表示黑子 2表示
2021-05-07 20:12:58
176
原创 验证码的生成(图片)
实现验证码的生成 package com.jt.util; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Random; public class TestImage { public static void main(String[] ar
2021-04-28 20:12:20
94
原创 HashMap学习笔记
– 向HashMap里存入数据时,如何计算获得下标? 1.首先对key进行哈希,得到哈希值 2.然后用哈希值和进行右移过的哈希值进行^(异或)运算 3.最后根据得到的值和数组长度减一(length-1)进行 &(与)运算,就可以得到下标值 ,这样可以控制下标在数组下标范围内,不会越界 补充:^ 异或运算 上下相同为1,不同为0 & 与运算, 上下都为1,才为1,其他都为0 – HashMap 数组初始长度为16,加载因子为0.75 – 扩容本质是创建新的数组,把旧的数组的内容转移到新的
2021-04-27 15:49:36
259
原创 MyBatis快速启动代码
mybatis-config.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- MyBatis的全局配置文件 --> <configuration> <!--1.
2021-04-26 16:38:29
216
原创 Git使用步骤
使用步骤 1. Git 新建仓库 2. 在本地需要上传Git的文件夹里,右击选择Git 黑窗口 3. 键入命令 这里是第一次与远程仓库建立连接并上传 git config --global user.name "username(git的用户名)" git config --global user.email "email(git绑定的邮箱)" git init git add . (. 代表目录下的所有文件,也可以写单独的文件名) git commit -m "first commit" //双
2021-04-24 17:11:35
162
原创 Maven
Maven 1.概述 Maven是apache下的一个纯Java开发的开源项目,Maven是一个项目管理工具, 可以简化项目配置, 统一项目结构, 使得开发者的工作变得更简单(同时可以管理项目依赖(jar包)) 2.配置步骤 下载:http://maven.apache.org/download.cgi 安装:maven是一个绿色软件, 解压之后就可以使用! 安装时建议安装的路径中不要包含中文和空格! 配置: 本地仓库: 本地仓库就是本地硬盘上的一个目录, 这个
2021-04-21 13:08:31
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人