- 博客(19)
- 收藏
- 关注
原创 初识EventBus
eventBus的作用解耦两段直接调用的业务逻辑。比如有两个对象A、B,假如A的值发生改变的话相应的B也需要发生改变。用EventBus(事件总线)将这两个对象进行联系。EventBus包含三个对象Event - 事件对象poster - 生产者subscriber - 消费者在这个例子中,A就可以当作生产者,B就可以当中消费者。A的改变就为一个事件,A把事件post(分发)到EventBus(事件总线),B就可以通过EventBus获取事件从而做出应答。spr...
2021-09-09 19:49:58
399
原创 @Valid注解 - 请求参数检验
@valid注解可以对controller中的方法接收的参数进行检验,如果参数不符合自己的规范会抛出异常。步骤1、添加valid依赖<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version></depe
2021-09-08 14:52:49
1092
原创 PostgreSQL基本数据类型
数值类型货币类型money 8字节 money 类型存储带有固定小数精度的货币金额,可以与numeric、int、bigint进行转化。不建议使用浮点数处理货币类型,因为可能存在精度问题。字符类型char(n),character(n)定长,不足补空白varchar(n) ,character varying(n)变长,有长度限制text 变长,无长度限制日期 / 时间布尔类型boolean 一字节 ...
2021-09-03 15:00:09
8245
原创 类加载子系统(class loader)
java文件经编译后的class文件由类加载子系统的类加载机制加载完之后得到DNA元数据模板(加载后的类),并储存在方法区一、类加载机制执行流程加载 —> 链接 —> 初始化1、加载加载过程1)通过类的全路径获取类的二进制字节流2)将这个二进制字节流静态的存储结构转化为方法区中运行时动态结构3)在内存中生成一个代表这个类的 java.lang.class 对象,作为方法区中这个类的访问路口2、链接链接分为三个部分:验证 -> 准备 ->...
2021-08-28 11:08:55
138
原创 SpringBoot的循环注入依赖
springboot的循环注入依赖:比如有两个类A,B 。在A中注入B,且在B中注入A。导致spring容器不知道该给哪个类先注入。造成异常解决方案1)在需要注入的属性前加@Lazy注解 - 懒加载(bean在使用时才加载)2)在xml文件中bean的配置添加 lazy-init="true" - 懒加载3)重构代码...
2021-08-26 16:12:22
770
原创 通过实现Callable接口获取线程的返回值
1、定义 DefaultCallable类实现Callable接口/** * 自定义线程类 继承Callable接口 - 接口内要用泛型声明返回值类型 * 获取线程运行方法的返回值 */public class DefaultCallable implements Callable<String> { @Override public String call() throws Exception { return "我是call()的返回值";
2021-08-25 20:34:42
2614
原创 删除非空文件夹
引言:在java中的文件类中,File.delete方法只能删除文件或者空文件夹,那么如何删除非空文件夹呢?以下我们采用递归实现。/** * 测试 * 递归删除文件夹 */public class FileTest { public static void deleteFile(File file){ //传入的是文件就直接删除 if (file.isFile()){ file.delete();
2021-08-25 16:09:53
738
原创 java中的IO与NIO
一、IO与NIO1、IO简介:数据的以stream(流)的方式进行传输,流为IO流。IO是面向流的分类1)按流的方向:输入流、输出流2)按流的性质:字节流、字符流3)按流的角色:节点流、处理流2、NIO简介:数据的以块的方式进行传输,数据传输受channel(通道)、buffer(缓冲区)、selecter(监控区)调度。与IO的不同是,NIO是面向缓冲区的channel:传输数据的通道buffer:数据的缓冲区selecter:监控服务端的区域调度方式
2021-08-22 20:33:03
498
原创 Comparable类接口详解
引言:在容器中经常会对容器内的对象进行排序,例如:1)ArrayList().sort();2)TreeMap(二叉树) - 添加元素自动排序如果容器内的数据类型是Integer,String那么不会有什么异常但如果容器内储存的是 “自定义的对象” 呢?那如何进行排序解决方法:1)让容器内的类实现Comparable<T>接口 - T为泛型,此处是容器类型2)根据自己制定的排序规则实现接口内的compareTo(T stu) 方法,3)该方法返回值类型是int
2021-08-22 16:06:05
287
原创 集合中各(线性)容器的初始长度与扩容
1)LinkledList初始长度:10 扩容时机:空间不足 扩容倍数:1.52)Map初始长度:16 扩容时机:空间使用达到75% 扩容倍数:默认4倍(2的初始容量次冥 - 根号16)...
2021-08-22 15:22:52
170
原创 java如何跳出多层嵌套循环
思考:一般我们用break;只能跳出一层for循环,那么想跳出多层嵌套循环需要怎么做呢?做法:java提供了“标记”这一功能,在嵌套循环最外层设置一标记,然后break 标记,就能跳出多层嵌套循环代码如下:@Test //测试设置标记跳出多层循环public void Test(){ a: //设置一个标记,break a 可以跳出循环 for (int i = 0; i < 9; i++){ for (int j = 0; j < 9;
2021-08-22 14:56:01
1374
原创 application.yml
#SpringBoot配置mysql信息spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3307/mybatisdb?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: 123456#SpringBoot整合Mybatis.
2021-06-22 19:39:38
93
原创 mapper映射文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--mybatis的映射文件,用来写大量sql--><!--namespace:mapper文件的唯一标识--><mappe...
2021-06-21 14:14:53
660
原创 各种依赖吖~
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!--要和数据库版本匹配, 数据库是5.X的版本就添加5.X的依赖 数据库是8.X的版本就添加8....
2021-06-21 14:13:59
113
原创 mybatis核心配置文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- mybatis的核心配置文件,可配置数据源、事务、映射文件 --><configuration> &...
2021-06-21 14:12:53
76
原创 ajax模板
$.ajax({//不必要的可以删去不写 type:"", //数据的请求方式 url:"", contentType:"", //请求的数据类型 data:{ //拼接的参数(请求发送的数据) }, ...
2021-06-21 14:09:43
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人