摘要:
本文我们介绍StreamUtils类使用。StreamUtils是spring中用于处理流的类,是java.io包中inputStream和outputStream,不是java8中Steam。使用时仅依赖spring-core,主要需要了解几个静态方法。 拷贝Stream StreamUtils类 阅读全文
posted @ 2018-05-27 10:31
夏威夷8080
阅读(1487)
评论(0)
推荐(0)
摘要:
spring的http请求内容转换,类似netty的handler转换。本文旨在通过分析StringHttpMessageConverter 来初步认识消息转换器HttpMessageConverter 的处理流程。分析完StringHttpMessageConverter 便可以窥视SpringM 阅读全文
posted @ 2018-05-27 10:19
夏威夷8080
阅读(1605)
评论(0)
推荐(0)
摘要:
netty的http协议栈无论是性能还是可靠性,都表现优异,非常适合在非web容器场景 下应用,相比于tomcat、jetty等web容器,它更轻量、小巧、灵活性和定制性也好; 总结:只要实现了http协议规范,就可以支持http服务端开发,理解时不应该拘泥于它是容器,还不是容器。 阅读全文
posted @ 2018-05-26 14:25
夏威夷8080
阅读(267)
评论(0)
推荐(0)
摘要:
不可变对象条件 对象需要满足一下三个条件才是不可变对象: 1、对象创建以后其状态就不能修改 2、对象所有域都是final类型 3、对象是正确创建的(对象在创建期间,this引用没有溢出) 简而言之就是将类声明为final,将所有的成员声明为私有的,对变量不提供set方法。将所有可变的成员声明为fin 阅读全文
posted @ 2018-05-22 21:00
夏威夷8080
阅读(851)
评论(0)
推荐(0)
摘要:
线程封闭:当访问共享的可变数据时,通常需要同步。一种避免同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(thread confinement) 线程封闭技术一个常见的应用就是JDBC的Connection对象,JDBC规范并没有要求Connection对象必须 阅读全文
posted @ 2018-05-22 20:52
夏威夷8080
阅读(334)
评论(0)
推荐(0)
摘要:
这个是并发情况下导致的数据库事务错误,先介绍下背景。 背景 springboot+springmvc+sqlserver+mybatis 一个controller里有五六个接口,这些接口都用到了spring的事务管理,这些接口单个调用的时候都很正常,当我模拟几十个并发请求这些接口的时候,总会有一两次 阅读全文
posted @ 2018-05-22 20:05
夏威夷8080
阅读(28494)
评论(0)
推荐(0)
摘要:
Spring Retry支持集成到Spring或者Spring Boot项目中,而它支持AOP的切面注入写法,所以在引入时必须引入aspectjweaver.jar包。 快速集成的代码样例: 下面是基于Spring Boot项目的集成步骤: POM: Service: @Retryable注解 被注 阅读全文
posted @ 2018-05-22 19:27
夏威夷8080
阅读(2174)
评论(0)
推荐(0)
摘要:
背景介绍 通常我们在接口里要保存一条数据时,会先判断该条记录在数据库里是否存在,如果不存在就插入,如果存在就返回已经存在。 就拿常见的工单来举例 在单线程下这么写肯定没问题,但是如果是并发情况下,很有可能会同时插入多条记录进数据库。 解决方案 1.数据库设计表的时候给工单编号ordernum设计唯一 阅读全文
posted @ 2018-05-21 21:15
夏威夷8080
阅读(11292)
评论(0)
推荐(0)
摘要:
并发程序正确地执行,必须要保证原子性、可见性以及有序性。只要有一个没有被保证,就有可能会导致程序运行不正确。 原子性:一个操作或多个操作要么全部执行完成且执行过程不被中断,要么就不执行。 可见性:当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性:程 阅读全文
posted @ 2018-05-21 20:57
夏威夷8080
阅读(792)
评论(0)
推荐(0)
摘要:
使用spring难免要用到spring的事务管理,要用事务管理又会很自然的选择声明式的事务管理,在spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作。那么什么是检查型异常什么又是非检查型异常呢?Java运行时异常和非运行时异 阅读全文
posted @ 2018-05-20 09:24
夏威夷8080
阅读(615)
评论(0)
推荐(0)
浙公网安备 33010602011771号