自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 Sentinel同时配置fallback和blockHandler的问题

Sentinel配置fallback和blockHandler

2023-04-23 22:10:12 705 1

原创 eclipse一个应用运行多个实例配置

eclipse一个应用启动多个实例

2023-04-17 21:49:54 972

原创 maven多模块项目.gitignore文件配置

解决maven多模块项目.gitignore配置中/target/无效问题

2023-04-17 21:28:44 1142 1

原创 AtomicInteger实现并发安全计数器

AtomicInteger实现计数器

2023-04-16 18:13:20 140

原创 Nacos安装配置

Nacos Server安装配置

2023-04-13 19:53:03 1837

原创 windows配置docker镜像加速配置

解决docker pull下载慢

2023-04-08 22:12:31 1306

原创 java响应实体类封装(泛型)

1、定义响应状态码枚举类,枚举类用来定义项目中要使用到的状态码2、定义响应实体类,在这里引用ResponseEnum枚举,定义了响应消息和响应数据对象若干方法3、在controller中使用响应实体类,在controller中展示了响应消息和响应数据的例子使用postman访问以上接口,响应结果如下图所示......

2022-06-08 17:16:06 3997 4

原创 vue export default 和 export const的使用

vue的经常会见到 export const 和export default 这两个,都可以用于从模块中导出函数、对象或原始值,以便在其他文件中可以使用,他们的区别在于1、export default 一个文件中只能有一个,名字叫默认导出2、export const一个文件中可以有好多个,名字叫命名导出一、先来看看export default的定义和使用,我在components文件夹下创建了一个自定义组件ProductList.vue,里面只有export default,代码如下<scr

2022-02-11 18:38:41 13928

原创 uniapp dragball(浮动球)页面第一次加载点击事件不触发问题解决

一、原因dragBall.vue组件中的touchend方法判断click事件触发条件有问题,导致click事件没有触发,经测试,这一问题只在安卓中存在,苹果手机没问题,涉及dragBall.vue组件源码如下修正前修正后即修改以下3个判断非单击事件条件的值,直到可以触发click事件为止,真机调试可以将条件值alert出来1、this.endTime - this.startTime2、Math.abs(this.move.x)3、Math.abs(this.move.y)这里我只将.

2022-02-11 16:34:19 1133

原创 推荐一个好用的epub转pdf工具

最近需要将大量的epub文件转成pdf格式,在网上找了很多网站和工具,要么有40M大小限制,要么转出来文字乱码、图片丢失,有水印,关键还收费,你说气不气人,最终找到一个免费好用的,推荐给大家Neat Converter有以下几个优点1、免费、界面简洁已操作2、转化速度快,不会出现乱码、图片丢失等情况3、没有40M大小限制,可以支持上百兆的文件转化...

2022-01-25 14:39:57 4812 2

原创 vue自定义组件

有时我们会频繁的用到某段同样的html、js、cs代码,比如电商项目的商品列表,很多页面都需要展示,为了减少复制粘贴操作,减少冗余代码,可以封装成自定义组件提高代码复用性一、创建自定义组件在components目录下创建ProductList.vue,内容如下<template> <div> <h1>{{name}}</h1> <div v-for="item in productList"> .

2022-01-14 15:40:55 641

原创 vue路由传参的两种方式

