摘要:
1.背景
说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至... 阅读原文
2018-11-03 06:00:12 阅读(1831) 评论(0)
摘要:
What is the difference between List<? super T> and List<? extends T> ?
extends
The wildcard declaration of List<? extends Number> foo3 means... 阅读原文
2018-11-03 00:00:02 阅读(1775) 评论(0)
摘要:
(一) 下载jar包
GitHub链接:https://github.com/1160700306/tools/blob/master/log4j-1.2.17.jar
(现在官网上说要使用 log4j-api-2.x 和 the log4j-core-2.x jar, 但是我试了不行, 所以还是用以前的包)
(... 阅读原文
2018-11-02 19:47:06 阅读(1909) 评论(0)
摘要:
并发和并行
并行:指两个或多个时间在同一时刻发生(同时发生);
并发:指两个或多个事件在一个时间段内发生。
在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只... 阅读原文
2018-11-02 19:43:03 阅读(1943) 评论(0)
摘要:
微信扫码支付总结
1.扫码支付流程
微信扫码支付,流程很简单,就是将你要付款的一些信息放到集合里面,然后用微信SDK来生成对应的URL,再根据URL生成对应的二维码,扫码支付后,微信后台会有回调,异步通知(需要在服务器打印日志查看).
2.配置
[SDK调用示例](https://pay.weixin.qq.... 阅读原文
2018-11-02 19:03:01 阅读(1841) 评论(0)
摘要:
Java语言中常用的类和方法
方法格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
函数体;
return 返回值;
}
//具体实例
public static void main(String[] args){
System.out.pri... 阅读原文
2018-11-02 18:55:01 阅读(1887) 评论(0)
摘要:
想想为什么要使用MQ?
1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!
2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度
3.削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常
使用了消息队列会有什么缺点?... 阅读原文
2018-11-02 18:04:02 阅读(1956) 评论(0)
摘要:
目录
SpringMVC的介绍
介绍:
执行流程
与strut2的对比
基本运行环境搭建
基础示例
控制器的编写
控制器创建方式:
请求映射问题:
获取请求提交的参数
通过域对象(request,response,session)获取:
同名参数自动封装:
手动映射封装:
数组、集合类型参数绑定
使用UR... 阅读原文
2018-11-02 17:32:06 阅读(1940) 评论(0)
摘要:
结论
如果两个对象相等,则hashcode()必须相等。
如果两个对象相等,a.equals(b)==b.equals(a)==true
如果两个对象有相同的hashcode值,他们也不一定是相等的。但若两个对象相等,则hashCode值一定相等。
因此若equals()被覆盖过,则hashCode(... 阅读原文
2018-11-02 15:52:02 阅读(1999) 评论(0)
摘要:
缓存:
是计算机领域的概念,它介于应用程序和永久性数据存储源之间。
缓存:
一般人的理解是在内存中的一块空间,可以将二级缓存配置到硬盘。用白话来说,就是一个存储数据的容器。我们关注的是,哪些数据需要被放入二级缓存。
缓存作用:
降低应用程序直接读写数据库的频率,从而提高程序的运行性能。缓存中的数... 阅读原文
2018-11-02 15:17:15 阅读(3123) 评论(0)