java
潇凝子潇
世界上有两种【没有bug】的代码。 一种是 【没有明显bug的代码】,另一种是【明显没有bug的代码】。
展开
-
Class tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid
成员变量,但是在实际的Javac库中并没有找到这个成员变量。这可能是由于Javac库的版本与Lombok插件的版本不兼容导致的。项目当中的JDK 不知道何时变成JDK21了,引起了此异常,此时再切换JDK8 既可以解决。这个问题是由于在编译过程中,lombok插件试图访问。切换成JDK 8 问题即可解决。原创 2024-06-27 23:45:00 · 495 阅读 · 0 评论 -
SQL Studio
下载时需要先注册登录,这点比较…原创 2023-04-20 19:01:58 · 275 阅读 · 0 评论 -
springboot 集成 kaptcha 验证码
【代码】springboot 集成 kaptcha 验证码。原创 2023-04-19 20:58:44 · 269 阅读 · 0 评论 -
基于 异步Async + ThreadPoolTaskExecutor 实现自定义线程池
/线程池创建的核心线程数,线程池维护线程的最少数量,即使没有任务需要执行,也会一直存活 //如果设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭 executor . setCorePoolSize(16);//阻塞队列 当核心线程数达到最大时,新任务会放在队列中排队等待执行 executor . setQueueCapacity(1024);//最大线程池数量,当线程数>=corePoolSize,且任务队列已满时。原创 2023-04-19 18:53:28 · 208 阅读 · 0 评论 -
java 应用数据脱敏- desensitization
https://github.com/Allurx/desensitizationhttps://github.com/Allurx/desensitization-spring-boot原创 2023-04-16 21:22:01 · 205 阅读 · 0 评论 -
feign远程调用get请求接口 报“Request method ‘POST‘ not supported“ 异常
feign远程调用get请求接口 报"Request method 'POST' not supported" 异常原创 2022-12-06 20:50:55 · 3535 阅读 · 0 评论 -
Java基于secp256k1生成公私钥对
【代码】Java基于secp256k1生成公私钥对。原创 2022-11-27 20:32:22 · 1048 阅读 · 0 评论 -
SpringBoot利用ThreadPoolTaskExecutor 线程池实现批量插入数据实例
【代码】SpringBoot利用ThreadPoolTaskExecutor 线程池实现批量插入数据实例。原创 2022-11-25 20:16:31 · 166 阅读 · 0 评论 -
基于Java 实现区块链工作量证明机制
【代码】基于Java 实现工作量证明机制。原创 2022-11-19 22:01:28 · 119 阅读 · 0 评论 -
基于Java 语言实现区块链的 Proof of Concept 版本
基于Java 语言实现区块链的 Proof of Concept 版本原创 2022-11-19 18:17:51 · 702 阅读 · 0 评论 -
Java实现5种负载均衡算法
【代码】Java实现5种负载均衡算法。原创 2022-11-16 12:26:26 · 2831 阅读 · 3 评论 -
JAVA 基于事件和监听实现业务解耦
【代码】JAVA 基于事件和监听实现业务解耦。原创 2022-11-07 13:53:15 · 378 阅读 · 0 评论 -
解决log4jWARN No appenders could be found for logger (druid.sql.Connection) 警告的问题
在resource目录下创建log4j.properties文件,并加入一下内容。这个问题可以解决也可以不解决,因为不影响程序的使用,只是个告警,看着不太好看而已。在程序启动的时候,加入jvm参数。这里以springboot为例。...原创 2022-07-24 09:19:28 · 3487 阅读 · 0 评论 -
统一处理返回结果
统一处理返回结果1. 自定义返回结果注解/** * 该方法只可以用到类和方法上 * @Author: * @CreateTime: 2022-3-31 10:42 * @Description: 统一处理返回结果注解 */@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE, ElementType.METHOD})public @interface ResponseResult {}原创 2022-03-31 16:15:04 · 178 阅读 · 0 评论 -
基于hutool 封装国密sm2,sm4 加解密算法
基于hutool 封装国密sm2,sm4 加解密算法1. 加入依赖包 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.22</version> </dependency> <!-- 国密sm4的时候需要加入此依赖-->原创 2022-03-22 18:20:00 · 3967 阅读 · 0 评论 -
开启宝蓝德中间件的 开发者模式和热部署模式
开启宝蓝德中间件的 开发者模式和热部署模式1. 节点的配置文件这里拿 133 示例:root@node133:/data/BES952/Node/1xxx.xxx.xxx.133/instances/ins133# ls -l总用量 52drwxr-xr-x 3 root root 4096 6月 17 17:59 bindrwxr-xr-x 3 root root 4096 11月 20 10:23 conf # 配置文件drwxr-xr-x 3 root root 4096 6月原创 2021-12-02 17:22:39 · 2690 阅读 · 0 评论 -
sentinel 流控规则持久化
sentinel 流控规则持久化1. 在项目 pom.xml 文件中加入 sentinel-datasource-nacos 依赖<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasource-nacos</artifactId></dependency>sentinel-datasource-nacos 是 Se原创 2021-10-10 18:28:00 · 588 阅读 · 0 评论 -
jstat 命令的用法
jstat 命令的用法1. 查看某个进程的gcroot@node131:~# netstat -tlnup | grep 8088tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 32051/java root@node131:~# jstat -gc 32051 S0C S1C S0U S1U EC EU OC原创 2021-09-25 16:43:20 · 926 阅读 · 0 评论 -
利用jamp和jhat查看系统对象分配情况
利用jamp和jhat查看系统对象分配情况1. jamproot@node131:~/bes_seeyon_logs# jmap -heap 32051Attaching to process ID 32051, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.71-b00using thread-local object allocation.Garbage-F原创 2021-09-24 18:24:06 · 672 阅读 · 0 评论 -
zookeeper 集群搭建
zookeeper 集群搭建vi ~/.bashrcexport ZOOKEEPER_HOME=/data/zookeeper-3.4.14export PATH=$ZOOKEEPER_HOME/binsource ~/.bashrcroot@node148:/data/zookeeper-3.4.14/conf# cp zoo_sample.cfg zoo.cfg root@node148:/data/zookeeper-3.4.14/conf# vim zoo.cfg 修改:dataD原创 2021-08-10 09:29:13 · 276 阅读 · 0 评论 -
Zipkin 服务端部署
Zipkin 服务端部署Zipkin 服务端部署非常简单,可以通过官网快速上手。https://zipkin.io/pages/quickstart.html1. 下载 Zipkin 最新 Jar 包user@user-PC:/data$ curl -sSL https://zipkin.io/quickstart.sh | bash -sThank you for trying Zipkin!This installer is provided as a quick-start helper,原创 2021-08-08 15:02:31 · 572 阅读 · 0 评论 -
nacos 集群部署
nacos 集群部署1. 要求需要 Nacos 节点对外暴露 8848 与 7848 端口。其中 8848 端口的作用是对外暴露 API 与集群间数据同步,而 7848 端口则用于节点选举来确定集群领袖(Leader)。同时 Nacos 在集群环境下需要持久化应用配置、用户权限、历史信息等内置数据,因此需要额外部署 MySQL 数据库提供统一存储。2.环境准备。Nacos 因为采用raft选举算法,由于它的特殊性,要求最少三个节点才能组成一个有效的集群。3. 配置数据库在MySQL下nacos原创 2021-08-07 20:51:33 · 2040 阅读 · 0 评论 -
nacos 单机部署
Nacos 单机部署1. 简介Nacos 官方地址为https://nacos.io/zh-cn/index.html。由阿里开源,官方定义为:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 具备以下职能:服务发现及管理;动态配置服务;动态 DNS 服务。2. 环境要求Nacos 采用 Java 进行开发,要求 JDK8+3. 下载并安装下载地址:https://github.com/alibaba/nacos/releases/# 1.下载user@u原创 2021-08-07 16:54:32 · 823 阅读 · 0 评论 -
java Agent
java Agent1. 介绍Java Agent 是从 JDK1.5 开始引入的,算是一个比较老的技术了。Java Agent 其实就是 java 命令的一个参数(即 -javaagent)-javaagent 参数之后需要指定一个 jar 包,这个 jar 包需要同时满足下面两个条件:在 META-INF 目录下的 MANIFEST.MF 文件中必须指定 premain-class 配置项。premain-class 配置项指定的类必须提供了 premain() 方法。public stat转载 2021-08-07 15:48:15 · 282 阅读 · 0 评论 -
java 加解密工具类
import com.seeyon.ctp.util.UUIDLong;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import java.securi...原创 2021-03-04 18:06:07 · 342 阅读 · 1 评论 -
java 8 ForkJoin 框架使用示例
import java.time.Duration;import java.time.Instant;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.ForkJoinTask;import java.util.concurrent.RecursiveTask;/** * @Author: * @CreateTime: 2020/12/20 22:53 * @Description: */publ转载 2020-12-20 23:29:06 · 279 阅读 · 0 评论 -
java实现简单的LUR算法
public class LRUCache<k,v> extends LinkedHashMap<k,v> { private final int CACHE_SIZE; public LRUCache(int cacheSize){ super((int)Math.ceil(cacheSize/0.75)+1,0.75f,true);...转载 2019-11-16 21:33:05 · 784 阅读 · 0 评论 -
自定义注解获取当前登录人信息
import java.lang.annotation.*;/** * * 获取当前登录人信息 * 该注解可用于 类 ,方法,参数上 * @author * @since 2020-06-18 */@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE, ElementType.METHOD,ElementType.PARAMETER})public @interface TaiJi...原创 2020-10-28 15:26:45 · 884 阅读 · 3 评论 -
Spring Boot 开源项目
SmartAdmin :项目地址:https://gitee.com/lab1024/smart-adminlitemall:项目地址:https://gitee.com/linlinjava/litemallTimo:项目地址:https://gitee.com/aun/Timomall4j:项目地址:https://gitee.com/gz-yami/mall4jweb-flash:项目地址:https://gitee.com/enilu/web-flashSPT原创 2020-09-22 14:02:13 · 168 阅读 · 0 评论 -
mybatis-plus generator code
1. 引入jar <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>com....原创 2020-08-30 16:39:01 · 384 阅读 · 0 评论 -
springboot 集成MinIo 文件服务器
springboot 集成 MinIo 文件服务器1.添加依赖dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>7.1.0</version></dependency>2. 集成springboot 并提供工具类package cn.com.taiji.util;impo原创 2020-08-19 13:59:51 · 3096 阅读 · 0 评论 -
os::commit_memory(0x0000000538000000, 11408506880, 0) failed; error=‘Cannot allocate memory‘
# An error report file with more information is saved as:# /cbb/mhpt/hs_err_pid10525.logJava HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=64m; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: ignoring option Max...原创 2020-07-10 10:24:15 · 2434 阅读 · 2 评论 -
mysql 锁表
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction at sun.reflect.GeneratedConstructorAccessor86.newInstance(Unknown Source) a...原创 2020-05-06 10:51:57 · 327 阅读 · 0 评论 -
springboot 启动流程
springboot 启动源码解析注: 以下源码是基于: 2.2.6.RELEASE 版本做的摘录分析<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starters</artifactId> <ve...原创 2020-04-30 16:19:40 · 249 阅读 · 0 评论 -
ThreadLocal 源码解析
ThreadLocal.ThreadLocalMap threadLocals = null;/** * 设置当前线程对应的ThreadLocal的值 */public void set(T value) { // 获取当前的线程对象 Thread t = Thread.currentThread(); // 获取此线程对象中维护的Th...转载 2020-04-25 15:21:42 · 203 阅读 · 0 评论 -
统一枚举,对外提供一劳永逸的访问接口
【代码】统一枚举,对外提供一劳永逸的访问接口。原创 2020-04-17 22:12:10 · 933 阅读 · 1 评论 -
实现最简单的递归调用,模拟 Exception in thread "main" java.lang.StackOverflowError 异常
package com.collmall.code;public class CacheExample { public static void main(String[]args){ main(null); }}原创 2020-04-16 23:18:45 · 251 阅读 · 0 评论 -
DAO模式
DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了 抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访 问操作。在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在 一个公共 API 中。用程序设计语言来说,就是建立一个接口,接口中定义了此应 用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则...原创 2020-04-16 23:15:55 · 185 阅读 · 0 评论 -
JAVA/PHP灰度发布脚本
JAVA灰度发布脚本JAVA灰度发布脚本#!/bin/bash # 设置时间变量CTIME=$(date "+%Y-%m-%d-%H-%M")# 项目名称,建议和gitlab仓库名称一致project=# 本地代码目录(gitlab拉取代码后存放目录)CODE_DIR=/data/gitlab/"$project"# 临时代码目录,用来修改配置文件和编译打包代码TMP...原创 2020-04-16 10:20:48 · 292 阅读 · 0 评论 -
自定义延迟队列
/** * 自定义延迟队列 * @author xulihui * @date 2020/4/12 19:07 */public class CustomDelayQueue { // 延迟消息队列 private static DelayQueue delayQueue = new DelayQueue(); // 生产者 public sta...原创 2020-04-12 19:35:58 · 286 阅读 · 0 评论
分享