小编use*_*652的帖子

什么是jquery.mobile-1.3.1发行版中jquery.mobile-1.3.1.min.map的目的?

当我下载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)

jquery-mobile

13
推荐指数
1
解决办法
1万
查看次数

具有相同擦除的两种方法不一定是覆盖等价的(或者它们之间的签名不是子签名)?

我正在为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是覆盖等价的.

编辑1

简单来说,我的疑问是,从擦除方面的子签名定义我明白"没有擦除的一个签名等于来自其他签名的擦除"......而不是"擦除后的两个签名是相等的".它的微妙但重要(顺便说一句,覆盖等效定义是基于子签名定义,这就是为什么我用子签名来问)

java generics signature erasure

8
推荐指数
1
解决办法
359
查看次数

apns http2 api在卸载app后没有返回状态410

我使用apns与http2协议发送推送通知,我使用的代码类似于这篇文章:https://stackoverflow.com/a/34831873/1546652

当我的应用程序正确安装时,apns http2 api在发送消息时工作正常,我的回复是这样的风格:{"response":"","httpcode":200}

问题是,当我卸载应用程序并向无效registrationId发送推送时,我没有收到状态410,也没有响应"原因:未注册",仍然收到状态为200的真实响应.

在apns http2中取消应用程序时,如何获得410状态和对应响应?

apple-push-notifications ios apns-php http2

6
推荐指数
1
解决办法
2952
查看次数

在Android应用程序中选择"编译"API选项的良好实践

在创建Android App时,我必须选择"Compile with"API选项.该选项的帮助表示我通常使用最新版本,或支持我想要使用的所有API的第一个版本.

我有以下问题:

*据我所知,最新的API"包含或支持"(不确定它是否因为使用了Android支持库)以前的API.这使得无需下载以前的API来编译具有一些先前API要求的android项目?
例如,假设我要创建一个"Target SDK"是GingerBread的应用程序,在这种情况下使用最新的API(Jelly Beans)作为"编译API"是一个好习惯吗?我想问题可能是使用仅适用于JellyBeans的API,但Lint可以帮助解决这个问题.

*如果上述问题属实,我只需要下载以前的API,只是为了运行那些版本的仿真器?

谢谢!

android

4
推荐指数
1
解决办法
1601
查看次数