- 博客(75)
- 收藏
- 关注
原创 mybatis if
<!-- 4.1.1 在WHERE条件中使用if 需求: 实现一个用户管理高级查询功能,根据输入的条件去检索用户信息。这个功能 还需要支持以下三种情况:当只有输入用户名时,需要根据用户名进行模糊查 询;当只有输入邮箱时,根据邮箱进行完全匹配;当同时输入用...
2020-04-21 16:10:11
395
1
原创 mybatis中使用LocalDateTime报错:SQLFeatureNotSupportedException
mybatis-plus 3.1.1版本更新了mybatis的版本,由原先的3.5.0更新到了3.5.1,但是因为mybatis 3.5.1版本对于java.time包下LocalDateTime,LocalDate,LocalTime类型的转换交由了JDBC,若JDBC组件不支持对于LocalDateTime类型的处理则会报错。现在项目中运用的是alibaba druid数据库连接池,在drui...
2020-03-18 20:28:06
2156
转载 layui内置loading等待加载
点击功能按钮之后 var loading = layer.load(0, { shade: false, time: 2*1000 }); 参数: icon:0,1,2 loading风格 shade:false 是否有遮罩,true表示有遮罩 time : 2*1000 设定最长等待时间,设置时间之后,loading会在时间到之后自动关闭 关闭"loading" (在ajax成功或失败...
2020-03-18 16:57:49
3039
原创 单例模式
package com.designpattern.singleinstance; /** * 单例模式有八种方式: * 1) 饿汉式(静态常量)--->可用,可能造成内存浪费 * * 2) 饿汉式(静态代码块)--->可用,可能造成内存浪费 * * 3) 懒汉式(线程不安全)-->在实际开发中,不要使用这种方式 * * 4) 懒汉式(线程安全,同步方法)--&...
2020-03-07 23:42:15
204
原创 java设计模式七大原则
七大设计原则: 1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责. 2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则. 3、依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接...
2020-03-07 12:43:49
198
原创 手写简易线程池完整代码
package com.thread.threadpool; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; /** * 线程池 */ public class ThreadPool extends Thread{ ...
2020-03-05 19:27:05
322
原创 捕获线程运行期间的异常
package com.thread.threadexception; /** * 捕获线程运行期间的异常 * * * 线程无法抛出异常,因为run()方法无法抛出异常 */ public class ThreadException { private final static Integer A=10; private final static Integer B=0...
2020-03-05 10:38:43
212
原创 给应用程序注入钩子程序
package com.thread.hook; /** * 给应用程序注入钩子程序 */ public class ExitCapture { public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread(()->{ S...
2020-03-05 10:02:47
521
原创 哈夫曼树代码实现
package com.datastructure.tree.binaryTree; import java.util.*; /** * 哈夫曼树 */ public class HuffmanTree { //测试一把 public static void main(String[] args) { int[] arr={13,7,8,3,29,6,1}...
2020-03-04 11:43:03
564
原创 堆排序
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Date; /** * 堆排序 * 非常快 */ public class HeapSort { //测试一把 public static void main(String[] a...
2020-03-03 23:15:19
223
原创 顺序存储二叉树
package com.datastructure.tree.binaryTree; /** * 顺序存储二叉树 * * 1。顺序存储二叉树通常只考虑完全二叉树 * 2。第n个元素的左子节点为2*n+1 * 3。第n个元素的右子节点为2*n+2 * 4。第n个元素的父亲节点为(n-1)/2 */ public class SequentialStorageBinaryTree { ...
2020-03-03 18:16:32
152
原创 中序线索二叉树
package com.datastructure.tree.binaryTree.cluebinarytree; /** * 线索二叉树 */ public class ClueBinaryTree { public static void main(String[] args) { ClueBinaryTre clueBinaryTre = new ClueB...
2020-03-03 18:13:15
321
原创 实现一个自己的显示锁Lock
接口 package com.thread.createmyselflock; import java.util.Collection; public interface Lock { class TimeOutException extends Exception{ public TimeOutException(String messgae){ ...
2020-03-03 15:32:03
178
原创 Java lock 能被中断, synchronized 不能被中断
1、lock是可中断锁,而synchronized 不是可中断锁 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的事情 ReentrantLock获取锁定与三种方式: a...
2020-03-03 12:27:25
927
原创 结束线程的方式三
package com.thread.killthread; /** 使用守护线程的方式杀死线程 */ public class EndOfViolenceToKillThread{ private Thread executeThread; private boolean flag = false; public void execute(Runnable task){ //执行线程 exe...
2020-03-02 16:10:53
167
原创 结束线程的方式二
package com.thread.killthread; /** * 用中断的方式杀死线程 */ public class InterruptToKillThread extends Thread{ @Override public void run() { //中断方式1 // while (true){ // Sys...
2020-03-02 16:09:48
250
原创 顺序存储二叉树的遍历
package com.datastructure.tree.binaryTree; /** * 顺序存储二叉树 * * 1。顺序存储二叉树通常只考虑完全二叉树 * 2。第n个元素的左子节点为2*n+1 * 3。第n个元素的右子节点为2*n+2 * 4。第n个元素的父亲节点为(n-1)/2 */ public class SequentialStorageBinaryTree { ...
2020-03-02 16:08:39
583
原创 结束线程的方式一
package com.thread.killthread; /** * 设置标志杀死线程 */ public class SetFlagForKill extends Thread{ private volatile boolean flag = false; @Override public void run() { while (!flag)...
2020-03-02 15:11:10
153
原创 二叉树
package com.datastructure.tree.binaryTree; /** * 二叉树 */ public class BinaryTree { //测试一把 public static void main(String[] args) { //创建一棵树 BinaryTre binaryTre = new BinaryTr...
2020-03-01 15:59:52
158
原创 手写哈希表
情景: google公司上机题, 有一个公司,当有新员工来报到时,要求将该员工的信息加入(ID,姓名,年龄,地址),当输入员工的ID时,要求查找到该员工的所有信息 要求: 不使用数据库,速度越快越好====》言外之意,用hash表来完成 package com.datastructure.HashTableDemo; import java.util.Scanner; /** * googl...
2020-02-29 17:27:09
723
原创 斐波那契查找算法(黄金分割查找算法)
package com.datastructure.searchalgorithm; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 斐波那契查找算法(黄金分割查找算法) */ public class Fibonacci { public static void ...
2020-02-28 23:03:06
393
原创 插值查找算法
package com.datastructure.searchalgorithm; import java.util.ArrayList; import java.util.List; /** * 插值查找算法 * * 对于数据量较大,关键字分布比较均匀的查找表来说,采用插值查找,速度较快 * * 但是在关键字分布不均匀的情况下,该方法不一定比二分查找要好 */ public c...
2020-02-28 18:45:42
142
原创 二分查找
package com.datastructure.lookupalgorithm; import java.util.ArrayList; import java.util.List; /** * 二分查找 * 数组必须是有序的 */ public class BinarySearch { public static void main(String[] args) { //...
2020-02-28 16:23:07
207
原创 希尔排序
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** * 希尔排序 * 非常快 */ public class ShellSort { public static void...
2020-02-28 14:41:55
111
原创 选择排序
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** * 选择排序 * 排序速度快于冒泡排序 */ public class SelectionSort { public ...
2020-02-28 14:41:28
129
原创 快速排序
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** *快速排序 * 比希尔还快 */ public class QuickSort { public static voi...
2020-02-28 14:40:53
105
原创 归并排序
package com.datastructure.sortingalgorithm; import java.util.Arrays; /** * 归并排序 */ public class MergeSort { public static void main(String[] args) { int[] a = {90,-2,0,1,2,90,5,-2,4,3...
2020-02-28 14:40:14
150
原创 插入排序
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** * 插入排序 */ public class InsertSort { public static void main(S...
2020-02-28 14:39:44
81
原创 冒泡排序及其优化
package com.datastructure.sortingalgorithm; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; /** 冒泡排序及其优化 排序速度不是很快 */ public class BubbleSort { public static voi...
2020-02-28 14:38:53
165
原创 基数排序
package com.datastructure.sortingalgorithm; import java.util.Arrays; /** 基数排序 稳定的排序 速度非常快,比快速,归并都快 但是占用内存空间巨大,是典型的空间换时间 */ public class RadixSort { public static void main(String[] args) { in...
2020-02-28 14:37:15
107
原创 $().click()和$().on('click',function(){})的区别
().click()和().click()和().click()和().on(‘click’,function(){})的区别 1. $(选择器).click(fn) 当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器。 1 2 3 4 后面动态创建的5和6,没法进行点击事件触发。...
2019-10-23 23:02:23
482
1
原创 Long.valueOf(“String”), longValue()和Long.parseLong(“String”)各自的功能
longValue() longValue()是Long类的一个方法,用来得到Long类中的数值,是将包装类中的数据拆箱成基本数据类型. Long.valueOf(“String”) Long.valueOf(这里有参数),是将参数转换成long的包装类——Long。 Long.ParseLong(String) Long.ParseLong(String)方法,将 string 参数解析为有符号...
2019-10-21 17:31:07
2149
原创 JDBC连接数据库时警告:Establishing SSL connection without server's identity verification is not recommended.
警告信息为: Sat Aug 31 12:13:53 CST 2019 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connect...
2019-08-31 12:29:14
597
原创 异常的抛出和处理
自定义输出异常 package error; import java.util.ArrayList; public class Exception { public static void main(String[] args) { // TODO Auto-generated method stub try { //list目前为空,因为还没有new,是不能使用的 A...
2019-08-29 16:55:54
1039
1
原创 每天一条Linux命令---nl
nl(添加行号打印) [root@www~]# nl [-bnw] 文件 参数: -b : 指定行号指定的方式, 主要有两种: -b a : 表示不论是否为空行,也同样列出行号(类似 cat -n); **-b t : ** 如果有空行,空的那一行不要列出行号(默认值). -n : 列出行号的表示方法,主要有三种: -n ln : 行号在屏幕的最左方显示; -n rn : 行号在自己字段的最...
2019-08-27 01:19:46
199
原创 为什么要使用Maven
Maven是什么? Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。 为什么要使用Maven? jar包管理: a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下 载到错误的jar包; b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。 maven是跨平台的可以在window、lin...
2019-08-26 11:14:37
316
原创 安装Mysql8后,mysql workbench连接数据库报错:Authentication plugin 'caching_sha2_password' cannot be loaded
安装Mysql8后,mysql workbench连接数据库报错: 这是因为 : 8.0加密方式是(caching_sha2_password)有些 mysql workbench 客户端还不支持. 因此需要修改 mysql 用户密码的加密方式. 查看加密方式: select user, host, plugin, authentication_string from user\G; 修改密...
2019-08-26 00:38:57
1016
转载 Java面试内容
Java基础知识 java中==和equals和hashCode的区别 int与integer的区别 抽象类的意义 接口和抽象类的区别 能否创建一个包含可变对象的不可变对象? 谈谈对java多态的理解 String、StringBuffer、StringBuilder区别 泛型中extends和super的区别 进程和线程的区别 final,finally,finalize的区别 序列化的方式 s...
2019-08-25 21:22:53
147
原创 Mysql学习笔记
1. 什么是数据库? Excel就是一个数据表,人操作 MySQL是一个数据库,便于程序操作,便于存储百万以上级别的数据 对于数据库的基本操作:增删改查 如何对数据库操作 SQL语句 SQL命令 Structured Query Language(SQL) 1) 每个命令后; 2) 不区分大小写 2. 数据库排行(2016.10) Oracle MySQL SQL Server MongoDB P...
2019-08-25 13:49:55
176
原创 每天一个Linux命令---cat与tac
开篇第一句,还是那句老话: 先学会走,再想着跑. 直接查看文件内容 直接查看一个文件的内容可以使用cat、tac、nl命令,今天我们主要讲: cat、tac, nl命令明天继续. cat(concatenate) -A : 相当于 -vET 的整合参数,可列出一些特殊字符,而不是空白而已;(不常用) -b : 列出行号,仅针对非空白做行号显示,空白行不标行号;(常用) -E : 将结尾的断行字符...
2019-08-25 12:27:52
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人