随笔分类 - 后端
摘要:安装 pip install django 构建项目 django-admin startproject bysms 说明 manage.py 是一个工具脚本,用作项目管理的。以后我们会使用它执行管理操作。 里面的 bysms/ 目录是python包。 里面包含项目的重要配置文件。这个目录名字不能随
阅读全文
摘要:案例1 @RestController public class UserInfoHandler { /** * 编程式校验 * @param userInfo * @return */ @GetMapping("/addUser") public String addUser(UserInfo u
阅读全文
摘要:快速失败 public class ValidationUtil { // 线程安全 private static Validator failFastValidator; static { validator = Validation.buildDefaultValidatorFactory().
阅读全文
摘要:分组校验 # 实体类 # 所有的属性都是默认分组 public class UserInfo { // 标记接口,新增组 public interface Add{ } public interface Update{ } // 默认的组 : javax.validation.groups.Defa
阅读全文
摘要:beanvalidation官网 -> 是规范,api,接口 hibernate-validator官网 -> 是beanvalidation的最佳实现 java EE规范 不相关的很多java package组成了javaee规范;api(没有实现),具体是由不同的厂商来实现这些规范的 # jav
阅读全文
摘要:案例1 import org.junit.Test; import org.springframework.util.ClassUtils; public class ClassUtilsTest { /** * 判断当前应用是否加载了com.roadjava.Zhao这样一个类 * 应用场景: *
阅读全文
摘要:引入依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>29.0-jre</version> </dependency> 代码案例 import com.google.
阅读全文
摘要:引入依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> 案例1 import org.apache.commons
阅读全文
摘要:引入依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> 案例1 import
阅读全文
摘要:引入依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency> 案例1 import org.apa
阅读全文
摘要:批量转换 # 编写convert import org.mapstruct.factory.Mappers; import java.util.List; @Mapper public abstract class CarConvert { public static CarConvert INST
阅读全文
摘要:官网 不同的convert解决方案 名字 描述 mapstruct 基于jsr269实现在编译期间生成代码,性能高,精细控制,解耦 orika 能够精细控制,解耦 org.springframework.beans.BeanUtils体系 简单易用,不能对属性进行定制处理 自己编写conver,需写
阅读全文
摘要:Data @Data // 相当于 @getter @setter @ToString @EqualsAndHashCode,但需要所有属性的值相同才是同一个对象 @EqualsAndHashCode(of = {"id"}) public class UserInfoData { private
阅读全文
摘要:作用 简化pojo类的书写(getter、setter、tostring、equals、hascode.....) pojo: plain old/ordinary java object 简单的java对象,不包含业务逻辑、能够控制自己内部n个属性访问的java对象 pojo与javabeans
阅读全文
摘要:传统项目与互联网项目的区别 传统项目所遇到的jvm问题 # 当单个接口响应特别慢时 先考虑是否有sql慢查询,定位慢查询的⽅法⼀般是⽤explain查看sql的执⾏计划 FullGC与MinorGC的区别 Minor GC触发条件:当Eden区满时,触发Minor GC FullGC触发条件 1、调
阅读全文
摘要:简介 VisualVM是⼀个集成命令⾏JDK⼯具和轻量级分析功能的可视化⼯具 idea安装插件 File-> Setting-> Plugins -> Browers Repositrories 搜索VisualVM Launcher -> 安装并重启IDEA 点击配置VisualVM execut
阅读全文
摘要:简介 JConsole (Java Monitoring and Management Console)是⼀种基于 JMX 的可视化监视、管理⼯具, 它管理部分的功能是针对 JMXMBean 进⾏管理,由于 MBean 可以使⽤代码、中间件服务器的管理控制台或者所有符合 JMX 规范的软件进⾏访问
阅读全文
摘要:简介 Jstack (Stack Trace for Java)命令⽤于⽣成虚拟机当前时刻的线程快照(-般称为threaddump 或者 javacore ⽂件) 线程快照就是当前虚拟机内每⼀条线程正在执⾏的⽅法堆栈的集合,⽣成线程快照的主要⽬的是定位线程出现⻓时间停顿的原因, 如线程间死锁、死循环
阅读全文
摘要:简介 Sun JDK 提供 jhat (JVM Heap Analysis Tool)命令常与 jmap 搭配使⽤,来分析 jmap ⽣成的堆 转储快照。 jhat内置了⼀个微型的HTTP/HTML服务器,⽣成dump⽂件的分析结果后,可以在浏览器中查看 特点 jhat分析⼯作是⼀个耗时⽽且消耗硬件
阅读全文