本来想多写点文字的,不过发现自己的表达能力的确有限,现在还是理解为啥大神都是贴代码,不做解释了,的确很难说明一切,大神的代码易懂,看到代码就基本上知道啥意思了,这就是所谓的妙笔生花吧,我不能,所以多写一点文字多加一点注释,这也是没有办法的事情
Heap Pollution
首先来看下什么是Heap Pollution(堆污染)。
在Java编程语言中, 当一个 可变泛型参数 指向一个 无泛型参数 时,堆污染(Heap Pollution)就有可能发生。
- 实现了Map接口的集合类中:HashMap无序,TreeMap排序
- 实现了List接口的集合类全部有序:如 ArrayList、LinkedList
- 实现了Set接口的集合类中:HashSet无序,TreeSet排序
进入了基本的测试篇,首先我们先进入基本的代码测试,我们先跑通代码:
大家知道网络通信都是异步的,当你使用网络去发送一个请求的之后,就会去等待这个请求对应的响应体,可是你却不知道这个响应到底何时到达。
这就是异步的好处也是异步的坏处,好处就是在请求发送出去之后,你就可以去做其他的事,就比如你跟你的女神用微信表白了,表白之后,你不需要眼睛直勾勾的盯着手机微信,可以去干一些其他的事情,坏处就是你不知道响应到底什么到来,所以即使你去做其他的事情也会不舒心,你会时不时的去看手机的,这就是异步"表白"的优点和缺点了吧
MyBatis 报错:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上,需要比较细致的对比,我经常就是写错了一两个字母搞的很长时间找不到错误
按以下步骤一一执行:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应;
2、检查xml文件的namespace是否和xml文件的package名称一一对应(即引用xml文件所需的package名称);
3、检查函数名称能否对应上;
四大作用域
Web应用中,JSP创建的对象有一定的生命周期,也有可能被其他组件或者对象访问。对象的声明周期和可访问性称为作用域。四种范围对象作用域从小到大顺序如下:pageContext ----> request ----> session ----> application。
配置仓库
在maven的settings.xml文件里的mirrors节点,添加如下子节点:
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
单独的 T 代表一个类型 ,而 Class<T> 代表这个类型所对应的类,Class<?> 表示类型不确定的类
变参 本质上就是一个切片。只能接收一个或多个同类型参数,且 必须放在参数列表的 尾部。
func test(s string, a ...int) { fmt.Printf("%T, %v\n", a, a) // 显示类型 和 值 } func main() { test("abc", 1, 2, 3, 4) }
输出:
[]int, [1, 2, 3, 4]