自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 xml和json互转工具类

分享一个json与xml互转的工具类,非常好用

2023-08-30 15:59:31 2215

原创 webservice调用对接第三方系统

最近接到一个任务,需要对接第三方数据,第三方提供对接方式的是通过webservice调用,webservice调用有好几种方式,具体可以自行了解,我选择的是通过wsdl文件自动生成客户端代码对接。

2023-08-30 11:57:09 520

原创 Mongodb设置TTL索引自动清理过期数据

当你对一个字段建立TTL索引后,后台会有一个单线程,不断查询(默认60s一次)索引的值来判断数据是否过期,并且删除数据的动作还依据mongod实例的负载情况,如果负载很高,可能会稍微延后一段时间再删除。注意:TTL过期索引设置的字段必须是Date()类型,比如下面这种:字符串类型的日期字段设置之后是无效的,比如下面这种:如何设置:TTL索引和普通索引的创建方法一样,只是要多加一个expireAfterSeconds属性:假如目前过期的数据不需要实时删...

2021-07-26 09:51:10 1280 1

原创 阿里云RocketMQ订阅失败

阿里云mq订阅有几个特点: 1. 同一个topic可以被多个Group订阅,生产者每次生产一个消息,都会广播给订阅了当前topic的所有Group,每个Group均可以独立消费。在topic基础信息里可以看到具体信息 2. 一个Group只能订阅一个topic,否则就会出现订阅不一致,在Group基础信息里可以看到具体信息 3. 一个Group可以对应多个Consumer 实例,Consumer 实例可以理解为不同的机器,在Group基础信息里可...

2021-06-29 17:16:52 1788 2

原创 微信支付服务商模式签名错误小坑

一开始对接是非服务商模式,后面发现服务商模式税率更低,所以改为服务商模式通过对比文档发现两种模式的区别主要在于服务商模式增加了参数sub_appid、sub_mch_id,其中sub_appid非必传,只有在trade_type=JSAPI才有必要,然而当我把sub_mch_id添加进去之后调用api却提示签名错误签名生成算法都是跳转到同一个地址,因此签名是同一个计算规则签名计算文档:https://pay.weixin.qq.com/wiki/doc/api/native_sl..

2021-03-03 11:25:36 747 1

原创 阿里云弹性伸缩初体验

第一步:点击创建伸缩组第二步:在这里我选择从零创建,目前我只用过从零创建、通过已有ECS实例创建,两种区别不是很大,后续反正都需要配置镜像第三步:配置伸缩组,这里可以关联阿里云的负载均衡SLB,关联之后弹性伸缩活动添加服务器时会自动添加到负载均衡SLB上,移除时也会同步移除负载均衡SLB第四步:更新镜像,这里可以指定一个已有的ECS生成镜像第五步:创建伸缩配置,自己按需求配置就行了(一般是跟镜像服务器保持一致),镜像就选择刚刚创建的镜像(创建镜像需要时间)。确认.

2021-02-22 17:19:32 580

原创 linux中用crontab定时任务启动jar无效的问题

修改前脚本内容如下:nohup java -Xms512m -Xmx512m -jar /mnt/jar/xx-0.0.1-SNAPSHOT.jar&检查了权限等各方面可能,一直都是脚本能执行,但是不产生jar的进程,如果在命令前后增加输出也能正常输出手动执行则一切正常,最后怀疑是环境变量的问题修改后的脚本内容如下:source /etc/profilenohup java -Xms512m -Xmx512m -jar /mnt/jar/xx-0.0.1-SNA...

2021-02-22 15:36:54 854 1

原创 linux上配置nginx的HTTPS

linux上nginx安装SSL模块用以配置https因为最近需要开发一个小程序app,需要配置上https1.申请一个ssl证书目前使用的是阿里云的免费证书,其它厂商应该也有类似免费的,对证书要求不是很高的话可以使用这个。购买之后绑定域名进行即可,这个免费的证书有个好处就是审核相对简单很多。2.下载证书,我们是配置nginx自然是下载nginx类型,后续配置ssl会用到3.ngin...

2019-10-21 15:50:59 305

原创 Redis监听自动过期事件

redis本身需要开启事件监听,配置事件监听规则,有如下两种方式打开redis配置文件,打开下面这个配置,但是后续还需要重启redis服务直接在redis-cli中用命令打开,这种方式不需要重启redis服务实现代码,集成redis的代码此处就不提供了,只提供监听需要用到的代码/** * Redis缓存配置类 */@Configurationpublic cl...

2019-05-20 16:34:12 11812 3

原创 VMvare 安装kali linux系统及网络配置