我们想要从First.vue页面通过点击跳转到HelloWorld.vue页面并传递,通常使用以下两种方式先看一下路由配置export default new Router({ mode: 'history', routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld }, { path:'/first', name:'First', .

2022-01-14 14:36:31 972

原创 nginx根据请求参数重定向

当channelCode不为空且channelCode不等于default时,进行域名重定向,否则直接访问页面资源location ^~ /abc{ set $flag "Y"; if ($request_uri !~ "channelCode=default"){ set $flag "N"; } if ($request_uri !~ "channelCode"){ set $flag "Y"; } if ($flag != "Y"){ rewrite ^(.*)$

2021-09-07 17:12:46 1602

原创 shell监控tomcat运行状态,自动重启

linux服务器中,需要监控tomcat的运行状态,如果发现tomcat服务停止了,则自动重启一、创建tomcat_autostart.sh,脚本内容如下#!/bin/sh MONITOR_LOG=/home/appdati/scripts/log/tomcat_monitor.logexport JAVA_HOME=/usr/local/jdkexport JRE_HOME=${JAVA_HOME}/jretomcat_autostart(){ TOMCAT_STATUS=$(p.

2021-09-07 13:48:19 786

原创 nginx高并发优化

最近做一个公众号做一个抢红包的活动,由于抢红包的人较多,并发较高,因此要优化一下网络并发能力,主要优化nginx并发能力和系统配置一、Nginx优化主要是增加worker进程数、优化worker进程最大打开文件数、单个工作进程可以允许同时建立外部连接的数量worker_processes 8;worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;worker_rli.

2021-09-07 13:05:33 337

原创 synchronized同步失败问题处理

问题最近做一个好友砍价的功能,好友砍价时需要进行同步处理,避免并发时砍价金额出现异常。原来代码是在service中使用synchronized进行并发控制,代码如下@Override@Transactional(rollbackFor = Exception.class)public BigDecimal help(BargainHistory history) { String intern = String.valueOf(history.getId()).intern(); sync.

2021-09-02 14:56:57 2460

原创 js抽奖发红包算法(奖项权重+金额范围随机,支持小数)

文章目录前言一、抽奖需求1、抽奖金额权重2、金额要取奖项范围的随机值二、算法实现1、计算用户中了几等奖2、生成相应奖项的随机金额3、抽奖写在最后前言近期需要为平安普惠公众号开发一个抽奖发红包的需求,在抽奖页面的下方需要滚动展示用户中奖信息,如下图所示由于活动参与的人数多,并发量高,为了减轻服务器的访问压力,决定前端用js算法来随机生成用户中奖记录。一、抽奖需求1、抽奖金额权重1~200元,中奖概率为20%,记为一等奖0.5~1元,中奖概率为20%,记为二等奖0.3~0.5元,中奖概率为6

2021-02-19 13:45:41 1377

原创 计算积分过期时间和剩余天数(一周为周期)

private PointExpire calPointExpire(Date createTime) { Calendar cal = Calendar.getInstance(); // 计算创建时间是星期几 cal.setTime(createTime); int createWeek = cal.get(Calendar.DAY_OF_WEEK)-1; if(createWeek==0) createWeek=7; System.out.println("创建时间是星期" +

2021-01-27 13:04:07 746

原创 mysql处理微信表情

mysql5.7以上可以通过base64函数来处理表情插入insert into wx_user (nick_name) values (to_base64('gavin????'));插入结果如下图查询select CONVERT(from_base64(nick_name) , CHAR) as nick_name from wx_user;查询结果如下图...

2021-01-27 11:04:39 278

原创 java利用redisson实现分布式锁

最近开发一了个答题抽奖项目,由于部署项目采用了负载均衡策略,分配奖品时必须使用分布式锁,项目开发完成后记录一下利用redisson实现分布式锁的过程一、springboot项目整合redissonredisson pom依赖如下 <!--Redis分布式锁--> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifa.

2020-08-26 17:59:55 1554

原创 MySQL分组排名-名次并列处理

之前写了一篇mysql分组排名的博客,看评论很多人在说如果出现分数相同,此时想要名次并列的效果应该怎么办,今天有空简单调整了一下逻辑,也是可以实现的,直接上代码同样还是创建测试表score_info,建表语句如下CREATE TABLE `score_info` ( `class` varchar(20) DEFAULT NULL, `student_name` varchar(20) DEFAULT NULL, `score` int(11) DEFAULT NULL) ENGINE.

2020-08-11 18:04:46 4059 1

原创 java排名

今天在开发中需要对一个结果集根据某个字段进行排名,记录一下方法创建Student类/** * @title * @author gavin * @date 2020年8月11日 */public class Student { // 姓名 private String name; // 分数 private int score; // 名次 private int rank; public int getScore() { return score; } pu.

2020-08-11 16:18:40 2139

原创 JAVA多字段排序

使用JDK1.8的stream api可以轻松实现多字段排序首先创建Student类如下/** * @title * @author gavin * @date 2020年8月11日 */public class Student { // 姓名 private String name; // 分数 private int score; // 名次 private int rank; public int getScore() { return score; }.

2020-08-11 15:51:25 3299

原创 java响应实体类封装

前后端分离的开发模式中,或者与第三方接口交互,需要规范接口响应,下面是我在开发中的封装的一组响应实体类

2020-06-11 10:24:49 5659 1

原创 JAVA内存分析

Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区(静态区)method area。栈的特点如下栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)栈属于私有线程,不能实现线程间的共享栈的存储特性是“先进后出,后进先出”栈是由系统自动分配...

2019-12-11 19:01:35 1386

原创 微信公众号开发 - 发送Emoji表情

完整代码请访问github:https://github.com/liaozq0426/wx.git上篇文章实现了微信公众事件消息的处理,今天来实现向客户端发送Emoji表情我们实现一个菜单按钮点击时后台回复带Emoji表情的文本消息,Emoji表情需要用Unicode编码转换而来public class TestEmoji { public static void main(Str...

2019-12-03 18:25:16 2811

原创 微信公众号开发 - 事件处理和回复消息

完整代码请访问github:https://github.com/liaozq0426/wx.git上篇文章实现了微信公众号菜单创建,现在实现事件的处理和回复用户消息。微信服务器会将所有的用户事件和消息通过公众号后台配置的服务器地址推送给我们,就是下图红框的URL编写代码因为接收微信消息和返回消息都需要以xml格式数据进行传输,因此我们先封装一个工具类BeanXmlUtil,来实...

2019-11-29 14:47:00 1434 7

原创 微信公众号开发 - 创建菜单

完整代码请访问github:https://github.com/liaozq0426/wx.git在上篇文章中完成了菜单、按钮bean的封装,现在来实现微信公众号菜单的创建向wx_cfg配置表中插入若干菜单记录INSERT INTO `wx_cfg` (`id`, `type`, `name`, `value`, `parent_id`, `sort`, `platform`, `wx...

2019-11-28 18:05:28 910

原创 微信公众号开发 - 菜单按钮bean封装

完整代码请访问github:https://github.com/liaozq0426/wx.git上篇文章完成了微信公众号token的获取,接下来开始开发微信公众号自定义菜单,在开发自定义菜单前,先完成菜单和按钮bean的封装,因为在开发自定义菜单时需要用到从微信官方文档可以看到,公众号菜单的数据结构如下{ "button":[ { "type...

2019-11-28 16:32:23 723

原创 微信公众号开发 - token获取(保证同一时间段内只请求一次)

创建wx_token表,存放tokenCREATE TABLE `wx_token` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', `token_type` varchar(20) NOT NULL COMMENT 'token类型,access_token:基础token,jsapi_ticket:j...

2019-11-27 16:54:59 3083

原创 微信公众号开发 - 配置表设计以及接入公众号接口开发

微信公众号配置表设计在公众号的开发过程中,很多接口都需要读取配置,如appId、appSecret、菜单配置等,因此在开发之前,配置表的设计尤为重要。创建表名为wx_cfg的配置表,建表语句如下CREATE TABLE `wx_cfg` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', `type` va...

2019-11-25 15:57:58 1748

原创 shell脚本ping检测服务器连通性

shell脚本如下,执行脚本后,会将ping检测结果输出到一个ping_monitor.log日志文件中,脚本接收一个参数,即要检测的ip地址#!/bin/shMONITOR_LOG=/home/gavin2/scripts/log/ping_monitor.logping_monitor(){ ping -c 3 $1 > /dev/null if [ $? -eq...

2019-11-21 18:48:48 1803

原创 mysql定时任务,每天定时执行

1

2019-11-21 15:56:27 14483 2

原创 微信公众号开发 - 环境搭建

微信公众号开发网络交互原理图如下搭建公网服务器

2019-11-20 20:46:42 703

原创 shell脚本监控nginx的运行状态

监控脚本内容如下#!/bin/sh MONITOR_LOG=/home/gavin2/scripts/log/nginx_monitor.lognginx_monitor(){ #nginx的端口号 PORT="80" #获取nginx端口监听状态,如果nginx正常运行,PORT_FLAG值为0 PORT_STATUS=$(netstat -plnt|grep $...

2019-11-06 17:05:41 1765

原创 VMware设置Ubuntu虚拟机固定IP

设置 VMware 虚拟机网络连接方式为桥接模式设置静态IP地址首先在命令行执行ifconfig命令,看一下我们的网卡gavin2@ubuntu:~$ ifconfigens33 Link encap:Ethernet HWaddr 00:0c:29:af:8c:87 inet addr:192.168.1.137 Bcast:192.168.1....

2019-10-24 16:06:28 895

原创 超详细springboot整合dubbo

记录一次springboot整合dubbo的过程文章目录项目结构说明项目结构说明项目结构如下图所示springboot-dubbo是一个maven的多模块项目,各个模块的作用如下springboot-dubbo-service 模块为dubbo服务接口项目,之所以将接口单独创建一个项目,是因为dubbo接口既需要被dubbo服务实现类实现,也需要被消费者引用,也就是说dubbo接口项...

2019-09-25 14:11:52 1270

原创 linux安装nodejs

下载安装包cd /usr/localsudo wget https://cdn.npm.taobao.org/dist/node/v11.14.0/node-v11.14.0-linux-x64.tar.xz如果需要下载别的版本,可以从官网选择https://npm.taobao.org/mirrors/node/解压安装包tar xf node-v11.14.0-linux...

2019-09-18 14:42:59 106

原创 ubuntu安装nginx

记录一下源代码安装nginx过程下载nginx安装包cd /usr/localsudo wget http://nginx.org/download/nginx-1.10.3.tar.gz解压压缩文件sudo tar zxvf nginx-1.10.3.tar.gz修改文件夹名称sudo mv nginx-1.10.3 nginx依次执行以下命令安装所需类库...

2019-09-06 18:50:59 765 3

原创 linux安装配置JDK

访问官网下载安装所需版本https://www.oracle.com/technetwork/java/javase/archive-139210.html将下载好的文件上传至linux服务器的/usr/local目录解压压缩文件tar zxvf jdk-8u212-linux-x64.tar.gz将文件夹名称重命名为jdkmv jdk1.8.0_212 jdk配置环境...

2019-09-02 15:27:11 210

ColorPix屏幕取色软件

ColorPix是一款简洁易用的屏幕取色软件。软件可以将屏幕上的任意一点的颜色读出来,转换成RGB和Hex形式的颜色值。 适合网页设计人员,平面设计人员使用。 软件简洁易用,用即上手。

2020-12-01

MybatisGenerator.rar

mybatis逆向工程工具项目,下载后只需要修改数据库配置信息便可运行使用。

2019-06-24

空空如也

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

TA关注的人

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