自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

原创 Quartz定时任务使用

Scheduler 可以将 Trigger 绑定到某一 JobDetail 上,这样当 Trigger 被触发时,对应的 Job 就会执行。一个 Job 可以对应多个 Trigger,但一个 Trigger 只能对应一个 Job。:Trigger,包括 SimpleTrigger 和 CronTrigger 描述触发 Job 执行的时间触发规则,实现类 SimpleTrigger 和 CronTrigger 可以通过crom 表达式定义出各种复杂的调度方案。

2023-05-08 23:17:54 307 1

原创 前后端定时任务 vue中setInterval启动与停止

前端中使用vue setInterval间隔一定时间请求后端接口去检查是否上传当天温度,这是第一种方法,第二种方法是使用后端定时任务去检测,将未检测温度数据使用websocket主动推送到前端,因为http只能从浏览器单方面向服务器发起请求获得相应,服务器不能主动向浏览器推送消息,所以使用websocket。最近在写毕业设计,方舱医院管理系统,里面有一个需求,需要前台用户定时监测是否上传自己的温度数据.给用户间隔一定时间去提醒它没有上传温度。

2023-05-04 22:51:22 1318

转载 mysql全文索引

4).当创建表时,可以在CREATE TABLE语句中给出FULLTEXT索引定义,或者稍后使用ALTER TABLE或CREATE INDEX添加该定义。3).在MySQL 5.7.6中,MySQL提供了支持中文、日文和韩文(CJK)的内置全文ngram解析器,以及用于日文的可安装MeCab全文解析器插件。5).对于大型数据集,将数据加载到没有FULLTEXT索引的表中然后创建索引要比将数据加载到具有现有FULLTEXT索引的表中快得多。分词为"新年" "年快" "快乐"分词器最短长度为2的话。

2023-03-17 10:44:10 132

原创 获得客户端公网ip以及ip2region转为省市运营商

【代码】获得客户端公网ip以及ip2region转为省市运营商。

2023-02-14 17:11:02 208

原创 十进制转化为任意进制

【代码】十进制转化为任意进制。

2022-12-09 18:16:04 144

原创 Quick sort

【代码】Quick sort。

2022-11-16 09:44:07 85

原创 动态规划:数塔问题变种(二维dp两种写法)

经典数塔问题是上一层到下一层的左或者右,这里是右或下不难看出最大值为13。

2022-10-28 10:26:36 570 1

原创 让三个线程按序打印--join()实现

【代码】让三个线程按序打印--join()实现。

2022-10-14 16:52:20 186

原创 让三个线程按序打印--信号量(互斥量)实现

【代码】让三个线程按序打印--信号量(互斥量)实现。

2022-10-14 16:51:15 123

原创 优先队列+滑动窗口 解决滑动窗口最大值问题

给定一个数组nums 和滑动窗口的大小k,请找出所有滑动窗口里的最大值。输入:nums = [1,3,-1,-3,5,3,6,7], k = 3。滑动窗口的位置 最大值。输出:[3,3,5,5,6,7]

2022-10-13 22:29:23 212

原创 循环栅栏CyclicBarrier实现十个人赛跑

【代码】循环栅栏CyclicBarrier实现十个人赛跑。

2022-10-09 20:43:57 109

原创 mysql统计函数count

【代码】mysql统计函数count。

2022-09-28 11:27:54 260

原创 将Collections.sort改为自定义规则排序(例如降序)

【代码】将Collections.sort改为自定义规则排序(例如降序)

2022-09-20 14:51:51 296

原创 将Arrays.sort改为自定义规则排序(例如降序)

【代码】将Arrays.sort改为自定义规则排序(例如降序)

2022-09-20 14:48:36 158

原创 Comparable接口与Comparator接口

Comparable接口是设计层面的排序 在使用treeset进行添加时使用的该接口排序规则。在设计层面不满足自己需要的排序规则时,可使用自定义排序规则。显而易见排序规则被改变。

