【今日观点】 自定义实现一个mini版Tomcat
通过之前的介绍,我们大致了解了Tomcat的基础功能,即为Servlet生效提供环境支持。那么Tomcat肯定需要提供以下基础功能: 提供Socket服务:实现对某些端口的监听,从而实现请求到来时,Tomcat可以感知到。同时该Socket...
通过之前的介绍,我们大致了解了Tomcat的基础功能,即为Servlet生效提供环境支持。那么Tomcat肯定需要提供以下基础功能: 提供Socket服务:实现对某些端口的监听,从而实现请求到来时,Tomcat可以感知到。同时该Socket...
原文链接:理解事务的4种隔离级别 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现...
上篇文章简单介绍了Spring Boot,讲述了Spring Boot的一个理念”习惯优于配置”,以及其操作方便,开箱即用的优点。本篇文章就用一个简单的HelloWorld实例具体讲述一下Spring Boot的上述...
随着动态语言(Ruby、Groovy、Scala、Node.js等)的流行,Java开发显得越来越笨重,特别是在web开发中,往往要面临繁多的配置及低下的开发效率。 比如我们使用Spring MVC做应用开发,要知道配置哪些类来让Hiber...
缓存在很多场景下都是相当有用的,比如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。开发中也有很多可以选择,比如EhCache、Redis等都是不错的解决方案。作为一个比较全面的开发工具包,Gua...
Java中存在八中基本类型byte、short、int、long、float、double、char和boolean,基本类型不能当作对象或泛型的类型参数使用,这意味着许多通用方法都不能应用于它们。Guava提供了若干通用工具,包括基本类型...
作为开发中最常用的数据结构之一String,Apache、Sun等都有提供StringUtils各种工具包。JDK也自带一组String操作方法,极大方便了开发工作,但是诸如join、split使用起来确实不是很方便。基于此Guava提供了...
JDK提供了一系列集合类,如下所示,极大的方便了开发工作,并针对这些类提供了一个工具类java.util.Collections,Guava在此基础上添加了一些常用工具类方法,相比于java.util.Collections集合类,Guav...
开发中,集合类型无疑是JDK最常用的数据类型之一。但是JDK提供的诸如List、Set、Map都是一些基础的集合类型,有这特定的使用场景限制,往往不能满足我们的开发需求,比如集合类型嵌套的情况,Map<string, List<...
Preconditions类提供了一系列静态方法,用来检测方法或者构造函数在调用时参数是否合法,如果不合法,则抛出异常。Preconditions有三种形式: 无报错信息,直接抛出异常 存在一个额外的Object参数作为报错信息,方法参数不...
Optional是Guava提出的概念,通过使用检查空值的方式来防止代码污染,鼓励程序员写更干净的代码,解决空指针异常NullPointerException。受到Google Guava的启发,Optional在Java8正式加入Java...