小编dar*_*enp的帖子

在Java中阻塞队列有什么好处?

我正在开发一个项目,该项目使用一个队列来保存有关需要发送到远程主机的消息的信息.在这种情况下,一个线程负责将信息放入队列,另一个线程负责从队列中获取信息并发送它.第二个线程需要定期检查队列中的信息.

但后来我发现这是轮子的重新发明:)我可以使用阻塞队列来达到这个目的.

使用阻塞队列进行上述应用程序的其他优点是什么?(例如:性能,代码可修改,任何特殊技巧等)

java queue performance data-structures

17
推荐指数
2
解决办法
2万
查看次数

如何顺序运行几个翻译动画?

我想按顺序运行下面显示的三个翻译动画.即,在一个翻译动画结束后,第二个翻译动画开始.但是,它们同时运行.

此外,此动画将用作overridePendingTransition()作为参数.所以,我必须解决这个问题,只能使用XML代码.

有谁知道我应该怎么做?

<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">

<translate
    android:fromXDelta="100%p"
    android:toXDelta="-20%p"
    android:duration="1000" />

<translate
    android:fromXDelta="-20%p"
    android:toXDelta="20%p"
    android:duration="1000" />

<translate
    android:fromXDelta="20%p"
    android:toXDelta="0"
    android:duration="1000" />
</set>
Run Code Online (Sandbox Code Playgroud)

android

15
推荐指数
2
解决办法
2万
查看次数

什么是执行宽字符集及其编码?

标准中提到了很多与字符集相关的概念:基本源字符集,基本执行字符集,基本执行宽字符集,执行字符集和执行宽字符集:

  • 基本源字符集:91个图形字符,加上空格字符,HT,VT,FF,LF(只是从ASCII借用名称缩写).
  • 基本执行(宽)字符集:基本源字符集的所有成员,加上BEL,BS,CR,(宽)NUL.
  • 执行字符集和执行宽字符集分别是基本执行字符集和基本执行宽字符集的实现定义的超集.执行字符集的成员值和其他成员集是特定于语言环境的.

我对基本源字符集,基本执行字符集和基本执行宽字符集没有太多疑问.

至于执行字符集,标准表示它是实现定义的和特定于语言环境的,所以我试着通过观察字符串文字初始化的char数组的字节内容来获得一些真正意义,该数组的值应该等于数值的执行字符集中字符的编码(由于多字节编码,通用字符名称可能映射到多个char元素):

char str[] = "Greek lowercase alpha is: \u03B1.";
Run Code Online (Sandbox Code Playgroud)

它似乎在Linux上几乎总是utf-8(CE B1存储在希腊字母的数组中).在Windows上,如果系统区域设置为英语(3F由于希腊语在Windows-1252中不可用而存储了一些错误的值),则为Windows-1252;对于其他语言A6 C1环境,则为某些其他编码(例如,在cp936中为中文语言环境,E1在Windows-1253中为希腊语locale,分别代表这两种编码中的希腊小写字母alpha).对于希腊字母在区域设置中可用的所有情况(因此在执行字符集中可用),cout << str;可以适当地打印希腊字母.一切似乎都没问题.

但对于执行宽字符集,我不太了解.它在主要平台上的确切编码是什么?似乎0x3B1希腊小写字母alpha 的ISO-10646值总是存储在wchar_t我尝试的所有平台上的下面的声明中:

wchar_t wstr[] = L"Greek lowercase alpha is: \u03B1."; 
Run Code Online (Sandbox Code Playgroud)

所以我猜执行宽字符集可能是UCS-2/UTF-16或UTF-32(不同的环境有不同的大小wchar_t,4用于Linux,2用于Windows)?但是,wcout << wstr;不能在Linux或Windows上正确打印希腊字母.当然,执行宽字符集的成员和编码是实现定义的,但这对于实现提供的iostream工具来说不应该是一个问题,以便正确地识别和处理它,对吧?(虽然执行字符集也是实现定义的,但iostream设施可以正常处理它.)wchar_t当由iostream设施处理时,数组的默认解释是什么?(无论如何,只是为了澄清,我对执行宽字符集的本质更感兴趣,而不是找到在某些平台上打印宽字符串的正确方法.)

PS:我是新手wchar_t,所以我道歉,如果我说错了.

c c++ character-encoding language-lawyer

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

Facebook iOS 设置“iPhone Store Id”和“iPad Store Id”有什么区别

我了解我的 iOS 应用程序的 Apple ID(从 iTunes Connect 列表中获取)。但是,当设置 Facebook 应用程序以接受来自 iOS 应用程序的安装 ping 时,它会要求两个id:

  • iPhone 商店 ID,带有提示文本“用于在 iOS 商店中识别您的应用程序的 ID”
  • iPad 商店 ID,带有提示文本“用于在 iPad 商店中识别您的应用程序的 ID”

正如其他地方所解释的,iPhone Store Id 应使用应用程序的 Apple Id。

但 iPad 商店 ID 是什么?应该留空还是应该使用相同的 id?

注意:我对捆绑 ID 的理解是它们映射到唯一的应用程序 ID。因此,同一个捆绑 ID 不能用于两个单独的应用程序,一个用于 iPhone,一个用于 iPad。

非常感谢澄清!

iphone mobile facebook ipad ios

5
推荐指数
1
解决办法
5802
查看次数