写博客体会

  1. 有较多的技术笔记,想整理下,也回顾下,从基础到稍有些深度的技术,才发现坚持写博客真的不容易,比自己写技术笔记难得多。
  2. 博客可能会有其它同行来看,必须写的清楚明白,尽可能少错误,更不能误人。
  3. 有时需要对里面个别的技术点进行深挖,反复验证。
  4. 写博客也挺磨人,也是一个巩固知识点的好方法,可能一篇博客要准备两三天才能成型。
  5. 尽可能不要出现看6个月前写的代码不知道写的啥。
阅读更多

线程安全的定义与理解

什么是线程安全?什么是非线程安全,该如何定义和理解?什么场景会出现非线程安全?这几个问题在脑子里有个概念和轮廓,但要描述清楚始终不得,不全,非一两个例子代码。

阅读更多

我的实践和思维方法论

  记录我在工作和生活中的一些方法实践总结。工作生活中的一些实践方法使用多了,多少有不同的体会,也会表现出一些规律,抓住规律脉络,提炼总结出一些普适结论。

阅读更多

设计模式:六大设计原则

学习软件设计模式,需要了解使用设计模式的目的,23种设计模式是对设计模式使用场景进行分类再抽象的方法论,遵循了基本的设计原则。

学习软件设计模式,还需要了解其设计的原则,需要了解软件的可维护性和可复用性。

另:设计是有限度的,不能无限地考虑未来的变更情况,否则会陷入设计的泥潭中难以自拔。

阅读更多

Spring MVC单例与多例

Spring MVC默认单例多线程的,使用ThreadLocal来切换线程之前的参数,Spring 把每个线程可能存在线程安全问题的参数值放进了 ThreadLocal,实现不同线程下的数据相互隔离。用ThreadLocal来保证线程安全,ThreadLoacalkey 就是当前线程的 Thread 实例。
Spring推荐配置就是单例,不用每次都 new , 高并发下能极大的节省资源,提高服务抗压能力。Spring IOC的 Bean 管理器是绝对的线程安全
Sprinv MVC Controller也可以通过注解@Scope("prototype")配置为多例模式。

阅读更多

HTTP协议基础理解

  HTTP(HyperText Transfer Protocol):超文本传输协议,所有的WWW文件都必须遵守这个标准。现在常用的版本是HTTP 1.1。
  HTTP是一个客户端请求和浏览器应签的标准(TCP),浏览器和服务器通信的数据格式,默认端口:80;HTTPS默认端口:443。
  学习http协议,实际上就是要学习http规定的求的数据的格式以及响应的数据的格式。浏览器与服务器一问一答的规则。

阅读更多

Spring MVC返回ModelAndView方式

  SpringMVC 内部使用了一个org.springframework.ui.Model接口来存储模型数据,该接口的实现类ExtendedModelMap继承了ModelMap,ModelMap 继承了java.util.LinkedHashMap
  SpringMVC 在调用方法之前会创建一个隐含的模型对象,作为模型数据的存储容器。如果处理方法的参数为ModelModelAndView类型,则 SpringMVC 会将隐含模型引用传递给这些参数。

阅读更多

Http 状态码 及 Spring Http 状态码枚举

Http 议的状态码,网上大把的多多,这里只总结经常用到的和自己理解的。官方的解释有些在实际环境较少碰到。
后续项目中有遇到其它的状态码需要处理的,再整理添加进来。

Spring 提供了 Http 状态码枚举类 HttpStatus。项目开发过程中通常也会自定义一个业务状态码。

阅读更多