VMvare 安装kali linux系统及网络配置下载进入官网https://www.kali.org/,进入downloads列表,找到xfce(图形界面)64位进行下载创建虚拟机直接下一步选择刚刚下载的iso文件选择客户机操作系统及版本,这里系统选择linux,版本是debian 8.x,如果有更高的版本可以选更高的版本,下载的是64位的iso文件所以...

2019-03-06 10:29:04 3340

原创 spring cloud服务注册与发现

 非常感谢https://www.cnblogs.com/sam-uncle/p/8954401.html的作者,借鉴其文章自己动手做了一遍,现将自己动手过程记录下来,方便后面回顾 工程1)eureka 服务注册中心2)hello-eureka-service 服务注册3)hello-eureka-consumer 服务发现 idea创建spring boot项目...

2018-12-18 21:10:38 203

原创 java 原型模式

java 原型模式代码块(对象)假如现在有一个对象obj1,对象里有个两个字段(实际场景是有很多字段,然而你需要一个新对象,大部分字段值相同,极个别字段需要更改),你给obj1的name字段赋值为张三、age字段为18。然后你又需要一个同样类型的对象obj2,并且还要保证obj2的name字段值为张三、age字段值为18。这时候你怎么做?new一个新对象再给字段赋值?,还是说obj...

2018-09-10 18:29:17 196

原创 java 构造者模式

java 构造者模式在了解之前,先假设有一个问题,我们需要创建一个对象,属性有name,age,sex,note等属性,如果每一个属性都可以为空,也就是说我们可以只用一个name,也可以用一个age,name,或者一个sex,note,或者其他任意的赋值来创建对象,这时该怎么构造?  难道我们写4个1个输入的构造函数,6个2个输入的构造函数…….吗?这个时候就需要用到Builder模式了。...

2018-09-07 16:12:01 2061

原创 bigdecimal保留小数位

bigdecimal保留小数位ROUND_DOWN:直接去掉多余的位数ROUND_UP:进位处理,与四舍五入相比,指定位数的后一位数无论是多少,都会进位ROUND_CEILING:天花板(向上),正数进位向上,负数舍位向上ROUND_FLOOR:地板(向下),正数舍位向下,负数进位向下ROUND_HALF_UP:四舍五入(舍弃部分需要>.4,才会进位)ROUND_HALF_D...

2018-08-24 16:14:54 2955

原创 SimpleDateFormat的使用

SimpleDateFormatSimpleDateFormat 函数语法: 标识 含义 例 G 年代 y 年 2018 M 月 5 d 日 24 h 时 在上午或下午 (1~12) 3 H H 时 在一天中 (0~23) 3 m 分 59 s 秒...

2018-05-24 15:55:29 970

原创 linux中echo的使用方法

linux中echo的使用方法1.echo输出到终端2.echo输出时的转义字符\b 表示删除前面的空格\n 表示换行\t 表示水平制表符\v 表示垂直制表符\c \c后面的字符将不会输出,同一时候,输出完毕后也不会换行\r 输出回车符(可是你会发现\r前面的字符没有了)\a 表示输出一个警告声音3.echo输出到文件4.可以利用上方第3点用法来清空某些文件,比如日志文件...

2018-05-11 09:46:26 11819

原创 CentOS安装jdk+tomcat+nginx+maven+svn

以下均在root用户下安装,如果非root用户可能要考虑权限的问题一、安装jdkjdk选择oracle jdk,相比较open jdk兼容会比较好1.1检查本地是否有安装jdk:yum list installed |grep java如果查看yum库中的Java安装包:yum -y list java*1.2因为有些服务器会自带jdk,但是自带的jdk一般都为open jdk,因此需要将其卸载想...

2018-04-24 14:10:32 297

原创 HttpClient

import org.apache.http.*;import org.apache.http.client.HttpRequestRetryHandler;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;imp...

2018-04-23 16:21:59 243

原创 java BigDecimal类型 比较大小

一般我们进行类型比较有.equals()、==、.compareTo()但是当比较bigdecimal类型时最好使用.compareTo()来比较大小BigDecimal a=BigDecimal.ZERO;BigDecimal b=BigDecimal.valueOf(0.000);BigDecimal c=BigDecimal.valueOf(0.0);a.equals(b) 的结果会是fal...

2018-04-09 13:58:24 10002

原创 关于JAVA引用传递和值传递

