cpj-swagger 原文地址:https://github.com/3cpj/swagger 1. Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步. 个人觉得,swagger的一个最大的优点是能实时同步api与文档.在项目开发过程中,发生过多次:修改代码但是没有更新文档,…
[Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968483.html 自定义Servlet package cn.ycx.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;…
一.DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 的使用已经过时! spring 3.1 开始我们应该用 RequestMappingHandlerMapping 来替换 DefaultAnnotationHandlerMapping, 用 RequestMappingHandlerAdapter 来替换 AnnotationMethodHandlerAdapter. 二.annotation-deiver详解…
SpringMVC回归MVC本质,简简单单的Restful式函数,没有任何基类之后,应该是传统Request-Response框架中最好用的了. Tips 1.事务失效的惨案 Spring MVC最打击新人的事情,你必须保证spring-mvc.xml的context:component-scan只扫描Controller,而 applicationContext.xml里的不包含Controller. 否则你定义在applicationContext.xml里的事务就要失效了.方法如下: sp…
(非静态)内部类引起内存泄漏的原因         内部类的实现其实是通过编译器的语法糖(Syntactic sugar)实现的,通过生成相应的子类即以OutClassName$InteriorClassName命名的Class文件.并添加构造函数,在构造函数中传入外部类,这也是为什么内部类能使用外部类的方法与字段的原因.所以,当外部类与内部类生命周期不一致的时候很有可能发生内存泄漏.         例如,当使用内部类(包括匿名类)来创建Handler的时候,Handler对象会隐式地持有一个…
http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html Consider the following code: 1 2 3 4 5 6 7 8 9 public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public voi…
Handler类的主要作用有两个: 在新启动的线程中发送消息. 在主线程中获取.处理消息. 上面的说法很简单,只要分成两步即可:在新启动的线程中发送消息:然后在主线程上获取.并处理消息.但这个过程涉及一个问题:新启动的线程何时发送消息呢?主线程何时去获取并处理消息呢?这个时机显然不好控制. 为了让主程序能“适时”地处理新启动的线程所发送的消息,显然只能通过回调的方式来实现——开发者只要重写Handler类中处理消息的方法,当新启动的线程发送消息时,消息会发送到与之关联的MessageQueue,…
缩略信息是: sending message to a Handler on a dead thread 我是用IntentService时报的 稍微纤细一点儿的信息是: Handler (android.os.Handler) {215ddea8} sending message to a Handler on a dead thread. 在另一次在IntentService里使用MediaPlayer 播放铃声也再现错误,信息是:Handler) {42414500} sending me…
原文地址:http://blog.csdn.net/xiyangyang8/article/details/50754771 Handler类的作用主要有两种: 1.在新启动的线程中发送消息. 2.在主线程(UI线程)中获取,处理消息. 注:主线程已经封装有Loop的消息队列处理机制,无需再创建. Handler类包括例如以下方法用于消息发送,处理: 1.void handleMessage(Message msg):处理消息的方法. 2.final boolean hasMessages(in…
为了验证 MySQL 中哪些情况下会导致索引失效,我们可以借助 explain 执行计划来分析索引失效的具体场景. explain 使用如下,只需要在查询的 SQL 前面添加上 explain 关键字即可,如下图所示: 而以上查询结果的列中,我们最主要观察 key 这一列,key 这一列表示实际使用的索引,如果为 NULL 则表示未使用索引,反之则使用了索引. 以上所有结果列说明如下: id - 选择标识符,id 越大优先级越高,越先被执行: select_type - 表示查询的类型: tab…