文章 47
评论 19
浏览 59437
springboot2.1.x使用redis记录

springboot2.1.x使用redis记录

使用redis经验,记录一下,区别于老版本的redis配置。 首先是redis的配置文件 此处的配置区别于2.x版本以下的配置。 import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.macrame.framework.peony.utility.DateUtility;....

使用docker部署maven多模块项目

使用docker部署maven多模块项目

docker 部署项目,真香! 再也不用配置什么垃圾环境了,直接拉镜像文件,任何地方都可以部署!

flutter中使用RSA进行公钥加密

flutter中使用RSA进行公钥加密

新公司使用flutter进行密码加密, 特写文章记录一下方便以后使用 准备工作 首先要知道, RSA为非对称加密, 此处记录的是前端使用公钥加密, 后端使用私钥解密, 此处的公钥是网络静态文件. 举个栗子: - 公钥地址: https://keppel.fun/publicKey.pem - 公钥内容: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAJz2dB47fquw+Y6WVLcpJojMw z9Qy2rs0FVdSE4fffDIoryxvLvmUe4ZKQlLHRZgcFESVvo4TaLcAcuni60gNCEem y1w+P93GKcjEFyt705PibOSQFYcN07vC77brJ6SbP9hd8g8RslSK7CZ9VQ9uQHge q8MN5q84Q4rwOZZSCQIDAQAB -----END PUBLIC KEY----- 以上是公钥的内容, 不是单纯的秘钥, 而是包含了一个头和一个尾,中间才是正文, 但是解析的时候会自动跳过去头尾! show me your cod....

java中生成分布式自增长ID

java中生成分布式自增长ID

在github上看见的一个项目中使用的分布式自增长ID,忘记是哪个项目了,记录一下 package com.sc.common.utils; import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.net.NetworkInterface; /** * <p>名称:IdWorker.java</p> * <p>描述:分布式自增长ID</p> * <pre> * Twitter的 Snowflake JAVA实现方案 * </pre> * 核心代码为其IdWorker这个类实现,其原理结构如下,我分别用一个0表示一位,用—分割开部分的作用: * 1||0---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000 * 在上面的字符串中,第一位为未使用(实际上也可作为long的符号位),接下来的....

java中使用ReentrantReadWriteLock锁机制来控制多个线程对共享资源的互斥访问

java中使用ReentrantReadWriteLock锁机制来控制多个线程对共享资源的互斥访问

Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。 1. synchronized synchronized是一个修饰关键词, 可以同步一个代码块, 一个类, 一个方法(含静态方法), 细粒度很不错, 使用方法是: 直接在作用域关键词后面添加synchronized就可以了 // 静态方法 public synchronized static void fun() { // bla.. bla.. } // 类 public void func() { synchronized (Demo.class) { // ...blabla } } 2. ReenTrantLock 重点说一下这种方法, ReenTrantLock是JUC(java util concurrent)包下的锁,它衍生出的有ReentrantReadWriteLock 这种机制很简单, 打个比方说现在有个List集合里面存着一批id, 有点类似工厂模式, 有生产id和消费id的方法, 算了,....

微信小程序支付, 统一下单, 支付回调, 踩坑记录

微信小程序支付, 统一下单, 支付回调, 踩坑记录

公司最近开发小程序,涉及到支付功能. 现在支付功能已经做完,特此记录一下自己踩坑经验: 众所周知,微信小程序目前只能使用微信支付, 而且微信小程序支付相对于app支付,h5支付都要简单一些,但是该支付文档对java这语言是非常不友好的,居然没有demo, 网上虽说有很多博客,但是找了好多都是跑不通, 乱七八糟的很多都跑不通, 以下 代码不是自己写的,大多都是这儿抄一点哪儿抄一顿,但是能跑通,亲测没毛病,如果有毛病可以留言交流.废话不多说,先说准备工作!

ubuntu之安装Gradle

ubuntu之安装Gradle

1. 官网下载安装包 因为版本高有些不兼容, 这里选用的是v.4.10.3 2. 将文件上传到服务器并解压 mkdir /opt/grdle unzip gradle-4.10.3-bin.zip 3. 配置文件 vim /etc/profile export GRADLE_HOME=/opt/gradle/gradle-4.10.3 export PATH=$GRADLE_HOME/bin:$PATH # 使配置生效 source /etc/profile # 检查是否安装成功 gradle -v

ubuntu安装supervisor并配置

ubuntu安装supervisor并配置

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

ubuntu安装jdk

ubuntu安装jdk

记录一下ubuntu安装jdk8 1. 添加源: sudo add-apt-repository ppa:webupd8team/java 2. 更新系统 sudo apt-get update 3. 安装jdk sudo apt-get install oracle-java8-installer 注意一下, 安装目录是: /usr/lib/jvm/java-8-openjdk-amd64 4. 检查一下是否完成 java -version 5. 配置环境变量 vim /etc/profile 添加以下内容: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib   export PATH=${JAVA_HOME}/bin:$PATH 最后使用 source /etc/profi....

java获取客户端真实ip(通过反向代理nginx), 获取的不是服务器的ip

java获取客户端真实ip(通过反向代理nginx), 获取的不是服务器的ip

最近做客户统计, 涉及到统计用户所在地, 网上很多例子获取用户的真实ip,但是我们的服务器使用的是nginx做的反向代理, 如此使用网上的办法就一直获取的是服务器的ip, 经过一番测试和配置终于拿到了客户端的真实ip.

哈哈哈哈哈哈哈嗝~