简单一点,引用传递和值传递的区别:值传递是传递了原有对象的一个副本,所以调用函数可以改变副本的值,但是对原有对象没有任何影响 引用传递是传递了对象的引用,对引用的操作会改变源对象本身测试类:public class A { public String name; public String sex;}public class B { pub

2017-12-26 19:14:07 772

转载 CentOS下安装tomcat

安装环境:CentOS-6.5安装方式:源码安装 软件:apache-tomcat-8.0.0.RC3.tar.gz 下载地址:http://tomcat.apache.org/download-80.cgi安装前提 系统必须已安装配置JDK6+,安装请参考:http://www.linuxidc.com/Linux/2014-10/108066.htm。安装tomca

2017-11-24 16:17:45 171

转载 CentOS安装JDK的三种方法

由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JDK的安装:方法一:手动解压JDK的压缩包,然后设置环境变量1.在/usr/目录下创建java目录[root@localhost ~]# mkdir/usr/java[root@localhost ~]# cd /usr/java2.下载jdk,然后解压[root

2017-11-24 16:13:32 240

原创 目录切换cd

1.使用绝对路径(以 / 开始),切换至指定目录[wang@localhost ~]$ pwd/home/wang[wang@localhost ~]$ cd /[wang@localhost /]$ pwd/[wang@localhost /]$ cd /home/[wang@localhost home]$ pwd/home2.使用相对路径,切换

2017-11-14 09:34:57 244

原创 vim常用快捷键

# vimlinux vim编辑器必知必会一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。(2)

2017-11-14 09:33:37 159

原创 nginx简单配置

# nginxConfig######Nginx反向代理及负载均衡简例####################负责压缩数据流gzip              on;  gzip_min_length   1000;  gzip_types        text/plain text/css application/x-javascript;#设定负载均衡的服务器列表upstream hello...

2017-11-14 09:32:45 467

原创 linux目录结构

# 目录结构/  root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。  home --- 存储普通用户的个人文件      ftp --- 用户所有服务      httpd      samba      user1      user2  bin --- 系统启动时需要的执行文件(二进制)  sbin ---

2017-11-14 09:31:28 204

原创 linux常用指令

# 常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切

2017-11-14 09:30:32 200

转载 CentOS 6.x启动时激活网卡

安装CentOS 6.x操作系统后,开机时发现没有网络,最后发现系统启动时未激活网卡 - 因为只有在激活状态的网卡才能去连接网络,进行网络通讯。执行“ifconfig“命令发现只有lo网卡,并没有eth0。lo: flags=73  mtu 65536        inet 127.0.0.1  netmask 255.0.0.0        loop  txqueuele

2017-11-14 09:29:35 3506

原创 Spring Transaction属性之Propagation

一、描述Spring遇到嵌套事务时,当被嵌套的事务被定义为“PROPAGATION_REQUIRES_NEW”时,内层Service的方法被调用时,外层方法的事务被挂起;内层事务相对于外层事务是完全独立的,有独立的隔离性等等。二、实验但实验时却遇到一个奇怪的问题:@Servicepublic class A {    @Autowired    priv

2017-11-14 09:28:03 215

原创 MySql的锁

mysql中select * for update注: FOR UPDATE 仅适用于InnoDB,且必须在事务区块(BEGIN/COMMIT)中才能生效。作用锁定该语句所选择到的对象。防止在选择之后别的地方修改这些对象造成数据不一致。要保证在统计(查询)执行过程中,记录不被其他用户更新,则可以使用For update子句进行加锁。这样在这个锁释放前其他用户不能对这些记录作

2017-11-14 09:27:22 222

原创 MySQL中怎么对varchar类型排序问题

MySQL中怎么对varchar类型排序问题select * from table order by 排序字段 [asc/desc];order by:排序asc:升序desc:降序在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序没有用。一开始有如下一条sql,想根据isdcode正序排序,isdcode为varchar类型:SEL...

2017-11-14 09:24:52 2913 4

原创 mybatis Example条件查询

目录:  or条件查询时,结合0、1两个例子得出差异  Criteria添加条件时如果遇上or条件时,结合2、3两个例子得出差异0.  DepartmentExample departmentExample = new DepartmentExample();  departmentExample.createCriteria().andTenantIdEqualTo(te

2017-11-14 09:20:40 1490

原创 计算字符串长度

//获取指定字符串的长度,除英文、数字算一个长度外其余字符全算两个长度public int length(String s) {        if (s == null)            return 0;        char[] c = s.toCharArray();        int len = 0;        for (int i = 0; i < c.lengt...

2017-11-14 09:18:56 719

转载 常用正则

作者:zxin,出处:博客园:http://zxin.cnblogs.com/链接:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html一、校验数字的表达式 1 数字:^[0-9]*$  2 n位的数字:^\d{n}$  3 至少n位的数字:^\d{n,}$  4 m-n位的数字:^\d{m,n}$

2017-11-14 09:16:33 131

空空如也

空空如也

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

TA关注的人

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