配置插件不使用任何依赖 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <mainClass>cn.com.wenyl.bs.BSBootApplication</mainClass> <!-- 你的主类 --> <executable>true</executable> <layout>NONE</layout> <includes> <include.... 减少java的Jar包体积 java
一、定义 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为以下几个区域,并统称为运行时数据区 其中线程共享的区域有堆和方法区 线程不共享的区域有程序计数器、Java虚拟机栈和本地方法栈 二、程序计数器 程序计数器(Program Counter Register)是一个较小的内存空间,字节码解释器工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令 每个线程都有一个独立的程序计数器,多线程环境下程序计数器用于跟踪每个线程执行的位置 如果线程正在执行的是一个Java方法,这个计数器记录的值是正在执行的虚拟机字节码指令的地址;乳沟正在执行的是本地native方法,这个计数器则值为空 在Java虚拟机规范中,这个内存区域是没有OutOfMemoryError情况的区域 三、栈 3.1 Java虚拟机栈 Java虚拟机栈也是线程私有的,他的生命周期与线程相同; 每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(stack frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息 栈帧是JVM栈的基本单位,每当调用一个方法时,就会为该方法创建一个新的.... Java虚拟机--运行时数据区 java
一、类生命周期 1.1 加载 通过类全限定名获取它的二进制字节流 从ZIP压缩包、JAR、EAR、WAR中获取 从网络中获取,例如Web Applet 运行时计算生成,如动态代理技术 从数据库读取 从加密文件中获取 将这个字节流所代表得静态存储结构转化为方法区得运行时数据结构 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据得访问入口 1.2 链接 1.2.1 验证 验证阶段确保加载的类的信息符合JVM规范,不会对JVM造成危害。这包括对字节码的结构、常量池中的索引、数据类型等进行检查。 文件格式验证 魔数是否是CAFEBABE 主次版本是否在虚拟机支持范围内 ...... 元数据验证 这个类是否有父类(除了java.lang.Object外,其他类都有父类) 父类是否继承了不允许被继承的类 ...... 字节码验证 确保类型转化是有效的,例如把父类对象赋值给子类数据类型就是无效的 ...... 符号引用验证 符号引用中的类、字段、方法的可访问性(private\protected\public\)是否可以被当前类访问 在指定类中是否.... Java虚拟机--类加载器 java
1、JSR-303数据校验简介 JSR是Java Specification Requests的缩写,意思是Java 规范提案,JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,即,JSR 303,Bean Validation规范 ,为Bean验证定义了元数据模型和API 2、pom引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> 3、常见注解 4、定义组 在校验的时候,同一个字段在不同的业务场景下,校验规则可能会有差异需要进行不同的校验就可以通过分组实现,下述代码中,创建了两个分组,AddGroup用于处理新增数据的校验,UpdateGroup用于标识修改数据的校验 public interface AddGroup { } public interface ....... spring boot使用JSR-303做数据校验 java
1、引入pom <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>aliyun-oss-spring-boot-starter</artifactId> <version>${alioss.version}</version> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>${sdk.oss.version}</version> </dependency> <alioss.version>1.0.0</alioss.version> <sdk.oss.version>3.15.1</sdk.oss.versio..... spring boot使用阿里oss java
yml配置 mybatis-plus: globalConfig: dbConfig: logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 实体类添加注解 @TableLogic(value = "1",delval = "0") private Integer showStatus; 我们在配置文件中控制了1为删除,0为未删除,但是我们的实体中,可能部分是反过来的,在注解中可以用value和delval标识,delval标识的为删除,value标识的值标识未删除 mybatis-plus配置逻辑删除 java