CAP理论的理解
摘要:CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性(Consistency) 可用性(Availability) 分区容错性(Partition tolerance) 最多满足其中的两个特性。也就是下图所描述的。分布式系统要么满足CA,要么CP,要么AP。无法同时
阅读全文
posted @
2020-08-28 17:24
Code2020
阅读(238)
推荐(0) 编辑
运行时异常和非运行时异常
摘要:1. 【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBoundsException等等。 说明:无法通过预检查的异常除外,比如,在解析字符串形式的数字时
阅读全文
posted @
2020-08-27 21:36
Code2020
阅读(812)
推荐(0) 编辑
MyBatis中的JdbcType映射介绍
摘要:Java项目涉及到数据库交互,以往常用的是JDBC,现在则有Hibernate、Mybatis等这些持久化支持。 项目中用到了MyBatis,和JDBC最显著的区别,就是SQL语句配置化,通过xml文件定义SQL语句,当然JDBC也可以将SQL配置化,需要定制开发,MyBatis则直接支持这种方法。
阅读全文
posted @
2020-08-26 16:32
Code2020
阅读(540)
推荐(0) 编辑
Json详解以及fastjson使用教程
摘要:Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。在使用Java做Web开发时,不可避免的会遇到Json的使用。下面我们就简单讲一下Json的使用以及fastjson.jar包的使用。 一:JSON形式与语法
阅读全文
posted @
2020-08-23 20:06
Code2020
阅读(1254)
推荐(1) 编辑
mybatis 详细学习记录
摘要:MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 目前mybatis在github
阅读全文
posted @
2020-08-23 17:29
Code2020
阅读(143)
推荐(0) 编辑
网关概念、Zuul项目搭建
摘要:SpringCloud(7) 网关概念、Zuul项目搭建 项目代码GitHub地址:https://github.com/yudiandemingzi/spring-cloud-study 一、网关概念 1、什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能
阅读全文
posted @
2020-08-23 15:49
Code2020
阅读(200)
推荐(0) 编辑
【Maven jar】打包单个或多个文件,有依赖jar包的将包一起打包成一个jar包供别的项目引用
摘要:本次本篇使用的工具是Maven中的 maven-assembly-plugin 插件。 1.首先,需要新建一个maven项目,将单个或多个java文件拷贝到本项目中 例如,下面这个QR_Code.java文件 package com.sxd.util; import java.awt.Color;
阅读全文
posted @
2020-08-21 16:20
Code2020
阅读(3536)
推荐(0) 编辑
Java中HashMap的entrySet()方法: HashMap.entrySet()
摘要:Java中的java.util.HashMap.entrySet() 方法用于创建哈希映射HashMap中包含的相同元素的集合。它基本上返回哈希映射的set视图,或者我们可以创建一个新的set并将map元素存储到它们中。 句法: hash_map.entrySet() 参数:该方法不带任何参数。 返
阅读全文
posted @
2020-08-21 11:33
Code2020
阅读(1200)
推荐(0) 编辑
Map对象中的keyset()、entryset()和Map.Entry
摘要:一 Map对象中的keySet()和entrySet() 1. keySet() public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("01
阅读全文
posted @
2020-08-21 11:22
Code2020
阅读(209)
推荐(1) 编辑
MySQL DATE_FORMAT() 函数
摘要:定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 语法 DATE_FORMAT(date,format) date 参数是合法的日期。format 规定日期/时间的输出格式。 用法: select DATE_FORMAT(now(), '%Y-%m-%d %H:%i:
阅读全文
posted @
2020-08-21 10:11
Code2020
阅读(105)
推荐(0) 编辑
分布式锁的几种实现方式 ---奥里给
摘要:分布式锁的几种实现方式 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition toleranc
阅读全文
posted @
2020-08-20 23:11
Code2020
阅读(128)
推荐(0) 编辑
Java线程池中submit() 和 execute()方法的区别
摘要:两个方法都可以向线程池提交任务, execute()方法的返回类型是void,它定义在Executor接口中, 而submit()方法可以返回持有计算结果的Future对象,它定义在ExecutorService接口中,它扩展了Executor接口,其它线程池类像ThreadPoolExecutor
阅读全文
posted @
2020-08-20 21:26
Code2020
阅读(365)
推荐(0) 编辑
BeanUtils.copyProperties使用
摘要:BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。 注意:属性复制,不同jar中的方
阅读全文
posted @
2020-08-20 17:10
Code2020
阅读(111)
推荐(0) 编辑
Java关键字(一)——instanceof
摘要:目录 1、obj 必须为引用类型,不能是基本类型 2、obj 为 null 3、obj 为 class 类的实例对象 4、obj 为 class 接口的实现类 5、obj 为 class 类的直接或间接子类 6、问题 7、深究原理 8、instanceof 的实现策略 instanceof 严格来说
阅读全文
posted @
2020-08-19 17:03
Code2020
阅读(93)
推荐(0) 编辑
java中四种线程池及poolSize、corePoolSize、maximumPoolSize
摘要:Executors提供四种线程池: newCachedThreadPool :缓存线程池,如果线程池长度超过处理需要,可回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool : 定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThread
阅读全文
posted @
2020-08-18 14:57
Code2020
阅读(772)
推荐(1) 编辑
mysql设置唯一约束引起的DuplicateKeyException的解决方案(保证提供服务的幂等性)
摘要:DuplicateKeyException: 主键冲突异常 catch (DuplicateKeyException e) { logger.info("重复请求。feeDetail={}", feeDetail.toString()); } 最近项目中遇到一个问题,我们提供的一个对外的服务接口在数
阅读全文
posted @
2020-08-18 11:16
Code2020
阅读(3029)
推荐(0) 编辑
Mybatis执行sql(insert、update、delete)返回值问题
摘要:数据库:Mysql 在使用mybatis的过程中对执行sql的返回值产生疑问,顺手记录一下。 结论: insert: 插入n条记录,返回影响行数n。(n>=1,n为0时实际为插入失败) update:更新n条记录,返回影响行数n。(n>=0) delete: 删除n条记录,返回影响行数n。(n>=0
阅读全文
posted @
2020-08-17 21:17
Code2020
阅读(526)
推荐(0) 编辑
<![CDATA[]]>和转义字符
摘要:被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。 此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将
阅读全文
posted @
2020-08-17 20:56
Code2020
阅读(131)
推荐(0) 编辑
mysql用 法like concat()
摘要:对于mysql 的 like 而言,一般都要用 like concat() 组合,可以防止sql注入 所以用未注释掉的呢种方式会比较好,不推荐直接用like的方式 。 like concat('%/',#{datePath,jdbcType=VARCHAR},'/%') concat函数: 第一个参
阅读全文
posted @
2020-08-17 11:40
Code2020
阅读(9988)
推荐(0) 编辑
redis系列之数据库与缓存数据一致性解决方案
摘要:场景一 一般来说,只要你用到了缓存,不管是Redis还是memcache,就可能会涉及到数据库缓存与数据的一致性问题,这里我们以Redis为例。 我们该如何保证Redis与数据库的一致性呢? So easy: 更新的时候,先更新数据库,然后再删除缓存。 读的时候,先读缓存;如果没有的话,就读数据库,
阅读全文
posted @
2020-08-14 14:25
Code2020
阅读(734)
推荐(0) 编辑
索引失效的7种情况
摘要:索引失效的7种情况 简述 什么时候没用 1.有or必全有索引;2.复合索引未用左列字段;3.like以%开头;4.需要类型转换;5.where中索引列有运算;6.where中索引列使用了函数;7.如果mysql觉得全表扫描更快时(数据少); 什么时没必要用 1.唯一性差;2.频繁更新的字段不用(更新
阅读全文
posted @
2020-08-09 21:57
Code2020
阅读(2402)
推荐(0) 编辑
TIME_WAIT
摘要:由于TCP协议整个机制也非常复杂我只能尽可能的在某一条线上来说,不可能面面俱到,如果有疏漏或者对于内容有异议可以留言。谢谢大家。 查看服务器上各个状态的统计数量: netstat -ant | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]
阅读全文
posted @
2020-08-01 16:26
Code2020
阅读(205)
推荐(0) 编辑