Java
                        
                        未读
                    
                    springboot 使用 redisson 分布式锁
                    引入依赖 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>2.7.18</ver
                
                    
                    java应用启动脚本
                    
                
            概述 开发了很多 java 项目,最终启动的时候都要用命令行方式启动,项目逻辑千千万,但启动方式都大同小异,参考了一些开源项目(比如 Nacos)的启动脚本,下面整理了一些我目前正在用的 java 应用启动脚本,也支持 jar 加密成 xjar 后的启动,大家可以参考下面的脚本,改造成适合自己的方式
                
                        
                        
                            运维
                        
                        未读
                    
                    springboot应用使用shell脚本打包成部署压缩包(支持xjar)
                    项目目录结构 如果没有用 xjar,那就没有 xjar.go、app.xjar app-project
  |-deploy/
    |-build.sh
    |-app-server.sh
  |-src/
  |-target/
    |-app.jar
    |-app.xjar
 
                
                        
                        
                            Java
                        
                        未读
                    
                    java调k8s接口创建资源的详细配置过程
                    依赖引入 本文例子基于 k8s 1.29.5 版本 java 调 k8s 的接口,需要用到 k8s 官方提供的依赖 <dependency>
    <groupId>io.kubernetes</groupId>
    <artifactId>client-java</artifactId>
 
                
                        
                        
                            Java
                        
                        未读
                    
                    javalin实现类似Springboot批量扫描controller注册action的效果
                    背景 javalin 太轻量,没有像 springboot 那样的 controller 扫描机制,要注册一个路由,需要手动调用方法来添加,如下 app.get("/output", ctx -> {
    // some code
    ctx.json(object);
});
app.p
                
                        
                        
                            Java
                        
                        未读
                    
                    maven不常用但很有用的命令
                    强制重新下载依赖 mvn dependency:purge-local-repository
 单独编译某个模块 mvn package -pl 模块 -am
 -pl 指定模块 -am 同时编译依赖的模块
                
                        
                        
                            Java
                        
                        未读
                    
                    maven批量修改版本号
                    引入插件 在父级 pom 的 build 中添加插件         <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>ver
                
                        
                        
                            Java
                        
                        未读
                    
                    Java线上调试常用工具
                    jps 列出java进程 jinfo 查看java进程的基本信息 jinfo pid top -Hp top -Hp pid:查看进程的线程信息,cpu、内存等 jstat 查看java进程的信息 -gc pid :查看gc信息 -gc pid 50 : 查看gc信息,50毫秒动态刷新一次 jsta
                
                        
                        
                            Java
                        
                        未读
                    
                    hutool封装国密sm2、sm3、sm4工具类
                    背景 平时我们的业务偶尔需要对前后端传输的参数进行加密,某些情况下(比如交付给国企单位的项目)要求一定要用国密算法来加密,这里整理了 sm2、sm3、sm4 的加解密方法封装,内部是基于 hutool 的工具再次封装,其实 hutool 内部是基于 bouncycastle 库进行封装的 引入第三方
                