- 博客(103)
- 资源 (1)
- 收藏
- 关注
原创 解决org.apache.poi.ss.usermodel.CellStyle.setAlignment(S)V问题
解决org.apache.poi.ss.usermodel.CellStyle.setAlignment(S)V问题在使用easypoi导出excel时,遇到了该问题。解决办法:将引入的相关依赖进行升级。替换之前的版本:<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId>
2022-04-13 13:52:32
5422
1
原创 那些你该知道的CSS颜色代码大全都在这里了,点击查阅
CSS颜色代码大全 颜色代码表(一):EEEEEEFFCCFFFF66FFFF00FFDDDDDDFFCCCCFF66CCFF00CCCCCCCCFFCC99FF6699FF0099BBBBBBFFCC66FF6666FF0066AAAAAAFFCC33FF6633FF0033999999FFCC00FF6600FF0000888888CCCCFFCC66FFCC00FF777...
2021-01-29 09:17:48
3141
4
转载 极少数人知道的mysql排序方式
ORDER BY 字段名 升序/降序,相信进来的朋友都认识这个排序语句,但遇到一些特殊的排序,单单使用字段名就无法满足需求了,下面给大家介绍几个我遇到过的排序方法: 一、准备工作 为了更好演示与理解,先准备一张学生表,加入编号、姓名、成绩三个字段,插入几条数据,如图: 二、条件排序 需求一:成绩从高到低进行排序 街边卖菜的阿姨都能敲,直接使用 ORDER BY examScore DESC 轻松完成了(如下左图)。 需求二:成绩从高到低进行排序,并且没录入成绩的排在最前面 客户体验最重要,为
2021-01-12 16:34:57
232
2
原创 解决前后端传参日期转换异常错误——JSON parse error: Cannot deserialize value of type `java.util.Date` from String
完整错误提示为:[org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2020-12-31 10:46:17": not a valid representation (error: Failed to parse Date value '2020-12-31 1
2020-12-31 11:20:13
4276
原创 关于mysql数据库的日期和时间类型
关于mysql日期和时间类型mysql有5种表示时间值的日期和时间类型,分别为:DATETIMEYEARDATETIMETIMESTAMPTIMESTAMP 类型有专门的自动更新特性。 类型 大小 (字节) 格式 用途 DATE 3 YYYY-MM-DD 日期值 TIME 3 HH:MM:SS 时间值或持续时间 YEAR 1 YYYY 年份值 DATETIME 8 YYYY
2020-12-23 13:36:59
384
转载 Mysql数据库的时间和页面显示的时间不一致问题
一、概述 最近在做MySql生日提交的时候,通过URL访问数据库得到的数据总是比数据库中保存的数据少一天。查阅资料找到以下解决方法,用以记录备忘。 二、修改MySql数据库的默认时区 MySql数据库创建后,默认的时区比东八区少了八个小时。如果Sql语句中使用到MySql的时间的话就会比正常时间少了八个小时。所以需要修改MySql的系统时区,使其显示的时间和我们现在的时间一致。 1)查看mysql系统时间 select now(); 2)查看数据库时区 show variables .
2020-12-22 10:16:01
4349
原创 几张图片演示PD(PowerDesigner)生成数据库脚本sql文件
首先使用pd软件打开要生成sql脚本的文件。接着找到上边工具栏-数据库。点击数据库目录下的 Database Generation…出现如下图所示内容再选择Selection进行选择要生成sql脚本的表默认是全部选中,你可以自己选择取消某个表格的打勾就行。再点击Preview进行查看最终要生成的sql脚本,如下图然后直接点击确定键即可在选择的本地存储位置找到已生成的sql脚本。...
2020-12-21 10:59:17
544
转载 聚会常玩——逢七必过小游戏
前言 许多人都曾经玩过“逢七必过”游戏。 规则是:第一个人随机说一个数字,大家依次从开始顺序数数,数到含有7或7的倍数的时候都要喊 “过” (比如:7,14,17等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程(0-100),逢7的...
2020-12-17 14:55:24
12865
原创 超详细——前端的三种弹出提示框解读
三种弹出提示框:alertconfirmpromptalert()alert()方法是这三种对话框中最容易使用的一种,她可以用来简单而明了地将alert()括号内的文本信息显示在对话框中,我们将它称为警示对话框,要显示的信息放置在括号内,该对话框上包含一个"确认"按钮,用户阅读完所显示的信息后,只需单击该按钮就可以关闭对话框。注意:alert()是一个阻塞的函数,如果我们不点确认按钮,后面的内容就不会加载出来。实例代码:<html><head><titl
2020-12-17 11:24:44
16776
1
原创 初次使用Vscode,遇到了一个极具没有水平的问题,解决之后瞬间感到无比尴尬
初次学习React,用的Vscode打开了项目,目录结构如下:然后在编辑APP.js文件时,前台一直没有反应,正常来说,在编辑APP.js文件的时候,前台会有相对应的反应的,也就是说删除什么文字,删除某个标签下的字体,然后我就一直纠结纠结,最后tm的才发现,我修改完这个文件的时候没有Ctrl+C。写次文章就是提醒大家,一定一定注意,修改完文件的时候进行保存,要不然就会像我一样,拼命的纠结这么一个小问题。...
2020-12-16 13:54:15
3101
21
转载 6张图让你搞懂浏览器渲染网页过程
我的想法:如果我要构建快速可靠的网站,需要真正了解浏览器渲染网页的每个步骤机制,这样就可以在开发过程中对每个步骤进行优化。 这篇文章是我在较高水平上对端到端过程的学习总结。 好了,废话不多说,我们开始吧。这个过程可以分为以下几个主要阶段: 开始解析HTML获取外部资源解析 CSS 并构建CSSOM执行 JavaScript合并 DOM 和 CSSOM 以构造渲染树计算布局和绘制1.开始解析H...
2020-12-14 13:14:51
289
原创 Java String类为什么是final的 不可变的
为了实现字符串池为了线程安全为了实现String可以创建HashCode不可变性首先要理解final的用途:在分析String为什么要用final修饰,final可以修饰类,方法和变量。被final修饰的类不能被继承,它不能拥有自己的子类,被final修饰的方法不能被重写, final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。在了解final的用途后,再看String为什么要被final修饰:主要是为了"安全性"和"效率"的缘故。查看JDK String的源码.
2020-12-10 14:17:45
509
转载 数据库设计三大范式
数据库设计三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列...
2020-12-09 13:42:46
167
原创 Activiti架构与五大组件
Activiti 架构图形说明:Activiti 五大组件说明:组件说明流程引擎(Activiti Engine)提供针对BPMN2.0规范的解析;执行,创建和管理流程实例与任务;以及查询历史记录并根据结果生成报表等功能。业务模型设计器(Activiti Modeler)由Signavio公司设计实现,模型设计器。适用于业务人员把需求转换为流程定义。开发模型设计器(Activiti Designer)开发人员可以导入业务需求人员用业务模型设计器设计的流程定义文件(
2020-12-07 11:33:47
629
原创 Activiti工作流的七大服务接口
Activiti提供了7个服务接口,都通过ProcessEngine来获取,并且支持链式编程风格。服务接口说明RepositoryService仓库服务,用于管理仓库,比如部署或删除流程定义,读取流程资源等。IdentifyService身份服务,管理用户,组以及它们之间的关系。RuntimeService运行时服务,管理所有正在运行的流程实例,任务等对象。TaskService任务服务,管理任务。FormService表单服务,管理和流程,任务相关的
2020-12-07 10:16:01
1303
原创 浅入了解Activiti5工作流
Activiti5工作流Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源的,灵活的,易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供来了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。Activiti的后台是有数据库的支持,所有的表都是以ACT_开头。第二部分是表示表的用途的两
2020-12-07 09:56:39
555
转载 程序员,职场上请远离这种人!
对有些职场人来讲,甩锅就是一种生存手段。 01.从大学打篮球说起 上大学的时候喜欢打篮球,然后我又特别喜欢抢篮板,经常是跳起来的时候没事,落下来的时候偶尔会踩到别人的脚上,于是左脚经常性崴脚,这是背景。 我们班上有一个同学也喜欢打篮球,我俩水平都差不多因此也算能玩在一起,随着旷课打篮球的次数增多,我俩慢慢成了朋友。 但是后来发生了一件...
2020-12-04 14:34:12
207
原创 解决mysql错误:[ERR] 1064 - You have an error in your SQL syntax
我们在使用navicat工具导入sql文件时,报如下错误:[ERR] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'interval int(11) DEFAULT NULL接下来我们来说一下这个问题的根源:首先你仔细看一下这个报错提示,你就会发现其中有个提示字段语
2020-12-03 11:31:39
40740
1
原创 玩转简单版倒计时
直接上代码,可供参考:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>倒计时代码</title> <style type="text/css"> * { margin: 0; padding: 0; font-family: "微软雅黑"; font-size: 20px; }
2020-12-03 10:00:52
376
2
原创 解决Git错误:Git Pull Failed: unable to access ‘xxx‘:Failed to connect to github.com port 443: Timed out
最近在使用Git Pull代码的时候经常出现以上错误,因为之前用的没有任何问题,突然报错了,然后我就整理了一下解决办法。按照下图操作,把局域网(LAN)设置这一页面的其他勾选去掉,只选择自动检测设置打勾,然后保存之后就可以了。接下来,我们再去Pull代码就可以 了,问题就解决了。...
2020-11-27 09:15:30
12806
22
原创 MQ消息介绍以及应用场景
MQ是什么MQ全称为Message Queue,即消息队列。消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立的执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。MQ主要作用是接收和转发消息。你可以想想在生活中的一种场景:当你把信件投进邮筒,邮递员肯定最终会将信件送给收件人。我们可以把MQ比作邮局和邮递员。MQ和邮局的主要区别是:它不处理消息。但是,它会接受数据、存储消息数据、转发
2020-11-25 16:18:29
1359
转载 大厂都是怎么进行SQL调优的?
前言 这天我正在午休呢,公司DBA就把我喊醒了,说某库出现大量慢SQL,很快啊,很快,我还没反应过来,库就挂了,我心想现在的用户不讲武德啊,怎么在我睡觉的时候大量请求呢。 这是很常见的一个场景哈,因为很多业务开始数据量级不大,所以写sql的时候就没注意性能,等量级上去,很多业务就需要做调优了,在电商公司工作的这几年我也总结了不少,下面就分享给大家吧。 在代码开发过程中,我们都会遵循一些SQL开发规范去编写高质量SQL,来提高接口的Response Time(RT),对一些核心接口要求RT在100ms.
2020-11-23 13:28:06
220
4
原创 React是什么
React是一个简单的javascript UI库,用于构建高效、快速的用户界面。它是一个轻量级库,因此很受欢迎。它遵循组件设计模式、声明式编程范式和函数式编程概念,以使前端应用程序更高效。它使用虚拟DOM来有效地操作DOM。它遵循从高阶组件到低阶组件的单向数据流。为什么使用React?传统方法频繁操作DOM,性能无法达到要求;React使用VDOM,性能高。传统JS代码维护成本高,React基于组件开发。需要支持移动端开发。组件设计模式并不是编程通用的设计模式,如常说的单例模式、抽象工厂模式
2020-11-23 10:34:10
2353
原创 FTP文件实现上传下载
1. 首先在pom文件中添加FTP相关依赖jar坐标: <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency>2. 创建FtpUtil工具类连接FTP,并获取FTPClient对象方法 /**
2020-11-20 15:22:09
886
原创 Excel文件显示“文件已损坏,无法打开”情况的解决办法
这种情况一般都不是真正的文件损坏,只是office安全系统较高,不予以打开。下面说一下三个解决方法:一、下载的文件右键属性勾选解除锁定即可。二、打开office选项中的信任中心。然后点击信任中心中的信任中心设置。二级菜单中选择受保护的视图,并把里面的勾选都去掉即可。三、继续(二、)中的前两部骤,找到信任中心设置点击进去。修改受信任的位置。然后添加你的下载文件夹即可。...
2020-11-20 15:07:42
18466
2
原创 带大家简单理解一下时间复杂度
时间复杂度:理论上,执行一个算法消耗的时间,是无法精确计算的,即使上机测试,收到各种因素影响,得到的时间也可能有较大差别。对于程序员,我们只需关注哪个算法花费的时间多,哪个算法花费的时间少就可以了。针对执行时间,我们可以根据算法执行的语句的次数,进行一个简单的衡量。理论上,一个算法中语句执行次数多,它花费时间相对也多,因此,算法运行的时间与算法中语句的执行次数成正比。我们将算法中的语句的执行次数称为时间频度,表示为T(n),其中,n表示算法的输入规模,n的变化会引起T(n)的改变。为了得到T(n)变化
2020-11-19 16:57:03
872
原创 几种常见的排序算法
常见的排序算法常见的排序算法有很多,接下来我们就说三种比较简单常见的排序算法:冒泡排序,选择排序,插入排序。1. 冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一
2020-11-19 16:00:26
711
2
原创 String字符串倒叙输出
String字符串倒叙输出内容三种String倒叙输出方式:String类的toCharArray()方法String类的subString()方法StringBuffer类的reverse()方法多余的话不描述了,直接看代码演示吧:public static void main(String[] args) { String str = "吃葡萄不吐葡萄皮"; reverseString1(str); reverseString2(str
2020-11-19 15:17:03
4029
4
原创 RabbitMQ的五种模式
RabbitMQ的五种模式五种队列模式,但是实际上只有三种,第一种简单队列,第二种工作模式,剩下的三种模式都是和交换器绑定的合起来称为一种。在RabbitMQ中,交换器主要有四种类型:direct、fanout、topic、headers。前三种分别对应路由模式,发布订阅模式和通配符模式,headers交换器允许匹配AMQP消息的header而非路由键。除此之外,header交换器和direct交换器完全一致,但是性能却差很多,因此基本上不会用到该交换器。direct如果路由键完全匹配的话,消息
2020-11-19 13:54:17
584
原创 Rabbitmq组件
Exchange:用来接收生产者发送的消息并将这些消息路由给服务器中的队列。Exchange包含4种类型: Direct,Topic,Fanout,Headers,4种不同的类型,他们如何处理绑定到队列方面的行为会有所不同。Direct类型:允许一个队列通过一个固定的Routing-key(通常是队列的名字)进行绑定。Direct交换器将消息根据Routing-key属性投递到包含对应key属性的绑定器上。Topic类型:支持消息的Routing-key用*或者#的模式进行绑定。*匹配一个单词,#
2020-11-19 12:01:16
229
原创 java的三大器:过滤器(Filter),监听器(Listener),拦截器(Interceptor)
java的三大器:过滤器(Filter),监听器(Listener),拦截器(Interceptor)过滤器(Filter):所谓过滤器顾名思义是用来过滤的,Java的过滤器能够为我们提供系统级别的过滤,也就是说,能过滤所有的web请求,这一点,是拦截器无法做到的。在Java Web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入Servlet或者Struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆
2020-11-19 10:55:27
454
原创 电脑用着用着突然黑屏怎么处理
电脑用着用着突然黑屏怎么处理先拔掉充电源,然后让其休息一下,它可能也累了。然后长按开关机键使其关机。再按一下开机键即可正常启动。(如果电脑经常卡顿黑屏建议换电脑了哟,再就是要习惯性的:Ctrl+c 保存)...
2020-11-19 09:23:36
3999
原创 208面试题 网络
八、网络79.http 响应码 301 和 302 代表的是什么?有什么区别?301 Moved Permanently:被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。302 Found:请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Co
2020-11-18 10:32:21
154
原创 208面试题 设计模式
九、设计模式88.说一下你熟悉的设计模式?总体来说设计模式分为三大类:创建型模式(共五种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式(共七种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式(共十一种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录 模式、状态模式、访问者模式、中介者模式、解释器模式。详情了解:请点击89.简单工厂和抽象工厂有什么区别?简单工厂模式:是由一个工
2020-11-18 09:36:49
136
原创 208面试题 对象拷贝
五、对象拷贝61.为什么要使用克隆?想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了。克隆分浅克隆和深克隆,浅克隆后的对象中非基本对象和原对象指向同一块内存,因此对这些非基本对象的修改会同时更改克隆前后的对象。深克隆可以实现完全的克隆,可以用反射的方式或序列化的方式实现。62.如何实现对象克隆?有两种方式:实现Cloneable接口并重写Object类中的clone()方法。实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。
2020-11-18 09:24:41
231
原创 解决:HTML页面中div框架图片拼接中间存在缝隙问题
解决:HTML页面中div框架图片拼接中间存在缝隙问题修改之前代码如下:<!doctype html><html><head> <meta charset="utf-8"> <title>图片</title></head><body><div id="od" align="center" > <div class="m" id="a">
2020-11-16 15:34:18
1037
原创 解决Error resolving template [/xxx], template might not exist or might not be accessible by any of the
解决:Error resolving template [/xxx], template might not exist or might not be accessible by any of the configured Template Resolvers 问题相同访问路径,同等目录,访问leader.html页面就一直报以上的错误,访问不到页面。然后我直接新建了一个html页面,把body里边的内容copy了过去之后,然后把访问路径下边的return 页面名称修改为新建的页面名称,就可以正常
2020-11-16 13:51:39
2917
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人