自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cron 表达式

目录整体结构每部分取值常见表达式及含义在线Cron表达式生成器整体结构秒分时 日月星期 年(可省略)分为以上 7 部分,每部分之间用空格隔开,其中年份可以省略。(整体顺序是时间单位从秒到年从短到长依次排列,只是星期比较特殊和后面的交互了下位置)其中里面包含的符号有:数字 , - * / ? L W C 部分英文单词缩写特殊符号说明:, 列举若干值的分隔符; - 指定值的范围;* 所有值; / 符号前表示开始时间,符号后表示每次递增的值(间隔触发时...

2021-07-29 11:35:49 1385

原创 SQL函数学习记

SELECT `code`,-- -- 返回字符串 s 的第一个字符的 ASCII 码-- ASCII(`code`), -- -- -- @@返回字符串 s 的字符数-- CHAR_LENGTH(`code`),-- CHARACTER_LENGTH(`code`),-- -- -- @@字符串 s1,s2 等多个字符串合并为一个字符串 -- CONCAT(`code`,`code`),-- -- -- @@同 CONCAT(s1,s2,...) 函数,但是每个字符串之.

2021-03-10 09:44:53 131

原创 Spring在web容器中启动过程——源码分析

前言spring的启动过程就是IOC容器的启动过程,spring可用于各种环境,对于不同环境下启动入口会有所差异。看过spring源码的朋友可能会说,spring启动入口不就是对AbstractApplicationContext#refresh的调用吗?很对,refresh()是统一入口,但它们通过什么样的方式才进入到对refresh()调用的呢?下面将分析spring在web程序、非web容器中通过资源文件配置、注解配置方式下是如何走到对refresh()调用这步的。web程序对于

2020-11-13 23:30:44 265

原创 LeetCode——单调栈题型分析

〇、引入什么是单调栈:单调栈是栈结构,但使用了一定方法让栈内元素保持单调性(单调递增或递减)。能解决的问题:专门解决 Next Greater Element 这类典型问题。即在数组中寻找每个元素的下个更大元素。本篇主要描述了什么是 Next Greater Element问题、单调栈的解题模板,以及它能解决的哪些衍生问题。一、Next Greater Element描述:给定一个数组,返回一个等长的数组,对应索引存储着下一个更大元素,如果没有更大的元素,就存 -1。示例:

2020-10-24 23:35:43 169

原创 设计模式——深度分析代理模式

10-24

2020-10-24 22:42:13 149

原创 MySQL处理线上字典项数据的升级SQL——问题记录

需求:项目上线后发现一些sao操作后导致了存字典项编码的字段有少部分数据存的字典项名字,现需要写个升级SQL将存字典项名字的数据更正为存字典项编码。(字典项很多)开始思路:最开始想的处理思路是,写个自定义函数(因为要传入变量,不能使用子查询所以就用自定义函数了)根据字典项值查询出对应的字段项编码,然后在where中带条件筛选出需要更正的值。写好后发现通用性不强,换个字典项筛选条件不好处理。-- 获取民族编码DELIMITER $$DROP FUNCTION IF EXISTS

2020-09-24 17:34:08 240

转载 NSSM 将程序封装成服务软件

一、概要软件官方下载地址:https://nssm.cc/downloadNSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 可以重定向输出(并且支持Rotation) 可以自动守护封装了的服务,程序挂掉了后可以自动重启 可以自

2020-07-18 16:31:39 909

原创 Java处理Excel中复杂表头导出

背景:在导出Excel数据时遇到非常复杂的表头,怎么处理更加简单优雅呢?网上主要流传着两种解决方式,一种是用代码合并拼接表头,一种是在Excel中画好模板,导入时加载模板然后填充数据。相比之下第二种解决方式就显得非常优雅而简约,因为第一种用代码合并拼接表头最头疼的是计算行列、合并行列,然后再手动往不规则的表头中填入数据。而使用第二种相当于把合并表头部分在Excel中可视化处理了,在写数据时只需要加载模板再写入数据就OK了。代码:工具类代码:import org.apache.poi.xss

2020-06-04 19:56:53 2986 2

原创 MySQL中表字段转Java实体类的属性

背景阿里开发规范中命名数据表都是以小写字母+下划线命名,如果不使用mybatis自动生成器,在开发过程写对应的JavaBean属性时得挨个对应上。字段比较少就还可接受,但字段多了写起来就非常麻烦,于是写了下面的SQL来解决这个问题。仅需修改数据库名和表名,执行后就可以得到JavaBean中所需要的属性,如果继承了某些基类,就选择性删除一些字段就可以了。代码使用说明在使用时定位到最后两行SQL,在那儿把数据库名和表名换成对应的数据库和表名执行即可。另外此SQL的数据类型映射只处理了常

2020-05-23 07:29:59 1232 5

原创 MySQL中修改字段值的前缀或后缀

背景:因为项目整合需要,需要将几个子项目整合成一个项目发布,但之前开发过程中设置跳转的URL前缀是以各个子项目前缀命名的,现在需要将那些子项目的前缀统一成一个名字。因此需要修改保存URL数据表中的记录的前缀。如下图所示:需要将FORMURL字段保存的值中前缀为roll和sr值修改成前缀为sw,其他值不变。分析:1. 修改数据表中的值最常见的思路有两种:修改时用子查询限定修改的内容,并设置对应的值。(这种设置的值比较固定) 修改时用case when搜索限定修改的内容和值。(设

2020-05-21 18:20:35 2094

原创 MySQL中整形型转字符串

背景:今天遇到个问题因为数据类型的原因报了错,想了想在业务代码中再转换数据类型还需要去遍历一次才能完成转换,这种就显得比较麻烦;还有一种就是在数据库中查询数据时就将其转为指定类型,简单高效。实践:select CAST(number AS CHAR) from table;select CONCAT(number, '') from table;之前还遇到过一种数据表定义为tinyint型,结果在mybatis中被解析成Boolean类型,这个时候也是需要强转的。select C

2020-05-11 16:22:33 2345

原创 MySQL根据一个字段批量更新关联字段——问题记录

一、问题:base_user基础表中需要新增一个字段is_at_school(是否在校:0否 1是)标识人员是否在校,该字段与status_code(人员状态编码)相关联,关联关系如下图,现需要在新增字段后历史数据的该字段值要更新成相应的值。二、解决方案:2.1 先根据status_code查出数据id,再根据id更新is_at_school-- 更新在校状态的‘是否在校’为...

2020-02-29 00:03:17 926

原创 spring源码阅读与分析——循环依赖(附图解)

目录一、概要二、方法调用过程分析三、源码分析3.1 准备工作3.2 refresh()3.3 finishBeanFactoryInitialization()3.4preInstantiateSingletons()3.5 getBean()3.6doGetBean()3.7第2次调用getSingleton()3.8标记该beanName的b...

2020-02-19 23:20:06 459

原创 使用idea和gradle编译spring5源码——问题记录

一、编译源码过程编译源码过程遇到很多坑,参考了很多博客,最后发现因为各种版本不兼容的原因会出现很多难搞的问题,导致的踩的坑解决起来巨耗时。于是总结出:在某个环境中编译spring源码时最好带着idea的版本去搜索,并且在配置过程中最好一一按着教程中的版本来做配置,这样可以避免很多坑。在配置过程中我参考的这篇博客,这篇博客也是某spring源码解析教程中老师提到的参考博客:https://b...

2020-02-01 23:42:01 738

原创 Tomcat三大部署方式之配置分析

前言:记录一下在部署JavaWeb项目时详细了解了Tomcat的几大部署方式,根据配置方式分析一下配置参数,加深对这些参数意义的理解。目录一、webapps目录部署操作过程:示例:分析:二、通过Context配置文件部署操作过程:示例:2.1相对路径:​2.2绝对路径:​分析:Tomcat配置域名访问项目三、在conf/Catalina目...

2019-11-17 17:18:54 594

原创 CentOS环境下安装Nginx

添加Nginx软件库 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装Nginx yum -y install nginx 设置Nginx服务器自动启动 systemctl enable...

2019-11-14 21:36:06 130

原创 CXF拦截器

参考:http://cxf.apache.org/javadoc/latest/https://www.cnblogs.com/cac2020/p/5975473.htmlhttps://blog.csdn.net/elim168/article/details/72356346一、用途CXF拦截器可以直接访问和修改sope消息,它可用于WS请求响应中的权限验证、日志记录,S...

2019-11-13 18:10:16 1256

原创 CentOS下用Eclipse和命令行方式编译运行WordCount程序

安装Eclipse一、下载Eclipse软件二、安装Eclipse软件三、安装Eclipse插件Hadoop-Eclipse-Plugin四、配置Hadoop-Eclipse-PluginWordCount程序一、在eclipse中写个WordCount吧1.建立项目2.在项目里面建立WordCount类3.写入代码4.通过 Eclipse 运行 Map...

2019-06-08 00:53:51 2025 4

原创 SSH项目在本地能运行,但部署在Linux服务器上就报Hibernate operation: Cannot open connection; uncategorized SQLException f

1、报错:2、分析原因:先是在网上找了很多解决方案,然后一一去尝试,结果尝试了很多都不行(没有找到问题最根本的原因),以下是我尝试过程中试过的方案(有些也是自己分析出来可能出现的原因去尝试的方案):网上看到的一些可能原因:驱动配置有误:driver=com.mysql.jdbc.Driver 数据库连接地址有误:url=jdbc:mysql://localhost:3306/te...

2019-03-30 10:22:46 3520

原创 idea中使用maven+ssm自动注入时报错org.springframework.beans.ConversionNotSupportedException: Failed to convert

1、报错:org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'com.sun.proxy.$Proxy20 implementing com.whz.edu.base.IBaseService,org.springframework.aop.SpringProx...

2019-03-24 22:33:31 1484

原创 ssh商城项目----之表单重复提交问题

1、问题:在完成ssh商城项目时发现项目一个bug,在购物车界面刷新一下,会自动将最后添加的那个商品数量加1。如下图,每次刷新一下最后添加到购物车的商品数量会增加12、分析原因:每次刷新会重新根据那个上个页面请求的数据再次发出请求,所以每刷新一次则会导致商品数量加一。3、解决思路:最开始想的通过referer来判断;或者第一次请求时写入一个cookie,之后通过该co...

2019-03-21 11:12:05 303

原创 理解Java接口回调

初步认识:实现步骤:1、创建一个回调接口。2、创建一个回调对象实现回调接口。3、创建一个控制器对象,将回调对象作为参数传给控制器对象,控制器对象负责检查某个场景是否出现或某个条件是否满足,当满足时,则调用回调对象的某方法。代码示例:实例:Boss通知员工做事情,员工完成任务之后告诉Boss完成情况。说明:Callback:回调接口。Boss:回调对象。Emplo...

2019-02-28 13:08:27 3583 1

原创 Java中String内存分析

一句话概括:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,显式的String常量放在常量池,String对象放在堆中。常量池说明:它是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复重复创建相等变量时节省了很多时间。常量池之前是放在方法区里面的,也就是在永久代里面的,从JDK7开始移到了堆里面。...

2019-02-25 14:09:46 350

原创 Servlet 的理解

 简单认识:理解:Servlet是一个Java接口。接口就是一种规范,这种规范能够帮助我们在Web上与服务器产生数据交互,从而生成动态的Web。本质:Web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本...

2019-02-18 12:17:13 138

原创 jsp中静态包含和动态包含异同

静态包含:<%@ include file=” ”%>动态包含:<jsp:  include page=” ”/>区别和联系:1、最终编译成java文件的数目不同静态包含在转换成为java文件的时候将包含文件的内容“复制”到主体文件,然后作为一个整体编译。最终编译为一个java文件。 动态包含是各个jsp文件分别转换,分别编译。最终编程成多个java文件。...

2019-02-18 09:13:16 754

转载 java集合框架综述

一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3. 抽象类:5个抽象类(长虚线表...

2019-02-17 16:08:28 86

原创 @RunWith(SpringJUnit4ClassRunner.class)报initializationError错误

发现问题:关于@RunWith(SpringJUnit4ClassRunner.class)的initializationError错误解决问题:我这儿用的spring-test-4.2.4.RELEASE.jar和自带的Junit4版本的,发现问题后打开源码看到然后下载了Junit5试了下不行,然后想起这个是用的SpringJUnit4ClassRunner类之后弄了个Junit4.9就...

2019-01-31 23:40:19 1042

转载 Matlab的GUI参数传递方式总结

MATLAB GUI传递方式1、全局变量;2、作为函数的参数传递;3、利用控件的userdata数据;4、为handles结构体添加新字段;5、setappdata函数为句柄添加数据;6、跨空间计算evalin和赋值assignin;7、将数据保存到文件,需要时读取;8、带参数调用GUI的M文件;9、嵌套函数(不适用于GUIDE中,只适用纯命令是的GUI)。一. 全局变量运用global定义全局变...

2018-04-22 16:01:53 354

原创 JSP连接数据库出现HTTP Status 500 - Unable to compile class for JSP错误

原因:文件不能通过编译,最根本的原因是驱动包那儿的问题,只要把驱动包的jar文件放在指定的地方,在项目中把驱动文件添加进去就可以OK了。解决方法:1.把驱动的jar文件(mysql-connector-java-x.x.x-bin.jar)放在apache-tomcat-x.x.x文件夹下的lib文件夹中。2.在项目中把mysql-connector-java-x.x.x-bin.jar放在Web...

2018-04-18 00:11:26 2991

空空如也

空空如也

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

TA关注的人

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