目前我正在创建一个基于Web的(= JavaScript)应用程序,它使用了很多"点"(=小的,固定大小的向量).基本上有两种表现方式:
var pointA = [ xValue, yValue ];
Run Code Online (Sandbox Code Playgroud)
和
var pointB = { x: xValue, y: yValue };
Run Code Online (Sandbox Code Playgroud)
所以翻译我的观点会是这样的:
var pointAtrans = [ pointA[0] + 3, pointA[1] + 4 ];
var pointBtrans = { x: pointB.x + 3, pointB.y + 4 };
Run Code Online (Sandbox Code Playgroud)
从程序员的角度来看,这两者都很容易处理(对象变体更具可读性,特别是因为我主要处理2D数据,很少使用3D而很难使用4D - 但是从来没有更多.它总是适合x,y,z和w)
但我现在的问题是:
从语言角度来看,最有效的方法是什么 - 理论上和实际实施中?
什么是内存要求?
数组与对象的设置成本是多少?
...
我的目标浏览器是FireFox和基于Webkit的浏览器(Chromium,Safari),但在IE和Opera下获得一个很棒的(快速)体验并不会有什么坏处......
ArrayList<String[]>在Java中排序的最佳方法是什么?
String []是......
String[] = new String[] { "abc", "abc", "abc", "abc", "abc", "abc", "abc" };
Run Code Online (Sandbox Code Playgroud)
现在我想用String []的第二个值(在索引1处)对整个ArrayList进行排序.我需要循环遍历每个String [],然后遍历索引1处的子节点.
有任何想法吗?
EDITED
我有更多的描述.我实际上从一些XML文件获取学校,XML中的每个节点都有7个属性.现在我正在创建一个String []的ArrayList,它从XML中保存那些学校节点,而String []数组本身保存着特定节点的属性.
现在,我想对它进行排序的方式是,它应该按照学校的状态进行排序,这是XML中的第二个属性和ArrayList中String []中的索引1.
我需要首先遍历每个学校(XML中的节点,Java中的String []),然后我将必须过滤State(XML中的State属性,Java中的String [1]).
现在清楚了吗?
我正在尝试使用构造函数中的以下代码向我的QDialog添加最小化按钮:
Qt::WindowFlags flags = windowFlags();
flags |= Qt::WindowMinMaxButtonsHint;
setWindowFlags(flags);
Run Code Online (Sandbox Code Playgroud)
它适用于Windows,但不适用于Linux.
我使用一个表来分类和内容.
pid字段中的类别值为0.
例如:
示例表
--------------------------
id | pid | name
--------------------------
1 | 0 | Some catgory 1
--------------------------
2 | 1 | Some content of first category
--------------------------
3 | 1 | Other content of first cat
--------------------------
4 | 0 | Second category
--------------------------
5 | 0 | Category number 3
--------------------------
6 | 5 | Content of category 3
--------------------------
7 | 4 | Content of 2 cat
--------------------------
8 | 5 | Content of 3 cat …Run Code Online (Sandbox Code Playgroud) 我正在使用Git cherry,并希望看到它找到的提交的更多细节.首先,我跑
git cherry
-- read the output
git show sha-1
Run Code Online (Sandbox Code Playgroud)
有没有办法看到cherry的所有结果的提交/日志/差异,并通过它们翻页?我已经尝试将git cherry的结果用于各种各样的事情,但似乎无法找到一个有效的.
我正在使用Java开发更大的GUI,我对布局管理器感到愤怒.
我有一个"设置 - 面板",里面有可变数量的JComponents(标签,按钮,JSpinners,JSliders,......).我只想要以下内容:
JLabel < - > JComponent
JLabel < - > JComponent
JLabel < - > JComponent
...
我的面板大小为500px,因此有足够的空间容纳很多组件.不幸的是,即使我为每个组件设置了MaximumSize,GridLayout总是会将组件的大小拉伸到整个Panel.如果只有两个按钮,每个高度为250px,它看起来很愚蠢.
我试过了流布局,但我无法找到一种方法来正确制作新的线条.我尝试过BoxLayout.Y_AXIS,但组件始终居中,而Label和Component不在同一行.
有没有人知道LayoutManagers有一个好的和简短的方法来正确处理这个问题?
position流上属性的(整个)文档说:
- 在派生类中重写时,获取或设置当前流中的位置.
- Position属性不跟踪已消耗,跳过或两者的流中的字节数.
而已.好了,我们什么也没有告诉我们相当清楚,但是我真的很想知道它其实并不代表.什么是"位置" 的?我们为什么要改变或阅读它?如果我们改变它 - 会发生什么?
在一个实际的例子中,我有一个定期写入的流,我有一个尝试从中读取的线程(理想情况下是ASAP).通过阅读许多SO问题,我将position字段重置为零以开始阅读.完成后:
也许我不理解Stream本身 - 我将它视为FIFO管道:将数据推入一端,然后将其吸收到另一端.如果它不是这样的话,那么我是否必须将数据复制到我上次读取之后(即从位置0x84开始)回到缓冲区的开头?
我已经认真地试图研究所有这些 - 但是我是.NET的新手.也许Streams有一个漫长而自豪(无证)的历史,其他人都暗中理解.但是对于一个新手来说,这就像阅读手册到你的车,并找出:
加速踏板影响送到燃油喷射器的燃油和空气量.它不会影响娱乐系统的音量,也不会影响任何轮胎的气压(如果安装).
技术上是真的,但严肃地说,我们想要知道的是,如果我们将它捣碎到地板上你会更快 ..
编辑 - 更大的图片
我有来自串行端口,套接字或文件的数据,并且有一个线程在那里等待新数据,并将其写入一个或多个流 - 都是相同的.
我可以从另一台PC的telnet会话访问其中一个流,并且一切正常.
我现在遇到的问题是在同一程序中的代码中解析数据(在另一个重复的流上).我正在将数据复制到MemoryStream,并有一个线程来坐下并解密数据,然后将其传递回UI.这个线程dataStream.BeginRead()进入它自己的缓冲区,它返回一些(?)数量的数据,但不超过count参数.在处理了我从中获得的任何内容后BeginRead,我将剩余的数据(从我的读取点的末尾到流的末尾)复制到缓冲区的开头,这样它就不会溢出.
此时,由于写入和读取都是异步的,我不知道是否可以改变位置(因为它是'光标' - 感谢Jon).即使发送消息给其他线程说,我刚读28个字节,或什么-它不会知道哪些他们是28个字节,并且将不知道如何重置它的光标/ position.我没有子类化任何流 - 我刚刚创建了一个MemoryStream,并将其传递给线程,该线程将数据复制到所需的任何流中.
这一切都感觉太复杂了,无法做到这一点 - 我只是找不到一个我可以根据需要修改的简单例子.
人们如何处理需要发送到其他任何不能立即执行的任务的长期零星数据流?
编辑:可能的解决方案
在由于答案中的信息而尝试在队列中编写Stream包装器时,我偶然发现了Stephen Toub发布的这篇文章.
他写了一篇BlockingStream,并解释说:
.NET Framework中的大多数流都不是线程安全的,这意味着多个线程无法同时安全地访问流的实例,并且大多数流保持单个位置,在该位置将发生下一次读取或写入.另一方面,BlockingStream是线程安全的,并且在某种意义上,它隐式地保持两个位置,尽管它们都没有作为数值暴露给该类型的用户.BlockingStream通过维护写入它的数据缓冲区的内部队列来工作.将数据写入流时,写入的缓冲区将排队.当从流中读取数据时,缓冲区以先进先出(FIFO)顺序出列,并且其中的数据被传递回调用者.从这个意义上说,流中有一个位置,下一次写入将发生,下一次读取将发生.
这似乎正是我所寻找的 - 所以感谢答案的人,我只从你的答案中找到了这个.
如何在UINavigationBar中设置自定义字体?我需要tahoma字体.
- (void)viewDidLoad{
self.title =@"My text";
}
Run Code Online (Sandbox Code Playgroud)

我正在使用VC++ 2008,我的代码是:
#include <gtk/gtk.h>
int main( int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在每个编译器中我得到相同的错误:gio/gio.h:没有这样的文件或目录.
我添加了这个库:gtk-win32-2.0.lib gdk-win32-2.0.lib gailutil.lib
我还可以做些什么?
编辑:我添加了包括和箱子.错误发生在gdkapplaunchcontext.h>第30行> #include