自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 SpringMVC配置jasypt 加密配置文件

SpirngMVC配置jasypt需要引入的依赖<dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt-spring31</artifactId> <version>1.9.2</version></dependency><dependency> <groupId>org.jasyp

2022-01-12 15:47:22 3183 5

原创 SpringBoot配置jasypt 加密配置文件

Jasypt 加密配置文件Jasypt介绍Jasypt 也即Java Simplified Encryption是Sourceforge.net上的一个开源项目该技术可用于加密任务与应用程序,例如加密密码、敏感信息和数据通信、创建完整检查数据的sums. 其他性能包括高安全性、基于标准的加密技术、可同时单向和双向加密的加密密码、文本、数字和二进制文件。Jasypt也可以与Acegi Security整合也即Spring Security。Jasypt亦拥有加密应用配置的集成功能,而且提供一个开放的A

2022-01-12 15:40:53 1557

原创 java实现接收MQ消息后加入内存队列进行消费

java实现接收MQ消息后加入内存队列进行消费根据appSampleId进行区分,相同id的采用同一个线程去处理。ConcurrentHashMap、newFixedThreadPool都是线程安全的最多采用10个线程进行消费。package cn.com.genecast.modules.biobank.controller;import java.util.ArrayList;import java.util.List;import java.util.Map;import java

2021-12-22 18:35:33 1092

原创 mysqlReport 详细解析

myslqReport的安装mysqlReport 的安装需要在linux环境中,还需要安装perl的环境和perl的两个包,详细步骤如下:因为我是在Windows环境下,先试着安装了虚拟机,后来发现虚拟机太麻烦了,最后采用了docker环境。首先下载docker的桌面环境–》 docker安装安装好docker先现在一个centos镜像,在centos环境下mysqlReport比较好安装。docker pull centos然后运行centos镜像sudo docker run --na

2021-12-02 16:28:48 1178

原创 mysql 间隙锁

mysql 间隙锁的简单介绍

2021-12-02 11:05:50 725

转载 微服务和分布式的区别(分布式的进化史)

微服务和分布式的区别视角分布式和微服务其实是一种概念上的东西。这二者对应的概念是不在一个层面上的,所以不可混为一谈!因为,技术在发展,一些新框架、新概念让人应接不暇,所以,把这二者区别看清,对我们来说,是很有必要的。分布式的前世今生阶段一: 单应用模式阶段二: 应用和数据库分离阶段三: 应用服务器集群阶段四: 数据库压力变大,数据库读写分离阶段五: 使用搜索引擎缓解读库的压力阶段六: 引入缓存机制缓解数据库的压力阶段七:数据库的水平/垂直拆分阶段八:应用的拆分分

2021-10-09 10:07:47 221

原创 sysbench 压力测试数据库

数据库的优化工作中压力测试也是不可缺少的一部分,使用 sysbench 进行压力测试,特此记录一下。首先准备一个运行环境,我是采用的的Windows下安装的docker桌面版,docker镜像的系统是 centos ,随便下载了一个,没有准备环境的可以在网上搜索一下docker的安装和运行之类的。比VM虚拟机轻量化,而且相比于比VM的配置少了不少,对新手特别友好。准备工作做好后运行centos容器,可以先更新一下yum然后更新yum repo仓库curl -s https://packageclou

2021-09-14 11:33:41 810

原创 在linux环境下安装dpkg

因为工作需要所以需要在linux上安装一些软件,软件都是deb格式的文件,很显然需要dpkg -i 来安装,本来以为会很简单,没想到搞得万分复杂,不过最后还是搞定了,特此记录一下。首先发现在使用 dpkg -i xxx的命令的时候就会报错:这里说明一下,我的系统是 Ubuntu5.4.0的,并且是docker环境,然后也是在网上各种找攻略,最后也是碰巧解决了这个问题,不一定适用于所有人,仅当参考首先需要下载一个 epel-releasewget -c http://archives.fedora

2021-09-01 15:38:22 22169 3

原创 深入java虚拟机(二)自动内存管理

一。概述对于从事c 和 c++ 程序开发 的开发人员来说。他们有绝对的权限,—— 既拥有每一个对象的“所有权”,又担负着每一个对象生命从开始到终结的维护责任。对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为Java程序员把控制内存的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误、修正问题将

2021-08-11 13:52:11 224

原创 深入JAVA 虚拟机 (一)

Java技术体系从广义上讲,Kotlin、Clojure、JRuby、Groovy等运行于Java虚拟机上的编程语言及其相关的程序都属于Java技术体系中的一员。如果仅从传统意义上来看,JCP官方 所定义的Java技术体系包括了以下几个组成部分: ·Java程序设计语言 ·各种硬件平台上的Java虚拟机实现 ·Class文件格式 ·Java类库API ·来自商业机构和开源社区的第三方Java类库我们可以把Java程序设计语言、Java虚拟机、Java类库这三部分统称为JD