2022-09-20 14:41:14 178

原创 将数组元素按频次从高到低,频次不同时数字从小到大排序

如果使用数组统计频次排序后顺序乱了,只能用hashmap。使用comparator进行自定义排序。

2022-09-20 14:25:27 116

原创 一维数组与二维数组比较相等

【代码】一维数组与二维数组比较相等。

2022-09-18 14:55:42 298

原创 dfs递归+回溯调用顺序(决策树)(重点体会回溯)

111执行完会到递归最后执行的先执行撤销选择,再执行for里面第二层循环。

2022-09-14 00:59:44 192

原创 dfs递归+回溯调用顺序(网格状)(回溯未撤销选择)

第一行进入递归后,这个栈下面最后回溯。递归到底执行到底情况的第二个递归。这里说明一下dfs调用栈顺序。

2022-09-14 00:29:09 186

原创 java为什么编译与解释并存

高级编程语言按照执行方式可以分为编译型和解释型。

2022-09-01 15:20:57 714

原创 O(1)时间复杂度实现LRU键值对插入删除

【代码】O(1)时间复杂度实现LRU键值对插入删除。

2022-08-30 16:57:12 164

原创 堆排序(大根堆)

堆排序

2022-08-09 17:41:43 131

原创 JVM类加载与双亲委派机制

文章目录类加载与字节码技术类文件结构魔数版本常量池...字节码指令编译期处理(语法糖)默认构造器(生成默认无参构造器)自动拆装箱泛型擦除可变参数(会根据传入参数个数创建大小一致的数组)foreach循环switch Stringswitch enum枚举类方法重写时的桥接方法匿名内部类类加载阶段加载链接初始化发生时机不会导致类初始化的情况类加载器双亲委派模式线程上下文类加载器自定义类加载器运行期优化逃逸分析分层编译(JIT)方法内联类加载与字节码技术源代码编译为字节码,经过类加载器把字节码加载到虚拟机中

2022-05-25 14:49:31 126

原创 高并发线程基础

文章目录线程运行线程应用:异步调用线程应用:提升效率栈与栈帧线程上下文切换(Thread Context Switch)常用方法**sleep**:**yield**:**sleep实现:****interrupt**线程中断与终止**join**(底层原理就是wait)两阶段终止模式(多线程设计模式)守护线程java层面的六状态模型线程运行线程应用:异步调用从方法调用角度讲,如果需要等待结果返回,才能继续运行就是同步不需要等待结果返回,就能继续运行就是异步注意:同步在多线程中还有另外一层意思,是

2022-05-25 14:42:05 133

原创 javaee基础总结

B/S架构好处:易于维护升级,服务端升级后,客户端无需任何部署就可以使用到新的版本静态资源html,css,js图片等,负责页面展现动态资源servlet,jsp等 负责逻辑处理数据库负责存储数据HTTP超文本传输协议,规定了浏览器和服务器之间数据传输的规则基于TCP协议,面向连接安全基于请求响应模型 一次请求对应一次响应无状态的协议:对于事务处理没有记忆能力,每次请求响应都是独立的​ 缺点:多次请求间不能共享数据,java使用Cookie,Session解决​

2022-05-25 14:25:01 981

原创 Java判断2个List集合是否相等(不考虑元素的顺序)

