- 博客(64)
- 收藏
- 关注
原创 java使用itext生成复杂数据的pdf
Apache iText 是一个开源 Java 库,支持 PDF 文档的开发和转换。在本教程中,我们将学习如何使用 iText 开发可以创建、转换和操作 PDF 文档的 Java 程序。
2024-12-15 00:00:00
1764
原创 布式锁框架Lock4j简单使用
Lock4j是一个分布式锁组件,它提供了多种不同的支持以满足不同性能和环境的需求;它基于Spring AOP,支持RedissonZookeeper作为底层。@Lock4j属性说明name需要锁住的key名称executorlock 执行器,可以使用该参数自定义设置keys需要锁住的keys名称,可以是多个expire锁过期时间,主要是用来防止死锁可以理解为排队等待时长,超过这个时长就退出排队,并排除获取锁超时异常是否自动释放锁,默认为true/**
2024-10-12 23:00:00
2118
原创 万能的导出excel工具,传什么都能导出
反射;万能导出Excel工具,传什么都能导出;就是不限制你查的是哪张表,用的是什么类;利用csv文件内容格式做excel文件导出的
2024-07-17 23:45:00
641
原创 节流和防抖是肩并肩关系
但其实防抖就是防抖,节流就是节流,它们都属于优化技术的一种,一定不能把节流当作防抖的作用了。还是举上面的这个导航的例子,如果我们跑的够快,那么根据上面节流后的情况,我们是不是在导航上就是跳跃性的,就像位置在抖动。用来消除上一次操作的定时器,也就是你在0.5秒内进行了一次新的操作就将上一次操作形成的定时器消除,直到你在一次操作后的0.5秒未进行任何操作了就执行搜索操作。看完上面的阐述,想必我们对防抖与节流已经有了大概的了解,那我们现在来聊聊实现方法,这里我用了input中的keyup事件来做例子。
2024-07-04 20:00:00
372
转载 三次输错密码后,系统是怎么做到不让我继续尝试的?
Redis的选择不难看出,这个流程比较重要的是存在一个用来计数的变量,这个变量既要满足分布式读写需求,还要满足全局递增或递减的需求,那Redis的incr方法是最优选了。那为什么需要Lua脚本呢?流程上在验证用户操作前有些操作,如图:图片这里至少有3步Redis的操作,get、incr、expire,如果全放到应用里面来操作,有点慢且浪费资源。
2024-06-19 14:18:37
1547
原创 ArrayList集合+综合案例
设计方法的时候,方法的形参是集合类型,那么将来调用方法的时候只需要传递一个提前创建好的集合容器对象的名字(因为集合对象的名字记录的就是集合容器的地址值)即可;设计方法的返回值的时候,如果方法的返回值是集合类型,那么在方法体中只需要提前创建好一个集合容器对象,将来返回这个集合容器对象即可(因为集合对象的名字记录的就是集合容器的地址值);
2024-06-14 17:07:18
377
原创 编码utf8和utf8mb4的区别(存表情到数据库用哪种)
主要是目前网络上几乎所有的文章都把 “utf8” 当成是真正的 UTF-8。相信还有很多跟我在同一条船上的人,这是必然的。所以,大家以后再搭建MySQL、MariaDB数据库时,记得将数据库相应编码都改为utf8mb4。终有一天,接你班儿的程序员或你的领导发现这个问题后,一定会在心里默默赞叹你的技术力。
2024-05-17 22:00:00
1087
原创 心理学上有个概念叫:习惯性反驳(附上解决办法)
当别人给你提建议的时候,当别人提出批评的时候,当别人提出自己的看法的时候,无论你有多么强烈的反驳欲望,都要克制自己,要求自己闭嘴。换位思考,归根结底,是为了寻找最好的方案去解决问题,既能做到理解和尊重他人,也能保持自己的一些立场。医学中有一个观点,在放松的情况下,大脑更容易想到解决问题的方法,做快乐的活动,可以让自己兴奋起来。然后,你会认为,他们是故意针对你,你就会变得愤怒,最后就会被衍生情绪控制住了,从而激化矛盾。明明是他做错了,你想指出来,话还没说完,他就立马打断说,不是我的错,跟我没关系。
2024-04-28 12:00:32
1513
原创 RPC(Remote Procedure Call)远程过程调用
RPC(Remote Procedure Call)即远程过程调用,是一种计算机通信协议,它允许程序在不同的计算机之间进行通信和交互,就像本地调用一样。
2024-03-30 22:00:00
1336
原创 MySQL中IF()、IFNULL()、NULLIF()、ISNULL()、CASE函数的使用详解
如果expr1成立,则返回value1,如果expr2成立,则返回value2,当全部不成立则返回valueN,而当有一个成立之后,后面的就不执行了。IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。IF(age
2024-03-12 00:00:00
4073
1
原创 mysql用 法like concat()
对于mysql 的 like 而言,一般都要用 like concat() 组合,可以防止sql注入。第三个参数,是结尾的 '%', %前边可以加一定的常量字符比如 /。第一个参数 ,就是'%',其中%后边可以加上一些常量字符比如 /。所以用未注释掉的呢种方式会比较好,不推荐直接用like的方式。第二参数,基本上就是传递过来的参数。
2024-03-11 23:45:00
4328
原创 在Java中,/ 是除法运算符
它用于计算两个操作数的商。当两个操作数都是整数类型时,执行整数除法,结果将是一个。在第二个示例中,至少有一个操作数是浮点数(带小数点),所以进行浮点数除法,结果为一个浮点数。在第一个示例中,整数除法运算符将整数10除以整数3,结果为3,因为整数除法会丢弃小数部分。这样,在除数为0时,会输出相应的错误信息,而不会导致异常的抛出。需要注意的是,在进行除法运算时,如果除数为0,将会抛出。为了避免异常的出现,可以先进行除数的判断。
2023-10-24 22:00:00
5473
原创 JAVA异常输出到控制台
请记住,在处理异常时,可以根据情况选择使用 e.getMessage()、e.toString() 或 e.printStackTrace() 来获得或打印异常相关信息。
2023-09-12 23:30:00
926
原创 接口工具HttpRequestUtilObjectToMapUtil
【代码】接口工具HttpRequestUtilObjectToMapUtil。
2023-08-31 23:00:00
1079
原创 Mysql on duplicate key update用法及优缺点
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新,在刚碰到的时候,一般思路是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有ON DUPLICATE KEY UPDATE一步就可以完成(Mysql独有的语法)。
2023-08-03 10:59:40
2181
原创 MyBatis choose(when, otherwise)标签
when元素表示当 when 中的条件满足的时候就输出其中的内容,跟 JAVA 中的 switch 效果差不多的是按照条件的顺序,当 when 中有条件满足的时候,就会跳出 choose,即所有的 when 和 otherwise 条件中,只有一个会输出,当所有的我很条件都不满足的时候就输出 otherwise 中的内容。所以上述语句的意思非常简单, 当 title!=null 的时候就输出 and content = #{content},当所有条件都不满足的时候就输出 otherwise 中的内容。
2023-07-25 00:00:00
1926
原创 salt值(盐值)
即使黑客有密文查询到的值,也是加了salt值的密码,而非用户设置的密码。而当用户登录时,系统为用户提供的代码撒上同样的加盐值,然后散列,再比较散列值,已确定密码是否正确。2、产生:随着对MD5密文查询工具的出现,而很多用户的密码又设置简单,单纯的对用户密码进行MD5加密后保存,用密文很容易就能反查询得到某用户的密码。SALT值属于随机值。5、其它:经过添加salt值处理的密码,即使用户设置的原密码是相通的,数据库中的密文却是不同的。-----明文----> 单向散列算法 ----->密文。
2023-07-17 23:30:00
2347
原创 部署第二个Tomcat(项目)
2. 这个是修改端口号的时候修改的,原来的是8080,修改成一个自己记住的值,用来访问T2的主页 例如我的:http://localhost:9999/一.找到安装T2的路径,进入conf(我的:E:\tomcat\apache-tomcat-8.0.33\conf),找到server.xml.、用记事本打开 找到。
2023-06-09 23:00:00
302
原创 cmd命令行开启windows远程桌面服务
1.设置远程桌面端口(可以不用输,直接第二步,默认开启3389)# 2.开启远程桌面#检查端口状态#关闭远程桌面。
2023-06-01 23:30:00
6723
原创 SqlServer设置唯一键/索引
1、首先,打开sqlserver软件,右键点击要设计的表选择设计,选中一列右键设置主键,该列就设置成了主键了,删除主键同理,设置好了前面有一把钥匙。3、这里注意,刚刚选择的列不是在那个选中的列上设置,而是以整个表来设置的,因此能看到刚才设置的主键。2、设置唯一键和索引键也是右键选中的列(空白的地方也行),点击‘索引/键’。8、最后就设置完成了,点击保存,到此就完成了。(Ctrl + S)7、再点击类型可以设置唯一键/索引/列存储索引,选择需要设置的。5、然后点击列,出来隐藏的省略号,再点击它。
2023-04-14 23:30:00
4916
原创 Mysql on duplicate key update用法及优缺点
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新,在刚碰到的时候,一般思路是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有ON DUPLICATE KEY UPDATE一步就可以完成(Mysql独有的语法)。
2023-04-11 23:30:00
8508
原创 http请求中get和post方法的区别
超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。
2023-03-08 12:12:14
1801
原创 无法枚举容器内对象 访问被拒绝
一、什么是“无法枚举容器中的对象。访问被拒绝”错误?在Windows设备当中,对文件或文件夹的权限进行设置可以有效地保护隐私内容。因此,管理员账户可以对权限进行更改,并且有权决定是否将内容共享给多个用户使用。但是在某些情况下,当用户账户没有修改内容的权限时,就会出现“无法枚举容器中的对象。访问被拒绝”的错误提示。该错误的出现通常是由于配置错误或权限冲突造成的。初步了解完“无法枚举容器中的对象。访问被拒绝”错误之后,下面我们就来学习一下该问题的常规解决方法吧。二、如何解决“无法枚举容器中的对象。
2023-02-23 23:30:00
47294
7
原创 MySQL 中的 distinct 和 group by 哪个效率更高?
且由于distinct关键字会对所有字段生效,在进行复合业务处理时,group by的使用灵活性更高,group by能根据分组情况,对数据进行更为复杂的处理,例如通过having对数据进行过滤,或通过聚合函数对数据进行运算。两者的语法区别在于,group by可以进行单列去重,group by的原理是先对结果进行分组排序,然后返回每组中的第一条数据。但从Mysql8.0开始,Mysql就删除了隐式排序,所以,此时在语义相同,无索引的情况下,group by和distinct的执行效率也是近乎等价的。
2023-02-10 23:30:00
402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人