- 博客(64)
- 资源 (4)
- 收藏
- 关注
原创 资源调度之最大最小分配算法java实现
Mini-max算法是一种递归或回溯算法,用于决策和博弈论。它为资源分配提供了一个最佳的分配方式,最近在项目中将这种算法应用到了资源分配中package com.yzf.task.decision.utils;import java.util.*;/** * @Author PSY * @Date 2022/3/17 20:34 * 最大最小公平算法分配,不带权 * @Desc */public class MaxMinAllocate { public stat...
2022-03-27 14:18:30
1498
原创 java中的值传递和引用传递简单易懂的理解
1:java中的值传递和引用传递,本质上是没有区别的,只是看的角度不同而已。基本类型传递变量,都可以直接理解为值传递。值传递和引用传递:比如一个对象作为一个方法的参数传递,那么在这个传递的过程中,传递的是对象的引用地址,你可以理解成为引用传递。但是如果单从传递的角度来说,传递的是一个对象的引用地址,这个引用地址本身就是一个值,所以也可以理解成是值传递。2:举例说明:引用传递举例一:如下面一段代码,我想将集合变成空集合,但是运行程序后却未达到效果原因分析:首先这个可以从引用..
2021-07-28 23:11:53
951
原创 Dome4j在某一个节点下增加另一个xml的节点(包含其子节点信息)
package com.yzf.fintax.task.utils;import com.yzf.fintax.task.constant.HzrwTypeEnum;import org.apache.commons.lang3.StringUtils;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;i.
2020-08-18 21:56:49
708
原创 Centos7.5配置ftp服务器连接,并且采用java连接测试
1:安装ftpyum install -y vsftpd开机自启设置systemctl enable vsftpd.service启动ftp服务systemctl start vsftpd.service关闭ftp服务systemctl stop vsftpd.service查看ftp服务的状态systemctl status vsftpd.service2:进入到ftp的根目录默认是/etc/vsftpd/文件中进行配置cd /e..
2020-05-27 15:56:02
454
原创 Redis4.0.11实现主从+哨兵模式搭建+主备切换测试
服务器:centos7.5,redis4.11准备三台服务器:172.10.1.10 (master) ,172.10.1.22(slave)172.10.1.24 (slave)redis的安装这里不再做说明,默认是安装完成的redis。理论相关知识也不用描述,本篇博客只是完成一个搭建的过程。方便自己或者有需要的同学参考。一:配置主从这里需要注意的是配置了redis的密码:209209us,并且要设置protected-mode no否则会影响哨兵模式的工作。相关的值说明可以参考...
2020-05-15 18:16:25
709
原创 2019.3.3版本idea连接数据库后,xml中写sql不提醒数据库的字段名 解决方式
1:在设置的搜索框内输入:SQL Dialects然后再输入SQL,进入如下的界面,并且全部勾选。点击应用即可
2020-04-28 15:52:51
3670
2
原创 Shell脚本自动配置服务器的jdk环境+定时重启tomcat
root用户下安装的脚本脚本内容如下:#!/bin/bashtar -zxvf jdk*mv ~/jdk1*/ /usr/local/cd /usr/local/jdk1*jdkhome=`pwd`echo "路径为:" ${jdkhome}echo "export JAVA_HOME=${jdkhome}" >> /etc/profileecho "exp...
2020-04-20 11:17:51
399
原创 SpringBoot2.0结合JWT+Shiro实现登录以及权限的控制
在掌握了shiro以及jwt相关基础知识的前提下一 实现的功能: 1: jwt结合shrio登录(登录成功后返回对应的token给前端)。 2:shiro对接口进行授权控制。 3:在没有登录的情况下,不允许访问未开放的接口。 4:通过注解的方式对接口进行授权,可以设置相关角色,相关权限才可以操作特殊说明:CpaToken是前端需要将登陆后返...
2020-04-18 20:23:26
11209
2
原创 新版api java两种方式连接带有密码权限的MongoDB(MongoTemplate,MongoClient)
环境:MongoDB为上篇文章docker安装并且启动的,启动的时候是带有认证,需要用户名和密码才可以登录,需创建数据库并设置相关用户的读写权限。Jdk8+idea一:通过MongoDB的客户端链接导入SpringDataMobgodb的包,这里选择的是最新版本的包相关文档建议参考官方:https://docs.spring.io/spring-data/mongodb/docs/2....
2020-04-03 10:37:01
3150
2
原创 Docker19.03.5安装Mysql5.7.28,并且挂载数据卷和配置
1: 安装的环境:centos7.5 docker版本19.03.5 2:查看镜像:docker images3:启动镜像docker run --name mysql5.7.28 -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:5.7.284:进入容器内部查看mysql数据库的相关配置,找到...
2020-03-23 22:13:04
658
1
原创 懒猿必备:mybatis-plus3.10实战经验(二)完美CRUD,解放双手
上篇文章讲述了如何通过一个数据库完成代码的自动生成,包括接口,xml等相关文件,同时还配置了swagger的相关信息,本篇将讲述如何利用mybatis-plus完成一个完美的crud,只涉及数据的更改,不考虑其他任何情况。相信你看了此篇文章肯定可以彻底解放你写sql的烦恼。在进行crud的操作之前需要查看一些mybatis-plus 的表达式的含义,这些表达式是构造条件查询的根本,这个作...
2020-03-15 15:43:45
741
1
原创 懒猿必备:mybatis-plus3.10实战经验(一)自动生成代码
做后端开发的,无一不知晓mybatis的存在。它方便了sql的抒写,让项目更加的层次分明。但是mybaitis-plus的出现,将这个框架的方便程度再次升级了一个档次。我们公司的实际项目大多采用这个框架,这个框架不但集成了mybatis的所有功能,在一定程度上还增加了一些CRUD的接口。如果你的项目比较简单,并且涉及到的表查询基本都是单表的话,那我强烈建议你使用mybatis-pl...
2020-03-01 13:40:45
1092
原创 根据数据库字段动态生成excel模版下载,上传模版获取数据存入数据库(poi+java类反射)
环境:mysql5.7.28+java8+Spring boot 2.2.4 +mybatis-plus3.10动态:根据需求,用户可以选择对应的字段生成excle模版 下载poi+反射:poi是excel的第三方jar,反射的作用是给表实体对象属性赋值,方便入库操作。 现在很多的应用都有批量导入的功能,批量导入用的最多的也是excel。我们实际的项目中也用了很多这方面...
2020-02-29 12:57:46
1617
5
原创 mysql5.7.28索引有序性以及explain语句案例分析。
首先,mysql使用的B+树索引,B+树索引,是一种数据结构,类似于有序数组,不过,他不是用数组实现的,而是用的一种多叉树,并且是平衡的多叉树B+树,每个叶子节点通过引用连接起来,正好顺序排好了,就理解成有序数组吧,但是他的增删改的效率比有序数组高得多。 查询,就是二分搜索了,在一个有序数组里面查找一个数据,效率会很高。 索引的有序性以及执行过程是本篇博客的...
2020-01-09 13:52:44
818
原创 Centos7.5采用yum安装Mysql8.18,配置个人密码以及IP权限访问
博主安装的是mysl8.18也是目前最新版本的mysql。官网号称查询速度比5.7版本的速度快两倍。至于8.0优化了什么,不作讨论!如果会使用docker,安装也就一分钟的事,无非就是挂载一下数据卷,以及配置!其实我还是很喜欢docker安装的,但是yum安装更加直观。但是这种方式受网络影响,我使用的是美国的阿里云服务器,所以会比较快些!安装前,请确认服务器中的mysql已经清空!下...
2019-12-13 23:41:04
242
原创 Linux centos7 下使用James3.2.0版本及James2.3.2.1版本邮箱搭建
因公司的业务需要,需要搭建一个自己的邮箱服务器。选了很多的版本,最后选择了James,并且分为两个James的版本。3版本的和2版本的在以下都会介绍安装配置和使用,以及外网部署的配置。参考别人的博客以及对于James的官网研究了将近三天,最后将两个版本的都测试成功。一:准备工作(配置好java环境的机器)准备的工具:①:局域网配置:James的安装包,Linux虚拟机可上网的那种(方便测试...
2019-10-23 09:28:35
5099
7
原创 java使用javax.mail实现数据库中邮件的解析
一:邮件解析的介绍:首先说明的是我是使用的James搭建的邮件服务器,邮件的内容会存在数据库表字段中并且部分邮件是base64编码过后的内容,还有部分是直接返回一个网页内容(Twiter注册的时候返回的就是网页)。如下图所示下图是gb2312base64编码及解码后的内容(0MK1xLLiytTE47XE0enWpMLrzqo0NTY3ODk=)那么问题来了。我们是手...
2019-07-19 11:05:07
2101
原创 Json字符串传递给后台String 接收后转成对象获取对象中的属性值。
一:前端传参数{"bid":["com.adhabsdad.chd","dhgdqjgd.cinc.cjc"]}二:后台的代码接收 @RequestMapping(value = "/register", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public R...
2019-05-29 11:30:16
3614
原创 将文本中的内容转换成base64字符串(并不是文本本身,是里面的内容)
package com.xtzn.control;import org.apache.commons.codec.binary.Base64;import java.io.BufferedReader;import java.io.FileReader;import java.nio.charset.StandardCharsets;/** * Create by PSY *...
2019-05-22 13:23:21
2936
转载 centos7.5yum 安装数据库5.7.25
https://www.cnblogs.com/luohanguo/p/9045391.html
2019-03-08 10:58:53
341
原创 模拟高并发的测试(多线程开启httpclient请求接口)
模拟高并发的原理就是:利用线程池去执行多个线程通过httpclient访问controller package com.xtzn.utils;import com.alibaba.fastjson.JSONObject;import org.apache.http.client.config.RequestConfig;import org.apache.http.client....
2018-12-28 14:50:12
8567
转载 Springboot整合Elastic-Job
Elastic-Job是当当网的任务调度开源框架,有以下功能分布式调度协调弹性扩容缩容失效转移错过执行作业重触发作业分片一致性,保证同一分片在分布式环境中仅一个执行实例自诊断并修复分布式不稳定造成的问题支持并行调度支持作业生命周期操作丰富的作业类型Spring整合以及命名空间提供运维平台具体信息可以查看 官网 ,Elastic-Job的文档很详细,同时也有相应...
2018-12-12 10:54:40
574
转载 svn创建仓库并且设置用户的权限
1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1.2上的是:/SVN。-d 表示以后太服务方式执行,-r就表示root1.2 创建仓储1.2.1 在SVN根目录下建立版本仓库svnadmin create study ...
2018-12-04 15:19:21
6400
原创 java将数据库数据转换成word文档并且生成pdf文件最后转换成对应的图片
目的:将数据转换成word图片的方式展现给用户工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的。其中openoffice的下载地址为:链接:https://pan.baidu.com/s/1Y5Ra3TfNCcvVX1bF-29hjw 密码:44msopenoffice的安装及启动不在描述:网上自行百度。下面主要...
2018-08-24 17:46:38
2622
2
原创 存储型XSS攻击的简单处理以及数据库查询过滤多个字段重复数据
问题:储存型Xss是由于form表单提交的数据,前端和后台未进行过滤,将一些javascript的脚步语言存入数据库中。导致再次查询数据的时候浏览器会执行该脚步语言。如:<script>alert("XSS")</script>。解决方案:主要是后台的过滤,部分可绕过前端直接输入。解决思路:采用过滤器过滤用户的输入,将一些敏感的信息直接replaceAll即可。过...
2018-08-24 16:23:51
3381
3
原创 root和普通用户的的启动项目
记录贴: 本人在用root使用winscp上传项目的时候,显示文件的权限是root。随后用root启动项目后。项目启动成功。但是就是登陆不了。显示网页无法访问。最后我采用的是普通用户登陆,随后使用su root 输入root的密码,启动项目。然后就可以访问了。主要的问题:root用户上传的项目到tomcat/webapps中,随后直接用root用登陆ssh。然后启动,就会出现项目无法访问的问...
2018-07-01 18:45:05
963
原创 关于限制同一个IP访问频率和限制用户登录时候输错密码次数限制(超过即限制)
一:关于限制同一IP的基本的思路spring action请求频率限制(不能限制静态资源的请求) 限制同一ip在一定时间内, 对server请求的次数. 由ip第一次请求来做为时间点, 将时间,请求次数缓存到redis.1. 第一次请求(redis中无缓存记录), 初始化缓存(时间=当前, 次数=1) . 2. 非第一次请求, 从redis中取出缓存与当前时间相比. 2.1: 缓存时间过...
2018-06-16 20:07:11
14610
3
原创 面向对象含义+Spring管理本质(通俗的案例颠覆你的认知)
我们在学习java的时候,都是在一个main方法中进行各种各样的代码活动。后来学到了面向对象,知道了很多流程是通过不同的对象合作来完成业务逻辑。我们在main方法中,new了很多个对象,完成了业务功能,然后这个main方法就结束了,虚拟机停止了.一个main方法,他是一个线程,所有的逻辑代码顺序的再线程上执行,我们遇到了一个问题,需要一个对象了,ok,我们new了一个对象,然后完成了...
2018-05-07 16:53:25
1354
转载 SpringAop的简单理解(转)
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的...
2018-05-03 16:35:25
279
原创 蓝鲸鱼--docker的学习知识总结
前言:docker是一条背着集装箱的蓝鲸鱼,将复杂的工作做一次打包,build once,run anywhere!关键的三个词:镜像,容器,仓库。以下是个人学习的一些总结,仅供参考,不作学习。镜像:就像装系统时的一些文件,可读不可写的分层文件。可以通过docker进行运行。容器:容器是通过docker run 镜像得到的一个独立于宿主机的环境,是可读可写的,这个环境是一个小小的系统。根据镜像的不...
2018-04-14 14:16:53
1071
原创 通过实现runnable实现多线程操作
第一步:创建一个抽象类,实现runnable接口。public abstract class ThreadRun implements Runnable { @Override public void run() { doSomeThing(); } ThreadRun() { } public abstract void do...
2018-03-19 15:55:53
2093
原创 List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
在数据库中某些数据是重复的,通过mybatis映射成不同的对象。导致不同的对象包含相同的属性。这也是数据重复的一种。下面是我在处理一个属性或者多个属性相同时采用的方法。当然你可以采用其他的方法。比较蠢的方法是两个for循环。但是对于数据的删除是很容易出现异常的。因此我采用的是map的键值对的方法。不多说,直接上代码,代码不做过多解释,相信大家可以看懂,主要是这个思想,我感觉不错!...
2017-12-22 10:58:12
4930
原创 PageHelper5.0在oracle数据库中使用
原理: pageHelper会使用ThreadLocal获取到同一线程中的变量信息,各个线程之间的Threadlocal不会相互干扰,也就是Thread1中的ThreadLocal1之后获取到Tread1中的变量的信息,不会获取到Thread2中的信息,所以在多线程环境下,各个Threadlocal之间相互隔离,可以实现,不同thread使用不同的数据源或不同的Thread...
2017-12-12 17:36:12
7736
原创 为什么业务中很少用到设计模式
老铁们在写代码的的时候,估计多少都沾染一点设计模式这个概念,但很多猿人在实际的开发中发现设计模式用的很少,几乎就是零,这是为何呢? 设计模式的目的是提供可扩展性和可维护性。但是我们开发的项目本身,大部分都是固定写死的,逻辑单一,我们开发的模块也并不在其他位置或者其他项目中复用,目的很明确就是做当前的业务,支付模块就管支付的业务,推送模块就管消息推送的业务。所以,平时开发中用到设计模式的地
2017-12-11 18:03:34
4287
2
原创 Linux下安装Mysql数据库且给用户授权(安装包安装)
第一步:查询原有的数据库#rpm -qa|grep -i mysql第二步:删除查询出来的数据库#rpm -e packageName --nodeps第三步:下载安装包下载地址为:https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.58-linux-glibc2.
2017-11-11 21:12:11
3239
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人