如果两个列表以相同的顺序包含相同的元素,则它们是相等的。 因此,我们不能仅仅使用 equals 方法,因为我们想做与顺序无关的比较。传入长度相等的list判断 public static boolean listIsEquals(List l1,List l2){ Object[] obj1=l1.toArray(); Object[] obj2=l2.toArray(); char[] nums1=new char[obj1.length];.

2022-05-22 20:55:45 4012

原创 两阶段终止模式(多线程设计模式)

在一个线程T1中如何优雅停止线程T2,这里的优雅指的是给T2一个料理后事的机会错误思路:使用stop(),stop会真正杀死线程,如果这时线程锁住了共享资源,name当他被杀死后就再也没有机会释放锁,其他线程将永远无法获取锁,使用System.exit(int)方法停止线程目的是停止一个线程,但这种做法会让整个程序都停止正在上传…重新上传...

2022-05-19 18:28:01 131

原创 线程应用与上下文切换

目录线程应用:异步调用线程应用:提升效率栈与栈帧线程上下文切换(Thread Context Switch)线程应用:异步调用从方法调用角度讲,如果需要等待结果返回,才能继续运行就是同步不需要等待结果返回,就能继续运行就是异步注意:同步在多线程中还有另外一层意思,是让多个线程步调一致设计:多线程可以让方法执行变为异步的,比如说读取磁盘文件时,读取操作花费了5秒,如果没有线程调度机制,这5秒调用者什么都做不了,其他代码都得暂停结论:比如在项目中,视频文件需要转换

2022-05-19 18:07:45 210

原创 如何优雅的停止线程

目录interrupt线程中断与终止在一个线程T1中如何优雅停止线程T2,这里的优雅指的是给T2一个料理后事的机会错误思路:使用stop(),stop会真正杀死线程,如果这时线程锁住了共享资源,name当他被杀死后就再也没有机会释放锁,其他线程将永远无法获取锁,使用System.exit(int)方法停止线程目的是停止一个线程,但这种做法会让整个程序都停止interrupt可以打断睡眠线程,运行线程打断处于阻塞状态线程(sleep,wait,join)打断阻塞

2022-05-19 18:05:25 420

原创 类加载与双亲委派机制

目录类加载阶段加载链接初始化发生时机不会导致类初始化的情况类加载器双亲委派模式线程上下文类加载器自定义类加载器类加载阶段加载将类的字节码载入方法区中,内部采用c++的instanceKlass描述java类,重要filed有:每个实例对象都有对象头,实例对象头16个字节,其中八个字节对应它的class地址,获取class信息通过访问对象头,通过地址找到mirror,通过类对象去元空间找链接验证:验证类是否符合JVM规范,安全

2022-05-16 19:30:04 219

原创 JVM垃圾回收算法与垃圾回收器

目录判断垃圾引用计数法可达性分析算法五种引用强引用软引用弱引用虚引用(会关联引用队列)终结器引用(会关联引用队列)垃圾回收算法标记清除标记整理复制分代回收大对象oom垃圾回收器串行吞吐量优先响应时间优先(CMS)G1G1垃圾回收阶段新生代回收新生代回收+并发标记(CM)混合回收Full GC新生代垃圾回收跨代引用问题重新标记(remark)字符串去重判断垃圾引用计数法弊端:循环

2022-05-11 15:08:42 326

原创 GC调优案例

目录案例1:Fullgc和minorgc频繁案例2:请求高峰期发生fullgc,单次暂停时间特别长(CMS)案例3:老年代充裕情况下,发生fullgc案例1:Fullgc和minorgc频繁空间紧张,对象晋升阈值降低,导致本来很多生存周期很短的对象也会被晋升到老年代,进而导致频繁的fullgc的发生方法:因为新生代内存太小,内存优化先从新生代开始,适当调大新生代内存,内存充裕,新生代垃圾回收就没那么频繁,同时增大了幸存区的空间以及晋升的阈值,就可以让很多生命周期较短的对象尽可

2022-05-11 14:04:07 234

原创 多线程详解

目录线程进程并行并发优点何时需要多线程Thread类常用方法线程的调度java的调度方法线程优先级用户线程与守护线程创建线程与使用1.继承Thread类2.实现Runnable接口两种方式对比3.实现Callable接口如何理解Callable比Runnable强大4.线程池线程池相关API线程的生命周期线程安全线程同步方法一:同步代码块方法二:同步方法线程的死锁问题Lock锁(公平,非公平)两种方式对比

2022-04-25 10:07:49 221 1

原创 javaee

B/S架构好处:易于维护升级,服务端升级后,客户端无需任何部署就可以使用到新的版本静态资源html,css,js图片等,负责页面展现动态资源servlet,jsp等 负责逻辑处理数据库负责存储数据HTTP超文本传输协议,规定了浏览器和服务器之间数据传输的规则基于TCP协议,面向连接安全基于请求响应模型 一次请求对应一次响应无状态的协议:对于事务处理没有记忆能力,每次请求响应都是独立的缺点:多次请求间不能共享数据,java使用Cookie,Session解决

2022-04-13 16:53:45 331

原创 JVM运行时数据区

目录程序计数器(寄存器)(线程私有)虚拟机栈(线程私有)栈内存越大越好吗方法内的局部变量线程安全吗栈内存溢出本地方法栈(线程私有)堆(线程共享)堆内存溢出堆内存诊断1.jps工具2.jmap工具3.jconsole工具4.jvisualvm工具方法区(线程共享)内存溢出运行时常量池字符串常量池变量拼接编译期优化(常量拼接)字符串延迟加载串池特性intern()串池的位置串池垃圾回收StringTable性..

2022-04-06 11:26:10 136

原创 Integer常量池

常量池java中存在字符串常量池,维护了所有String对象使用String s="zx"的时候是使用String.valueOf("zx")从常量池中找了个对象返回在使用new的时候是直接创建一个新的对象Integer中也有常量池 其中缓存了-128到127之间的数字(一个字节八位大小)Integer a= 127 与 Integer b = 127相等吗 对于对象引用类型:==比较的是对象的内存地址。 对于基本数据类型:==比较的是值。如果整型字面量的值在-128到127

2022-04-01 11:09:01 1155 2

原创 String中的hashcode缓存以及HashMap中String作key的好处

不可变性String类的值是保存在value数组中的,并且是被private final修饰的.private修饰,表明外部的类是访问不到value的,同时子类也访问不到,当然String类不可能有子类,因为类被final修饰了.final修饰,表明value的引用是不会被改变的,而value只会在String的构造函数中被初始化,而且并没有其他方法可以修改value数组中的值,保证了value的引用和值都不会发生变化final关键字的作用有如下几种 final修饰类时,表明这个类不...

2022-04-01 09:50:21 1021

原创 jdbc编程步骤

目录1.注册驱动2.获取连接3.获取数据库操作对象4.执行sql5.处理查询结果集6.释放资源1.注册驱动加载数据库驱动,通常使用Class类的forName()静态方法来加载驱动。如下代码:Class.forName(dirvirClass)上面代码中的driverClass就是数据库驱动类所对应的字符串加载MySQL数据库时采用的代码为:Class.forName("com.mysql.jdbc.Driver");2.获取连接通过Drive

2022-03-31 17:56:07 197

原创 多态的应用场景

​​一、常用类1.集合中的add()方法可以添加任意类型的数据,原因是Object是所有数据类型的父类。2.当用增强for循环遍历集合时,使用Object类遍历所有元素二.数据库驱动JAVA定义了JDBC Driver接口,不同的数据库开发商按照规范实现该接口,这也是多态的一种表现形式(一个接口对应不同的实现类)。// Mysql注册JDBC驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); //SqlServer注册JDBC驱动

2022-03-31 14:15:41 2412

原创 Mybatis面试常见问题

目录MyBatis是什么ORM是什么为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?传统JDBC开发存在的问题JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的Mybatis优缺点Hibernate和MyBatis 的区别Mybatis缓存Mybatis的缓存原理MyBatis编程步骤是什么样的请说说MyBatis的工作原理为什么需要预编译#{}和${}的区别是什么?resultType、resultmap的区别?

2022-03-31 11:08:13 538

javaee总结 Servlet 三层架构

javaee总结 Servlet 三层架构

2022-04-13

空空如也

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

TA关注的人

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