随笔分类 - 常用
摘要:synchronized关键字来保证线程安全的,被sychronized锁住的代码部分,同一时刻只能有一个线程可以访问,其他线程会block(同一个对象内,不同对象间不会影响)。由于synchronized的机制是在同一时刻只能有一个线程操作,其他的线程阻塞或者轮询等待,在线程竞争激烈的情况下,这种
阅读全文
摘要:用于指代当前对象的实例。 使用方式 1、指代成员变量 同一类中,成员变量和方法内的局部变量重名时,用来在方法中指代成员变量 public class Demo{ public String name; public int age; //成员变量 public Demo(String name, i
阅读全文
摘要:volatile关键字可以用于修饰变量。它的作用是保证并发操作时数据的可见性和顺序性。 使用场景 多线程时的可见性:如果多个线程并发地访问同一个变量,那么在一个线程中修改了变量值后,其他线程能够立刻看到变量的变化。但是使用volatile关键字不能保证线程安全,还需要使用synchronized关键
阅读全文
摘要:判断对象是否为给定类型的实例(即对象是否为给定类型),返回 boolean 的数据类型。 public static void displayObjectClass(Object o) { if (o instanceof Vector) System.out.println("对象是 java.u
阅读全文
摘要:final关键字可以用来修饰 类、方法、变量(包括成员变量和局部变量) 修饰类 表明这个类不能被继承。 final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。 修饰方法 表明该方法在子类中不能被重写。 使用final方法的原因有两
阅读全文
摘要:一、基本类型 1.1 基本类型-->String 1、.toString() 最快;存在NPE 2、String.valueOf() 次之;无NPE(底层实现中会先判断是否为null,再.toString()) 1.2 String-->基本类型 Integer.parseInt()? 二、byte
阅读全文
摘要:一、字符串判空 字符串为null 或' '时返回true。 1.1 常用方法 str == null || str.length() < 1 String提供的 str == null || str.isEmpty() String提供的 StringUtils.isEmpty(str) Strin
阅读全文
摘要:一、String类 String类是不可变类,即String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 二、StringBuffer 和 StringBuilder 类 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类
阅读全文
摘要:一、字符数组 char[] 也可以创建字符串 二、格式化字符串 // 1、format方法 String.format("Hello, %s! You have %d new messages.", "Alice", 5); %s - 字符串 %d - 十进制整数 %f - 浮点数 %x - 十六进
阅读全文
摘要:一、获取key和value 获取key:map.keySet(),获取map中所有的key,返回一个Set集合存储所有的键; 获取value:Map.values()或者map.entrySet() Map.values(),方法用来获取 Map 集合中的所有value,将值存放在一个Set集合中
阅读全文
摘要:一、实现类 ArrayList:数组,查询快 LinkedList:链表,增删快 二、常用方法 List常用方法 三、声明、初始化、赋值 List strList; int i; List strList = null; // 等同于仅声明 声明:仅声明存在,不分配内存(但是会赋默认值null/0)
阅读全文
摘要:必须 统一类名后缀 01 接口和实现类: 通常接口:名词。 CacheServiceImpl实现CacheService接口 / CacheServie实现ICache接口 形容能力的接口:形容词,通常是able。 AbstractTranslator实现Translatable接口 02 POJO
阅读全文
摘要:日志在开发中必不可少,方便记录代码执行过程、排查问题。下面是两种日志的使用 1、日志切面:通过切面记录请求参数和响应结果 2、log日志:记录正常信息(log.info),错误信息(log.error、log.warn) 1、日志切面 package com.xxx.datamanager.aop;
阅读全文
摘要:复杂值配置,可以使用配置文件,即@ConfigurationProperties;简单值推荐使用@Value。 1、配置文件编写 在配置文件admin.properties中配置参数 admin.mis[0]=zhangsan admin.mis[1]=lisi 2、配置文件读取 在config.p
阅读全文
摘要:用于类之间进行映射转换。(对象与对象之间的互相转换,就需要有一个专门用来解决转换问题的工具,毕竟每一个字段都 get/set 会很麻烦) 1、添加依赖 <!--实体映射MapStruct--> <dependency> <groupId>org.mapstruct</groupId> <artifa
阅读全文
摘要:类只实例化一次,即在服务中只有一个实例。 1、使用场景 节省内存空间,比如配置信息类; 单例模式可以用来管理一些共享资源,比如数据库连接池,线程池; 解决资源冲突问题,比如日志打印。 2、实现方式 2.1 饿汉(线程安全) 初始化时就创建实例 2.2 懒汉(线程不安全) 需要时才创建实例 2.3 注
阅读全文
摘要:书写顺序 执行顺序 SELECT count(*) FROM table_name WHERE uri='xxx' GROUP BY dt HAVING dt>'xxx' ORDER BY desc LIMIT 10 (1) FROM: 指定数据源,从中选择列和行 (2) WHERE: 筛选行,过滤
阅读全文
摘要:1、设计原则 单一功能原则:它规定一个类应该只有一个发生变化的原因,即一个类/方法只干一件事。 开闭原则:对于扩展是开放的,但是对于修改是封闭的,这意味着在不修改一个软件实体的基础上去扩展其功能。 依赖倒置原则:要底层实现尽量依赖抽象类与接口,方便系统间的解耦,有利于扩展与维护。 合成复用原则:在系
阅读全文
摘要:Postman的body的类型主要由四种类型的参数: x-www-form-urlencoded、form-data、raw、binary 一、x-www-form-urlencoded,表单类型的接口请求二、 form-data(multipart/form-data),支持上传文件的表单类型 三
阅读全文

浙公网安备 33010602011771号