自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bonnenults浅时光的博客

心里有火 眼里有光 ,你所热爱的就是你的生活!感恩,然后奋进,青春就是用来奋斗的!!!

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 JAVA实现AES加密、解密

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。那么为什么原来的DES会被取代呢,原因就在于其使用56位密钥,比较容易被破解。而AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据,相对来说安全很多。完善的加密算法在理论上是无法破解的,除非使用穷尽法。使用穷尽法破解密钥长度在128位以上的加密数据是不现实的,仅存在理论上的可能性。

2023-02-03 17:59:34 2761

原创 慢查询优化

有时慢查询正在执行,已经导致数据库负载偏高了,而由于慢查询还没执行完,因此慢查询日志还看不到任何语句。并留意慢查询日志的输出,上线前的功能测试完成后,分析慢查询日志每类语句的输出,重点关注 Rows_examined(语句执行期间从存储引擎读取的行数),提前优化。分析 SQL 执行效率是优化 SQL 的重要手段,通过上面讲的两种方法,定位到慢查询语句后,我们就要开始分析 SQL 执行效率了,子曾经曰过:“工欲善其事,必先利其器”,我们可以通过 explain诊断工具来分析慢查询。

2023-02-03 14:53:29 653

原创 Redis实践

Redis实践缓存key命名缓存key的构建,统一放在一个类里面,key需要有前,后缀,前缀使用系统的标识,后缀使用版本号。后缀的版本号建议在配置中心进行配置。@Componentpublic class CacheKeyBuilder {// 值形如 demo@Value("${cache.demo.prefix}")private String prefix;// 值形如 v1, v2@Value("${cache.demo.suffix}")private String suff

2022-03-25 16:52:25 812

原创 Java关于中查询数据时,报错java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题

Java关于中查询数据时,报错 Cause: java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题1、报错在mysql中,表数据中有生日字段(datetime类型),且日期为1948-05-01 00:00:00,java中用Date对象接收。在查询数据时,报错java.sql.SQLException: HOUR_OF_DAY: 0 -> 1,但将日期修改为其他则正常。看网上有人说将severTimezone设置为,Asia

2020-12-16 18:46:10 8317 6

原创 Java并发编程_线程池相关

1.什么是线程池?通俗理解就是一个容器,里面放了一些线程,需要用时就取出来用,用完了就放回去等待下一次用。线程池内部维护一个任务队列,从池里取出线程去执行队列里的任务。2.为什么要使用线程池在 Java 诞生之初是没有线程池的概念的,而是先有线程,随着线程数的不断增加,人们发现需要一个专门的类来管理它们,于是才诞生了线程池。没有线程池的时候,每发布一个任务就需要创建一个新的线程,这样在任务少时是没有问题的。但是,创建线程时会产生系统开销,并且每个线程还会占用一定的内存等资源,更重要的是我们创建如此

2020-12-01 10:52:57 84

原创 Java并发编程_线程安全相关

一、竞态条件与临界区在同一程序中运行多个线程本身不会导致问题,问题在于多个线程访问了相同的资源。如,同一内存区(变量,数组,或对象)、系统(数据库,web services等)或文件。实际上,这些问题只有在一或多个线程向这些资源做了写操作时才有可能发生,只要资源没有发生变化,多个线程读取相同的资源就是安全的。如以下代码,两个线程同时对 i 进行 i++ 操作,最后的输出可能是 15875 等小于20000的数,而不是我们期待的20000public class ThreadNotSafe {

2020-11-28 14:57:22 110

原创 Java并发编程_线程是如何在 6 种状态之间转换的

线程的6种状态在 Java 中线程的生命周期中一共有 6 种状态。New(新创建)Runnable(可运行)Blocked(被阻塞)Waiting(等待)Timed Waiting(计时等待)Terminated(被终止)如果想要确定线程当前的状态,可以通过 getState() 方法,并且线程在任何时刻只可能处于 1 种状态。New 新创建New 表示线程被创建但尚未启动的状态:当我们用 new Thread() 新建一个线程时,如果线程没有开始运行 start() 方法,所以也

2020-11-25 10:05:54 81

原创 Java并发编程_正确停止一个线程

如何正确停止一个线程?想要启动线程需要调用 Thread 类的 start() 方法,并在 run() 方法中定义需要执行的任务,那么如何正确停止它?为什么需要正确停止一个线程一般情况下,我们不会手动停止一个线程,而是允许它自然运行到结束,然后停止。但是有些特殊情况下我们需要提前停止线程,如:程序运行出错重启,用户突然关闭程序等。这种情况下,即将停止的线程在某些业务场景下仍然很有价值,尤其是当我们想写一个能够安全应对各种场景的健壮性好的程序时,正确停止线程就显得格外重要。然而Java并没有提供简单易

2020-11-24 18:49:21 190

原创 Java并发编程_线程实现方式

1.实现线程的方法实现线程是并发编程中基础中的基础,因为我们必须要先实现多线程,才可以继续后续的一系列操作,那么实现线程的方式到底有几种?1)实现 Runnable 接口第 1 种方式是通过实现 Runnable 接口实现多线程,如代码所示,首先通过 RunnableThread 类实现 Runnable 接口,然后重写 run() 方法,之后只需要把这个实现了 run() 方法的实例传到 Thread 类中就可以实现多线程。public class RunnableThread implement

2020-11-24 09:27:40 91

原创 java mybatis 关于中向数据库中插入数据时,报错java.lang.NullPointerException的问题

今天在实现想MySQL的数据库一个insert数据时出现一个错误;org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: java.lang....

2018-07-11 14:15:33 11188

原创 JavaScript进行数据类型转换

js读取文本框或者其它表单数据的时候获得的值是字符串类型的,如果要进行计算则需要进行类型的转换转换方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:JavaScript提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not

2017-12-21 16:31:56 261

原创 tomcat报:java.net.BindException: Permission denied <null>:80

前段时间遇到一个情况,官网的服务器reboot之后,发现输入官网连接打不开了,最后去查了一下日志发现:tomcat报权限不够的错误,如下:服务器重启后,tomcat报错:SEVERE: Error starting endpointjava.net.BindException: Permission denied <null>:80 at org.apache.tomcat.util.ne

2017-11-09 10:01:35 1496

原创 linux常用命令

Linux常用命令分类整理、备忘

2017-11-04 15:43:14 690

原创 shell脚本远程监控服务器,并用mutt+msmtp发送报警邮件

前段时间公司有个小需求:远程监控服务器,分两部分:一个监控服务器是否“活着”; 另一个监控程序是否在运行以及服务器基本性能,超过预警值需要给相关人员发邮件提醒

2017-11-03 15:13:58 1777

转载 $.ajax()方法详解

jquery中的ajax方法参数:1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup

2017-11-03 12:16:46 399

java环境变量自动配置脚本

安装jdk,后,自动配置java环境变量,适合新手,但是不保证100%成功; 1.如已经安装jdk,请用文本编辑器打开文件,并修改14行:set myjavapath 为你的jdk路径 2.如还未安装,请用文本编辑器打开文件,并修改34行:D:\jdk-9_windows-x64_bin.exe为你的jdk安装文件路径

2017-11-03

html_jQuery时间轴脚本

jquery网站发展历史时间轴是一款可以用右侧的上下箭头切换上下查看,也可以用鼠标滚轮进行上下切换、切换的过程中有类似flash的切换效果。

2017-09-19

html+js 实现五星评价

基于H5以及js实现的五星评价脚本,可兼容PC以及移动设备

2017-07-12

空空如也

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

TA关注的人

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