Tag: 性能

Java线程:解释正在运行的JVM的线程状态

Java线程始终处于以下十种状态之一: NEW: Just starting up, ie, in process of being initialized. NEW_TRANS: Corresponding transition state (not used, included for completness). IN_NATIVE: Running in native code. IN_NATIVE_TRANS: Corresponding transition state. IN_VM: Running in VM. IN_VM_TRANS: Corresponding transition state. IN_JAVA: Running in Java or in stub code. IN_JAVA_TRANS: Corresponding transition state (not used, included for completness). BLOCKED: […]

提高Android Bitmap上getpixel()和setpixel()的速度

所有, 在我注意到getPixel和setPixel有多慢(不确定哪一个,猜两者都不是涡轮增压)后,我快速编写了一个使用int[]数组来处理位图操作的Bitmap容器。 已经 – 它明显更快,但这还不够。 请问您能如何进一步加快速度? 我的想法是通过setPixel函数跟踪“脏”的内容,并在调用getBitmap()时仅更新Bitmap这一部分…虽然不清楚如何设置setPixels参数(具有偏移和步幅的东西)猜测)。 还 – 任何更快的食谱? 提前感谢您的帮助! import android.graphics.Bitmap; public class DrawableBitmapContainer { private Bitmap image; private int width, height; private int[] pixels; public DrawableBitmapContainer(Bitmap _source ){ image = _source; width = image.getWidth(); height = image.getHeight(); pixels = new int[width*height]; image.getPixels(pixels,0,width,0,0,width,height); } public int getPixel(int x,int y){ return pixels[x+y*width]; } public […]

通过eclipse调试视图分析线程

如果multithreading应用程序在eclipse的调试中运行,那么有没有办法通过调查所有线程所在的调试视图来知道哪个线程正在hibernate或等待? 因为我只能在那里看到正在运行的线程。

Google App Engine如何预编译Java?

App Engine使用“预编译”过程和应用程序的Java字节码来增强Java运行时环境中应用程序的性能。 预编译代码的function与原始字节码相同。 有什么详细信息吗?

Quicksort-枢轴选择策略如何影响quicksort的整体Big-oh行为?

我提出了几个策略,但我不完全确定它们如何影响整体行为。 我知道平均情况是O(NlogN),所以我认为这将是某个地方的答案。 如果我只选择数组中的第一项作为快速排序的枢轴,我想把NlogN + 1放入,但我不知道这是正确还是可接受? 如果有人能够在这个主题上启发我会很棒。 谢谢! 可能的策略: a)数组是随机的:选择第一项,因为这是最具成本效益的选择。 b)数组主要是排序的:选择中间项,这​​样我们很可能会赞美每次拆分的二进制递归。 c)数组相对较大:选择数组中的第一个,中间和最后一个索引并比较它们,选择最小的索引以确保避免最坏的情况。 d)使用随机生成的索引执行’c’,以使选择更不确定。

Java JDBC效率:连接需要多长时间?

我还在努力解决同样的问题。 它似乎工作正常,特别是在创建如下所示的AbstractModel类之后: public abstract class AbstractModel { protected static Connection myConnection = SingletonConnection.instance().establishConnection(); protected static Statement stmt; protected static ResultSet rs; protected boolean loginCheck; // if userId and userLoginHistoryId are valid – true, else false protected boolean userLoggedIn; // if user is already logged in – true, else false public AbstractModel (int userId, Long userLoginHistoryId){ […]

RMI有多快?

我已经看到了这样一个问题: 两个独立的Java桌面应用程序之间的通信 (答案:JGroups),我正在考虑用JavaGroups或直接RMI实现某些东西,但速度至关重要。 我不会发送大量数据(MIDI消息的内容,每个3个字节,不过每三毫秒说两个消息),这将全部在同一台机器上。 认为同一台物理机上的RMI / JGroups会慢吗? (我的想法是我承受不起超过1毫秒的延迟,因为我已经有了一些,但我不确定如何在这种情况下最好地谈论速度。) 我想我的真正问题是: Java中的interspp通信是否有任何选项可以通过比TCP / IP更快的速度? 我的意思是已经用Java实现的东西,而不是我需要实现的JNI可能性:) 我知道,不要尽早优化所有这些,但也比抱歉更安全。

在数组上调用.length与保存大小变量的性能是否存在差异?

我正在创建一个模拟程序,我希望代码得到非常优化。 现在我有一个数组循环通过我使用的各种for循环 for(int i = 0; i<array.length; i++){ //do stuff with the array } 我想知道如果我在类中保存一个变量来指定这个数组长度会更快,并使用它。 或者如果它重要的话。

类文件格式的最终​​变量

类文件格式是否支持最终关键字,以便将其与变量一起使用? 或者它只是从代码中推断出变量的有效终结性而JIT编译器基于它执行优化? 这里 ,在类文件格式文档中,他们提到了关于final关键字,但仅限于将其与final块和final类一起使用的情况。 最终变量没有任何内容。

在方法之间重用PreparedStatement?

我们都知道 ,我们应该重新使用JDBC PreparedStatement不是在循环中创建新实例。 但是如何处理不同方法调用之间的PreparedStatement重用? 重用 – “规则”仍然有效吗? 我是否应该考虑为PreparedStatement使用字段,还是应该在每次调用时关闭并重新创建预准备语句(保持本地状态)? (当然,这样一个类的实例将绑定到一个Connection ,这在某些架构中可能是一个缺点) 我知道理想的答案可能是“它取决于”。 但我正在寻找经验不足的开发人员的最佳实践,他们将在大多数情况下做出正确的选择。