Tag: java

如何限制setAccessible只有“合法”的用途?

我对java.lang.reflect.AccessibleObject.setAccessible的力量了解得越多,我就越感到惊讶。 这是从我的问题的答案( 使用reflection更改静态最终File.separatorCharunit testing )进行调整。 import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); } public static void main(String args[]) throws Exception { setFinalStatic(Boolean.class.getField("FALSE"), true); System.out.format("Everything is %s", false); // "Everything is true" } } 你可以做真正的离谱的东西: public […]

如何在HashMap中保留插入顺序?

我正在使用一个HashMap 。 当我遍历地图时,数据以(通常相同的)随机顺序返回。 但数据是按特定顺序插入的,我需要保留插入顺序。 我该怎么做?

你什么时候使用WeakHashMap或者WeakReference?

弱引用的使用是我从来没有见过的实现,所以我想弄清楚它们的用例是什么,以及如何实现工作。 何时需要使用WeakHashMap或WeakReference ,它是如何使用的?

获取Java中的随机数字

可能重复: Java:在一个范围内产生随机数 我想在Java中得到1到50之间的随机值。 我怎么可以在Math.random();的帮助下做到这一点Math.random(); ? 如何限制Math.random()返回的值?

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”

我的应用程序将被部署在tcServer和WebSphere 6.1上。 此应用程序使用ehCache,因此需要slf4j作为依赖项。 因此,我已经将slf4j-api.jar(1.6)jar添加到我的war文件包中。 该应用程序在tcServer中正常工作,除了以下错误: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 但是,当我在WebSphere中部署时,我得到一个java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder 。 我已经检查了两个应用程序服务器的类path,没有其他的slf4j jar。 有没有人有任何想法可能发生在这里?

是什么让JNI电话慢?

我知道在Java中进行JNI调用时,“跨越边界”的速度很慢。 不过,我想知道它是什么让它变慢? 在进行JNI调用时,底层的jvm实现是如何做的?

如果性能很重要,我应该使用Java的String.format()吗?

我们必须始终为日志输出构buildstring等等。 在JDK版本中我们学习了什么时候使用StringBuffer (很多附加的,线程安全的)和StringBuilder (很多附加的,非线程安全的)。 什么是使用String.format()的build议? 它是有效率的,还是我们不得不坚持串联一个性能重要的单线? 丑陋的旧风格, String s = "What do you get if you multiply " + varSix + " by " + varNine + "?"); 整洁的新风格(可能很慢) String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine); 注意:我的具体使用案例是整个代码中的数百个“单行”日志string。 它们不涉及循环,所以StringBuilder太重了。 我对String.format()特别感兴趣。

如何用date,时间和分钟获得ISO 8601格式的当前时刻?

世界标准时间(UTC),获得ISO 8601格式化表示的最优雅方式是什么? 它应该是这样的: 2010-10-12T08:50Z 。

如何以编程方式在Androidbutton上设置drawableLeft?

我正在dynamic创buildbutton。 我首先使用XML对它们进行了样式devise,并且试图将下面的XML作为程序devise。 <Button android:id="@+id/buttonIdDoesntMatter" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="buttonName" android:drawableLeft="@drawable/imageWillChange" android:onClick="listener" android:layout_width="fill_parent"> </Button> 这是我迄今为止。 我可以做任何事情,但可绘制。 linear = (LinearLayout) findViewById(R.id.LinearView); Button button = new Button(this); button.setText("Button"); button.setOnClickListener(listener); button.setLayoutParams( new LayoutParams( android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT ) ); linear.addView(button);

使用Java与Nvidia GPU(cuda)

我正在做一个用java完成的业务项目,需要计算机业务市场的巨大计算能力。 简单的math,但数据量巨大。 我们订购了一些cuda GPU来试用它,因为Java不支持cuda,我想知道从哪里开始。 我应该build立一个JNI接口? 我应该使用JQUDA还是有其他方法可以使用? 我没有在这个领域的经验,我想如果有人指示我的东西,那么我就可以开始研究和学习。