Java
文章平均质量分 69
瓶帆
这个作者很懒,什么都没留下…
展开
-
@Controller与@RestController的区别
1.@Controller 直接定义方法返回值为String@RequestMapping("/testIndex")public String testIndex() { return "index";}2.@RestController //需要配合视图解析器@RestController是@ResponseBody + @Controller合体@RequestMapp...原创 2020-04-30 17:54:51 · 109 阅读 · 0 评论 -
分布式事务
理论概念随着互联化的蔓延,各种项目都逐渐向分布式服务做转换。如今微服务已经普遍存在,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生。 分布式事务被称为世界性的难题,目前分布式事务存在两大理论依据:CAP定律 BASE理论。CAP定律这个定理的内容是指的是在一个分布式系统中、Consistency(一致性)、 Availability(可用性)、Partition tolerance...原创 2020-03-09 21:56:36 · 229 阅读 · 1 评论 -
公钥和私钥
概念公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私...原创 2020-02-17 22:04:19 · 869 阅读 · 1 评论 -
基于token和基于session用户认证两种方式区别
背景知识:Authentication和Authorization的区别:Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码确认你真的是小A。Authorization:授权,指的是确认你的身份之后提供给你权限,例如用户小A可以修改数据,而用户小B只能阅读数据。由于http协议是无状态的,每一次请求都无状态。当一个用...原创 2020-02-16 19:34:12 · 2087 阅读 · 0 评论 -
为何要使用网页静态化技术
模板引擎web网站, 页面静态化就需要使用模板引擎, 常用的模板引擎有: JSP(消耗性能, 不推荐使用), Freemarker ,Thymeleaf静态页面技术使用场景对于电商网站的商品详情页来说,比较适合【大规模】且相对【变化不太频繁】的数据。从而减轻数据库压力(页面信息发生变化, 需要重新生成静态页面)).网页静态化还有利于SEO(网站优化)前后端分离与页面静态化区别...原创 2020-02-14 22:43:12 · 433 阅读 · 0 评论 -
BeanUtils和JSON对象复制性能对比
对比对象org.apache.commons.beanutilscom.alibaba.fastjson.JSON测试(200000次循环)测试次数200000次循环测试结果依旧是20倍左右的差距, 循环200000次但新建对象不是预期的200000而总是少10个左右…结论使用 BeanUtils 自动复制字段, 性能大概是 json序列化 方式复制字段的20倍, 不过如...原创 2020-01-14 11:12:24 · 1827 阅读 · 2 评论 -
事务失效场景
@Transactional 失效场景1、检查你方法是不是public的2、你的异常类型是不是unchecked异常如果我想check异常也想回滚怎么办,注解上面写明异常类型即可@Transactional(rollbackFor=Exception.class) 1类似的还有norollbackFor,自定义不回滚的异常3、数据库引擎要支持事务,如果是MySQL,注意表要使用支持事务...原创 2020-03-09 21:55:52 · 1381 阅读 · 0 评论 -
List遍历过程中并发修改异常解决方案
迭代元素可增减, 使用listIterator()方法Iterator it=list.listIterator();Iterator it=list.iterator();while(it.hasNext()){Objecte=it.next();if(“b”.equals(e)){it.remove();}}原创 2019-06-15 14:45:15 · 1645 阅读 · 0 评论 -
java 泛型详解
泛型有三种使用方式分别为:泛型类、泛型接口、泛型方法泛型通配符泛型通配符可以任意.常用的有: T, ?, E, K, V泛型类//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型//在实例化泛型类时,必须指定T的具体类型public class Generic<T>{ //key这个成员变量的类型为T,T的类型由外部指定 ...原创 2020-01-08 16:29:35 · 127 阅读 · 0 评论