所以我正在学习汇编,我们有一个任务是找到从内存读取和从缓存中读取之间的时间差.我们必须通过创建2个循环并对它们进行计时来实现.(一个从主存储器读取,另一个从缓存读取).问题是,我不知道,也找不到任何告诉我如何从缓存或主存储器读取= /.你们能帮助我吗?我在MASM32中这样做.我理解如何制作循环和大多数汇编语言,但我只是不能让它读取= /
编辑:
我有一个问题,我已经这样做了......
mov ecx, 100 ;loop 100 times
xor eax, eax ;set eax to 0
_label:
mov eax, eax ;according to me this is read memory is that good?
dec ecx ;dec loop
jnz _label ;if still not equal to 0 goes again to _label
Run Code Online (Sandbox Code Playgroud)
......那会没事吗?
编辑2:
那么,我不打算撬开,我感谢你的帮助,我只是有另一个问题,因为这是我必须做的两个循环.我需要以某种方式比较它们,我一直在寻找一个定时器指令,但我没有发现任何我只发现:timeGetTime,GetTickCount和Performance Counter但据我所知,这些指令返回系统时间而不是时间完成循环需要它.有没有办法真正做我想要的?或者我需要考虑另一种方式?
另外,如果我给出各种"mov"指令,那么从第二个循环中的不同寄存器(不从高速缓存读取的那个)读取是否可以呢?还是我完全不在这里?
对不起所有这些问题,但再次感谢您的帮助.
我正在重新组织我们的java代码库,并希望比较我们生成的jar文件.
当我在旧的源代码树中构建时,我得到的jar文件大小为3360081.
在新的源代码树中,它是3360128.
我做一个"jar tvf jarfile",然后从文件中删除日期.
列表如下所示:
0 Mon Mar 16 10:41:16 EDT 2009 META-INF/
102 Mon Mar 16 10:41:14 EDT 2009 META-INF/MANIFEST.MF
0 Mon Mar 16 10:41:14 EDT 2009 decodes/
Run Code Online (Sandbox Code Playgroud)
剥离日期后,列表如下所示:
0 META-INF/
102 META-INF/MANIFEST.MF
0 decodes/
Run Code Online (Sandbox Code Playgroud)
两个jar列表是相同的.
什么会导致"相同"jar文件中的47字节差异?
我在RedHat Linux 4上运行编译.
public static final String readURL(String url)throws Throwable
{
try {
InputStream in = (InputStream) fetch(url);
byte[] bArr = readBytes(in);
return new String(bArr);
} catch (Throwable e) {
throw e;
}
}
public static final Object fetch(String address) throws MalformedURLException,IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试时,我支持代理
readURL(" http://abc.com ")
访问URL http://abc.com它会抛出java.net.UnknownHostException:我有:
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
在清单文件中.
快速解决方案吗?
我得到了StackOverflowException这个Java方法:
private static final Integer[] populate(final Integer[] array, final int length, final int current) {
if (current == length) {
return array;
} else {
array[current] = TR.random.nextInt();
System.out.println(array[current]);
return populate(array, length, current + 1);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在玩尾调用递归,所以我猜这是当JVM没有将堆栈短路时会发生什么?
我的应用程序中有生产者和消费者线程,我需要分析它们以查看线程的性能、每个线程进入睡眠和等待之前所花费的时间等,并采取纠正措施以提高应用程序的整体效率。
关于如何解决这个问题的任何建议?
我有一个程序是:
import java.io.*;
import java.util.*;
public class ExecBashCommand {
public static void main(String args[]) throws IOException {
if (args.length <= 0) {
System.err.println("Need command to run");
System.exit(-1);
}
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("./nv0914 < nv0914.challenge");
Process process1 = runtime.exec("echo ${?}");
InputStream is = process1.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
//System.out.printf("Output of running %s is:", Arrays.toString(args));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:nv0914是一个bash可执行文件,nv0914.challenge是一个文本文件.当我在终端中运行任何正常命令时,如果我使用后检查退出代码echo ${?}.现在我想通过使用程序来做同样的事情,但程序只是提供输出 …
我用来jvisualvm检查应用程序中的内存泄漏。当我进行堆转储时,有时会出现几个本应被垃圾收集的对象处于打开状态。
当我对它们执行“显示最近的 GC Root”命令时,它显示根是我定义的一个类,它实现了 Runnable 接口。参考文献被列为(java frame),我知道这与线程有关。当我展开该节点的树时,它会打开并显示<no references>。因此,很明显,这不是我公开的参考资料,而是 Java 内部的东西。
jvisualvm 中列出的 GC Root 对象的类型AnalyticNode extends Node为Node implements Runnable。尽管使用了“框架”一词,但该根对象与 AWT、Swing 或任何重量级用户界面组件没有任何关系。在这种情况下,“框架”一词指的是线程。
那么,Java 是否会在某个地方保留对最后一个 Runnable 的引用,以使其保持打开状态?有什么方法可以告诉 Java 释放此引用,以便可以为我的堆转储正确收集它的垃圾吗?
这里发生了什么?
是否有一个java库可以处理所有标准操作的四元数和矩阵(四元数矩阵乘法)?
(我之前搜索谷歌和这里 - 但没有找到任何适当的解决方案)
我有一个具有相当大边界的JTextField,但是文本的行为并不像我想要的那样.
_________________
| |
| |
|text |
| |
|_________________|
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能让我的文字像这样对齐
_________________
|text |
| |
| |
| |
|_________________|
Run Code Online (Sandbox Code Playgroud)
编辑:使用JTextArea修复我的问题.谢谢.
java ×8
jar ×2
alignment ×1
android ×1
assembly ×1
bash ×1
caching ×1
exit-code ×1
jtextfield ×1
jvisualvm ×1
masm ×1
memory-leaks ×1
performance ×1
profiling ×1
quaternions ×1
readability ×1
runtime.exec ×1
swing ×1
unix ×1
url ×1