当我下载jquery.mobile-1.3.1 dist时,我看到以下结构:
demos -> directory for demos of jquery-mobile
images -> directory of images
index.html -> index for demos
jquery.mobile-1.3.1.css -> Uncompressed with Default theme
jquery.mobile-1.3.1.js -> Uncompressed
jquery.mobile-1.3.1.min.css -> Minified with Default theme
jquery.mobile-1.3.1.min.js -> Minified
jquery.mobile-1.3.1.min.map -> ?? (what it is for? is it necessary for min version?)
jquery.mobile.structure-1.3.1.css -> Uncompressed structure without a theme
jquery.mobile.structure-1.3.1.min.css -> Minified structure without a theme
jquery.mobile.theme-1.3.1.css -> Uncompressed theme for structure without theme (can be changed by another theme)
jquery.mobile.theme-1.3.1.min.css -> …Run Code Online (Sandbox Code Playgroud) 我正在为jdk6阅读令人难以置信的书"java scjp认证的程序员指南",以及关于泛型覆盖的部分.在它上面描述了subsignature和override-equivalent,并描述了一些我引用的覆盖等价的例子:
给定以下三个类中的泛型方法声明:
static <T> void merge (MyStack<T> s1, MyStack<T> s2) { /*...*/ }
static <T> void merge (MyStack<T> s1, MyStack<? extends T> s2) { /*...*/ }
static <T> void merge (MyStack<T> s1, MyStack<? super T> s2) { /*...*/ }在擦除之后,所有三种方法的签名是:
merge(MyStack, MyStack)即,方法的签名是覆盖等价的,因此这些方法不会过载.
我并不完全同意这些方法是覆盖等价的,事实上我认为这些方法有一个"擦除名称冲突",但没有一个是另一个的子签名...可能我错了所以我想对此有所了解.
子签名的定义让我觉得它们不是它们之间的子签名.
在JSL 6#8.4.2方法签名中(http://docs.oracle.com/javase/specs/jls/se6/html/classes.html#8.4.2)
如果两个方法具有相同的名称和参数类型,则它们具有相同的签名.如果满足以下所有条件,则两个方法或构造函数声明M和N具有相同的参数类型:
他们.具有相同数量的形式参数(可能为零)
它们具有相同数量的类型参数(可能为零)
让我们
<A1,...,An>为M的形式类型参数,让<B1,...,Bn>是N的形式类型参数重命名的N的类型艾一碧的每次出现相应类型变量的范围和参数类型M和N都是一样的了.如果m2与m1具有相同的签名,或者m1的签名与m2的签名擦除相同,则方法m1的签名是方法m2的签名的子签名.
...如果m1是m2的子签名或m2是m1的子签名,则两个方法签名m1和m2是覆盖等价的.
在JSL 8#8.4.2中.Method Signature(http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.2)
两个方法或构造函数M和N具有相同的签名,如果它们具有相同的名称,相同的类型参数(如果有的话)(第8.4.4节),并且在将形式参数类型N调整为类型参数之后M,相同的形式参数类型.
方法m1的签名是方法m2的签名的子签名,如果:
m2与m1具有相同的签名,或
m1的签名与m2的签名擦除相同.
如果m1是m2的子签名或m2是m1的子签名,则两个方法签名m1和m2是覆盖等价的.
简单来说,我的疑问是,从擦除方面的子签名定义我明白"没有擦除的一个签名等于来自其他签名的擦除"......而不是"擦除后的两个签名是相等的".它的微妙但重要(顺便说一句,覆盖等效定义是基于子签名定义,这就是为什么我用子签名来问)
我使用apns与http2协议发送推送通知,我使用的代码类似于这篇文章:https://stackoverflow.com/a/34831873/1546652
当我的应用程序正确安装时,apns http2 api在发送消息时工作正常,我的回复是这样的风格:{"response":"","httpcode":200}
问题是,当我卸载应用程序并向无效registrationId发送推送时,我没有收到状态410,也没有响应"原因:未注册",仍然收到状态为200的真实响应.
在apns http2中取消应用程序时,如何获得410状态和对应响应?
在创建Android App时,我必须选择"Compile with"API选项.该选项的帮助表示我通常使用最新版本,或支持我想要使用的所有API的第一个版本.
我有以下问题:
*据我所知,最新的API"包含或支持"(不确定它是否因为使用了Android支持库)以前的API.这使得无需下载以前的API来编译具有一些先前API要求的android项目?
例如,假设我要创建一个"Target SDK"是GingerBread的应用程序,在这种情况下使用最新的API(Jelly Beans)作为"编译API"是一个好习惯吗?我想问题可能是使用仅适用于JellyBeans的API,但Lint可以帮助解决这个问题.
*如果上述问题属实,我只需要下载以前的API,只是为了运行那些版本的仿真器?
谢谢!