摘要: 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)