2021-08-05 14:57:52 88

原创 使用 EasyExcel 读取和下载 excel 文件

前言EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单,节省内存著称,EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。构建工具类@Datapublic class User{ @ExcelProperty(value = "名称", index =

2021-05-26 16:10:56 5374

原创 机器学习入门(一)

传统人为制定决策的两个缺点:做决策所需的逻辑只适用于单一领域和单项任务。任务稍有变化,都有可能需要重写整个系统。想要制定规则,需要对决策的过程有很深刻的理解。人为定制决策的不适用领域的第一个例子,就是图像人脸识别,计算机“感知”像素的方式和人类感知面部的方式有非常大的不同。正是由于这种表征的差异,人类想要制定出一套好的规则来描述图像中的人脸构成,基本上是不可能的。最成功的机器学习是能够将决策自动化的那些算法。用户将成对的输入和预期输出提供给算法,算法会找出一种方法,根据给定输入给出预期输出。尤

2021-03-24 17:33:34 120

原创 一些神奇的小BUG(二)

这个BUG 是有关于mybatis 的BUG首先 说一下发现BUG的过程本来是做一个有关读取txt数据 自动回显到页面的功能。怎么说呢,就是数据可能太多,客户不太想挨个填写。于是准备一个TXT的文本,里面是按规则的内容,通过读取这些内容回显到界面上,再确认后提交数据。其中第一列的数据是一些文件的名称,不过先得确认这个文件是否在数据库当中,不在的话就不予以回显。然后问题就来了,第一行的数据不管怎么查询永远都查询不到,不光是项目中查询不到,而且在数据库中也查不到,但是它确实在数据库当中。只要重新输

2021-02-01 15:32:34 88

原创 网络安全(三)浏览器安全

近几年来随着互联网的发展,人们发展浏览器才是互联网最大的入口,绝大多数用户使用互联网的工具是浏览器。因此浏览器市场的竞争也日趋白热化。浏览器安全在这种激烈竞争的环境中被越来越多的人所重视。一方面,浏览器天生就是一个客户端,如果具备了安全功能,就可以像安全软件一样对用户上网起到很好的保护作用;另一方面,浏览器安全也成为浏览器厂商之间竞争的一张底牌,浏览器厂商希望能够针对安全建立起技术门槛,以此获得竞争优势。

2020-12-24 17:23:26 1345 5

原创 网络安全(二)安全基础

互联网本来是安全的,自从有看研究安全的人之后,互联网就不安全了。--道哥

2020-12-17 16:56:19 2570 1

原创 网络安全(一)常用术语

常用术语肉鸡:肉鸡也被称为‘傀儡机’,是指被黑客远程控制的机器。比如用‘灰鸽子’等诱惑客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。一句话木马:一句话木马主要用来配合菜刀使用PHP<?php@eval($_POST['chabug']);?>ASP<%evla request("chabug")%>ASP.NET<%@ Page Language="Jscript"%><%eval(Request.

2020-12-14 10:17:29 1542

原创 使用FastJson 生成和读取JSON文件

首先先来写一个类来做测试public class student{ private String name; private String age; private String sex; get...... set...... }这里就可以输出JSON文件了import com.alibaba.fastjson.JSONObject;import entity.student;import java.nio.charset.StandardCharsets;import

2020-12-01 15:36:25 7769

原创 java list<T> 对象去重的问题

今天碰到一个需要将 list 数组去重的问题,在网上一番搜索找到一个非常有用而且简洁的代码,记录一下。方法的原理是将 list 数组转化为 set 数组。 因为 set 数组的特性来保证数据没有重复。但是有一点需要注意,就是需要去重的对象一定要重写 equlas 和 hashCode 方法。例子:public class User { private String id; private String name; private int age; @Override

2020-10-22 15:20:24 463

原创 invalid comparison: java.util.Date and java.lang.String:date类型的数据不能和string的数据进行比较。

最近碰到一个有意思的错误,这个错误翻译过来是无效的比较,date类型的数据不能和string的数据进行比较。一开始看到这个问题很纳闷,报错的这个方法只是一个修改的方法,非常简单,也没涉及到比较啥的。后来终于找到了报错的关键,这个报错的位置是在mapper.xml中。一般我们在写动态SQL的时候会这样做 <if test="createDate != null and createDate!=''"> create_date=#{createDate}, <

2020-10-20 15:29:22 5906 2

原创 深入MySQL(二)索引

索引索引(MySQL中也叫做 “键”)是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但当数据量逐渐增大时,性能则会急剧下降(对于固态硬盘来说,没有传统硬盘那么糟糕)。索引基础我们在看书的时候,想要找到某个主题,会怎么做呢?我们一般会去翻书的目录,然后找到该主题所在的页数,最后快速的找到该主题。那么MySQL的索引所做的工作也是同样的工作

2020-09-22 16:29:45 338

原创 mysql 添加各类索引

添加主键索引ALTER TABLE `表名` ADD PRIMARY KEY ( `列名` ) 添加唯一索引ALTER TABLE `表名` ADD UNIQUE ( `列名` ) 添加普通索引 ALTER TABLE `表名` ADD INDEX 索引名 ( `列名` )添加全文索引ALTER TABLE `表名` ADD FULLTEXT ( `列名` )添加多列索引ALTER TABLE `表名` ADD INDEX 索引名

2020-09-15 09:31:08 86

原创 MySQL DELETE 删除数据后释放空间

首先来看一下MySQL删除数据的几种方式MySQL 删除数据的几种方式有 DELETE、TRUNCATE、DROPDELETE:要注意,delete是DML语言,删除数据后,并不会真正的删除数据,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。还有,InnoDB 数据库在使用 delete 进行删除操作的时候,只会将已经删除的数

2020-07-20 11:12:54 13945 2

原创 Mysql唯一索引区分大小写问题

最近在做一个项目,需要批量添加一大堆数据做查询,做好SQL优化后,准备插入数据时发现,原本规定有一个列的数据本来是唯一的数据,但其中有两个数据是一样一样的,只是大小写不同,经过和数据提供者的协调,发现数据正常,确实有一些数据是大小写不同,但是这些是正常数据。但是mysql数据库做好了唯一索引后,插入这种数据报错,原因当然是唯一字段不区分大小写了。只要修改一下就好了ALTER TABLE [表名称] MODIFY [字段名称] [VARCHAR(30)] BINARY;注意: 字段名称后面的 VAR

2020-07-20 10:23:37 3314

原创 docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting cont

错误内容:docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “process_linux.go:297: copying bootstrap data to pipe caused “write init-p: broken pipe””: unknown.查了半天的博客,最后终于找到了解决的办法,不一定适用于其他

2020-06-16 15:39:05 4482

原创 深入mysql(一) mysql基础底层技术

mysql的逻辑架构最上层 的服务并不是mysql锁独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。例如连接处理,授权认证、安全等。第二层 大多数的mysql的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如:日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等等。第三层 包含了存储引擎。存储引擎负责mysql中数据的存储和提取。和linux下的各种文件系统一样,每个存储引擎都有它的优势和劣势。服务器通过API与

2020-06-08 10:59:04 373

原创 一些神奇的小BUG

一直以来都有一些奇奇怪怪的小BUG,在开发中扰得人头痛万分,发现问题解决后又感觉有些哭笑不得。特此记录一些自己所犯的一些滑稽的问题,以防之后再犯第一个 下载文件(Spring boot)犯错的代码/** * 下载文件 * * @param file 下载的文件 * @return true or false */ public static Boolean download(File file, HttpServletResponse res

2020-06-05 15:33:18 331 1

原创 Springboot 上传文件 MultipartFile 类型转CommonsMultipartFile报错

我们从根源上找一下问题的所在首先我们来了解一下MultipartFile 这个类型MultipartFileSpringMVC 中,文件的上传,是通过 MultipartResolver 实现的。 所以,如果要实现文件的上传,在SSM的项目中只要在 spring-mvc.xml 中注册相应的 MultipartResolver 即可。MultipartResolver 的实现类有两个:CommonsMultipartResolverStandardServletMultipartResolve

2020-06-02 11:15:21 4401

原创 Spring boot2.0配置 Mybatis、Activiti、FastJson

mybatis 配置经过多次摸索探寻出几种实现方式maven 配置 <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version&gt

2020-05-19 17:40:43 401

原创 Spring 事务和 Spring boot 事务

Spring 事务首选是在配置文件中的配置<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean><tx:advice id="transactionAdv

2020-05-19 13:20:34 278

原创 Spring boot 学习整理(四) 深入Actuator

Actuator 是个什么呢?Actuator 是Spring boot 在应用程序中提供的众多web端点,提供他们了解应用程序运行时的内部状况,有了 Actuator ,你就可以知道Bean在 Spring 应用程序上下文里是如何组装在一起的,掌握应用程序可以获取环境的属性信息,运行时度量信息的快照…说白了,就是可以通过 url 查看当前项目的环境信息等等的一个控件具体先来试一试就知道了加入Maven依赖 <!--Actuator--> <dependency>

2020-05-15 14:03:08 200

原创 Spring boot 学习整理(三)注解介绍、mybaits配置、c3p0配置、log4j配置

@SpringBootApplication首先当然是这个最为关键的注解,由这个注解可以将项目启动@SpringBootApplicationpublic class ReadingListApplication { public static void main(String[] args) { SpringApplication.run(ReadingListApplication.class, args); }}@SpringBootApplication 开启了spring的

2020-05-14 16:59:39 326

原创 Spring boot 学习整理(二)新建项目的初始内容介绍

从pom.xml开始详细介绍修改这个版本号可能会导致默认隐藏的test下的类报错,具体原因请看上一篇文章,如果找不到这个test文件夹的话可能是隐藏了。在项目上右键点击如下操作,即可看到test文件夹配置统一的编码和JDK <properties> <!-- 统一编码 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--统一JDK--

2020-05-12 16:55:21 178

原创 Spring boot 学习整理(一) IDEA创建Springboot项目

Spring boot 的创建一、Spring Initializr 方式创建选择新建项目接下来选择 Srping Initializr这里直接next 下一步选择 web --》spring web 可以指定版本号 如果这里的版本没有想要的话先随便选一个等一会儿修改直接finish创建好的项目目录结构如下其中,mvnw是一个maven wrapper script,它可以让你在没有安装maven或者maven版本不兼容的条件下运行maven的命令.原理:它会寻找mav

2020-05-11 17:58:52 163

原创 SSM框架整合log4j的配置详情

SSM框架整合log4j的配置详情最近将框架中的log4j深入学习了一下,以前虽然一直在用,但是也是知其然不知其所以然,所有的配置信息都是网上照搬的,最近有时间想着深入的整理学习一下。一、maven配置maven 配置详情 <dependency> <groupId>log4j</groupId> <artifactId&g...

2020-04-27 15:12:56 1114

原创 java 上传多个文件,只有第一个有实际大小,剩下的都是0kb

遇到一个令人很头疼的问题,虽然最后解决了该问题,但是具体的原因也只是我的猜测罢了,至于真实的原因还有待商榷。以下就是出现问题的代码,会导致只有第一个文件有实际大小,而其他的文件都是0KB,但是有意思的是如果你去查看这些0KB的文件,也是可以查看的,然后在你查看后你再刷新目录就会发现刚刚看过的文件又有了真实大小,但是其他的文件还是0KB。这样的话一般是查看和调用文件都是没有啥问题的,但是一旦涉及...

2020-04-20 17:13:39 779

原创 docker配置环境变量过程中遇到的问题和上传docker镜像

最近的项目中有一个需求,在算法执行的过程中需要一个外部程序的支持,这个软件倒是安装的不太难,但是有个问题,算法工程师要求这个软件要配置环境变量,需要在任何地方调用,项目是采用docker环境部署的,一开始只是以为简单的将环境变量写入/etc/profile, 然后刷新就行。在刚开始写入环境变量,source /etc/profile之后,确实是可以使用了,但我还是谨慎了一下,让算法工程师去测试一...

2020-04-16 14:28:05 815

原创 UltraEdit 安装时请注意

UltraEdit 这个软件也是真的流氓,会把当前系统的环境变量重新覆盖重写,就问你恶心别恶心,算是我用过最烂的软件也不过如此,大家安装之前一定要注意小心,把环境变量保存一份...

2020-04-13 14:47:24 907

原创 git的常用命令和使用

在很早之前自己学习了一下git的使用,后来之后在开发工具中集成了git插件后发现学的那些git的常用命令好像没什么大用了,当时也做了不少笔记,今天突然又翻了出来,顺便整理一下。Git 与 SVN 区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。 如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。1、Git...

2020-04-08 13:19:10 76

原创 docekr 部署vue项目到nginx服务器,反向代理tomcat服务器

首先还是直接上操作的过程,具体的docekr的安装教程很简单,而且按照官方的 docker安装详情 即可完成安装,一般问题不大。那么现在开始第一步拉取nginx镜像sudo docker search nginx #查看nginx sudo docker pull nginx #拉取nginx镜像在此之前你应该先去部署好tomcat容器,因为需要一个tomcat容器的IP地址来...

2020-03-27 16:34:12 807

原创 docker部署mysql容器

首先上来还是直接操作吧,如果有需要先安装docekr的话,可以自己去docker的官网去查看和下载 docker安装详情 大家可以自行选择适合自己的系统进行安装,按照步骤一步一步来的话应该是没啥问题的。第一步的话还是首先去搜索mysql的容器sudo docker search mysql #普通用户需要加sudo 冒号后是版本号拉取mysql镜像sudo docker pu...

2020-03-27 11:38:40 698

Md文件编辑器....

Md文件编辑器....

2022-03-23

前端写成的json编辑器

前端写成的json编辑器

2022-03-23

mysqlreport.tar

mysqlReport

2021-12-02

空空如也

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

TA关注的人

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