- 博客(11)
- 收藏
- 关注
原创 2021-09-12
ConcurrentHashMap 采用CAS和synchronized保证线程安全。 synchronized只锁定当前链表或红黑二叉树首节点,支持并发访问,修改。 put key和value都不能为null,否则会抛出nullPointerException。 HashMap的key和value都可以为null。 map.get(key)==null有两种可能。 1,该key在Map中不存在。 2,Key在Map中存在,但是value为null。 通过map.contains(key)==true判断是
2022-04-17 13:07:09
508
原创 FastJson
参考文章 Pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.43</version> </dependency> 说明 Bean的属性是私有的,一定要有set,get方法,否则序列化失败。 常用方法 字符串-》JSONObject: JSONOb
2020-10-29 22:53:22
789
原创 MapStruct
参考文章 pom依赖: <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.3.1.Final</version> </dependency> <dependency> <groupId>org.mapstruct</group
2020-10-29 22:04:39
2675
原创 Mybatis-select
Select: 属性: resultType: 类的完全限定名或者别名。如果是集合,应该设置为集合包含的类型而不是集合本身。 内置类型别名。如map。 <select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id} </select> 返回一个 HashMap 类型的对象,其中的键是列名,值便是结果行中的对应值。 resultT
2020-10-29 09:06:57
322
1
原创 Mybatis-关联和集合
关联: <association property="author" column="blog_author_id" javaType="Author"> <id property="id" column="author_id"/> <result property="username" column="author_username"/> </association> 处理一对一关系。 association标签属性: property :
2020-10-27 22:41:00
498
原创 分布式
CAP原则: C一致性: Consistency 一致性。数据在多个副本之间是否能够保持一致的特性。即在分布式系统中,向某个服务中写入了输入,保证所有服务针对该数据保持一致,从任意一个服务获取该数据都是一致的,宏观上看保持一致。 A-可用性: Availability 可用性。分布式系统提供的服务必须一直处于可用状态。对每一个操作的请求必须在有限时间内返回非错误结果。如手机支付,提示“支付失败”,就是没有保证可用性。 P-分区容错性: Tolerance of network Partition 分区容错性
2020-10-27 00:09:29
205
原创 参数校验
参数校验: 单个参数校验: @RestController @Validated public class PingController { @GetMapping("/getUser") public String getUserStr(@NotNull(message = "name 不能为空") String name, @Max(value = 99, message = "不能大于99岁") Integer age) {
2020-10-25 20:29:46
1973
原创 SpringBoot单元测试
pom依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency&
2020-10-25 11:36:58
679
原创 JAVA基础-异常捕获
异常捕获: try: 可能产生异常的代码。try代码块某条语句产生异常,跳到catch语句块,try中未执行完的语句直接跳过。 catch: 发生异常并且被捕获,才执行catch中代码块。没有产生异常或异常不匹配导致捕获失败,跳过相关catch代码快。 异常捕获失败,没有catch语句块捕获成功,执行完finally语句块,异常继续向上抛出。 try代码块可能会引发多种类型的异常,引发异常时,按顺序来查看每个 catch 代码块,执行第一个与异常类型匹配的catch块,其后catch块将忽略。 异常捕获原则
2020-10-24 18:00:40
2977
原创 Lombok
项目链接 Lombok: 简介: 通过注解,在编译阶段生成相关方法和类。 依赖: <!-- Lombok依赖,不属于springboot,cloud家族,版本号自行指定 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope>
2020-10-21 00:16:06
378
原创 AOP
项目链接 AOP: AOP介绍: 什么是AOP: Aspect Oriented Programming面向切面编程。OOP中遇到的一些问题。是OOP的延续和扩展 在程序运行期间。 优势: 将某段代码动态的切入到指定方法的指定位置进行运行的这种编程方式,面向切面编程。AOP可以进行权限校验,日志记录,性能监控,事务控制。 Spring的AOP: AOP思想最早是由AOP联盟组织提出的。Spring是使用这种思想最好的框架。 Spring两套AOP开发方式: Spring传统开发方式(弃用)。 Spring基
2020-10-18 15:54:50
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