Jackson图书馆的ObjectMapper类似乎是线程安全的 。 这是否意味着我应该声明我的ObjectMapper像这样的静态字段 class Me { private static final ObjectMapper mapper = new ObjectMapper(); } 而不是像这样的实例级别的字段? class Me { private final ObjectMapper mapper = new ObjectMapper(); }
我在Java中有一个双重的,我想检查是否是NaN 。 做这个的最好方式是什么?
什么是“instanceof”运算符用于? 我了解到Java有instanceof操作符。 你能详细说明它在哪里使用,它的优点是什么?
我认为这将很容易实现,但到目前为止,我还没有find在Java class editor和jsf faceted webapp XHTML file editor上的注释/取消注释快捷方式的解决scheme: 快速评论/取消注释一行(如ctrl + d是删除单行) 能够select多行并评论/取消评论 例如 : 单行java代码 ,来自: private String name; 成 //private String name; 多行java代码 ,来自: private String name; private int age; 成 /*private String name; private int age;*/ 单行xhtml代码 ,来自: <h:inputText … /> 成 <!– h:inputText … / –> 多行xhtml代码 ,来自: <h:inputTextarea rows="xx" cols="yy" … […]
我刚刚创build了示例BB应用程序,它可以允许selectdate。 DateField curDateFld = new DateField("Choose Date: ", System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT); selectdate后,我需要将该长的值转换为string,以便我可以轻松地将date值存储在数据库中的某个位置。 我是Java和黑莓开发的新手。 long date = curDateFld.getDate(); 我应该如何将这个长的值转换为string? 此外,我想从string转换回长。 我认为,我可以使用long l = Long.parseLong("myStr"); ?
我正在阅读Java的ArrayList源代码,并注意到if语句中的一些比较。 在Java 7中, grow(int)方法使用 if (newCapacity – minCapacity < 0) newCapacity = minCapacity; 在Java 6中, grow并不存在。 然后使用ensureCapacity(int)方法 if (newCapacity < minCapacity) newCapacity = minCapacity; 这个变化背后的原因是什么? 这是一个性能问题还是一个风格? 我可以想象,比较零比较快,但执行一个完整的减法只是为了检查是否为负面似乎有点矫枉过正给我。 同样在字节码方面,这将涉及两个指令( ISUB和IF_ICMPGE )而不是一个( IFGE )。
我想知道在Java中是否有一个特殊的原因是总是使用“ extends ”而不是“ implements ”来定义types参数的范围。 例: public interface C {} public class A<B implements C>{} 是禁止的,但 public class A<B extends C>{} 是正确的。 这是什么原因?
我在山狮上使用IDEA 12 Leda。 我想增加IDE可以使用的最大内存。 我将Info.plist文件中的VMOptions设置为-Xmx2048m -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar 当我打开IDEA,我仍然看到最大的内存是711米。 jps -v显示我的VMOptions已被加载,但被下面的选项取代。 29388 **-Xmx2048m** -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Xms128m **-Xmx800m** -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseCompressedOops -Didea.paths.selector=IdeaIC12 -Dsun.java2d.noddraw=true -Didea.max.intellisense.filesize=2500 -Didea.dynamic.classpath=false -Didea.jars.nocopy=false -Dsun.java2d.d3d=false -Dapple.awt.fullscreencapturealldisplays=false -Dapple.laf.useScreenMenuBar=true -Djava.endorsed.dirs= -Dswing.bufferPerWindow=false -Didea.fatal.error.notification=enabled -Didea.cycle.buffer.size=1024 -Didea.popup.weight=heavy -Didea.xdebug.key=-Xdebug -Dapple.awt.graphics.UseQuartz=true -Dsun.java2d.pmoffscreen=false -Didea.no.launcher=false -DCVS_PASSFILE=~/.cvspass -Didea.use.default.antialiasing.in.editor=false -Dcom.apple.mrj.application.live-resize=false -Didea.smooth.progress=false 29392 Jps -Dapplication.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home -Xms8m -Xmx800从哪里来? 我需要删除它。
在我的生活中,我第一次发现自己处于一个正在编写一个开源的Java API的位置。 希望被纳入许多其他项目。 对于日志logging,我(和我工作的人)总是使用JUL(java.util.logging),从来没有任何问题。 但是现在我需要更详细地了解我应该为我的API开发做些什么。 我已经做了一些这方面的研究,并用我得到的信息,我只是更加困惑。 因此这篇文章。 因为我来自JUL,所以我对此很有偏见。 我对其余的知识不是那么大。 从我所做的研究中,我已经想出了人们不喜欢JUL的原因: “在Sun发布JUL之前,我就开始用Java开发了,而且我继续使用logging-framework-X而不是学习新的东西” 。 嗯。 我不是在开玩笑,这其实是人们所说的。 有了这个论点,我们都可以做COBOL。 (但是我当然可以把这当作是一个懒惰的家伙) “我不喜欢JUL的日志级别的名字” 。 好吧,严重的是,这只是不足以引入新的依赖关系。 “我不喜欢JUL输出的标准格式” 。 嗯。 这只是configuration。 你甚至不需要做任何代码明智的事情。 (事实上,在过去,您可能不得不创build自己的Formatter类才能正确使用)。 “我使用其他也使用logging-framework-X的库,所以我认为使用这个库更容易 。” 这是一个循环论证,不是吗? 为什么'每个人'使用日志框架-X而不是JUL? “其他人都在使用logging-framework-X” 。 这对我来说只是上述的一个特例。 多数并不总是正确的。 所以真正的大问题是为什么不是JUL? 。 我错过了什么? 日志外观(SLF4J,JCL)存在的理由是历史上存在多种日志实现方式,其原因实际上可以追溯到JUL看到的那个时代。 如果JUL是完美的,那么伐木外墙将不存在,或者什么? 而不是拥抱他们,我们不应该问为什么他们是必要的第一位? (看看这些原因是否还存在) 好的,到目前为止,我的研究已经导致了几个我可以看到的JUL可能是真正的问题 : 性能 。 有人说SLF4J的性能比其他的要好。 这在我看来是一个过早优化的例子。 如果你需要logging每秒数百兆字节,那么我不知道你是否在正确的道路上。 JUL也发展了,你在Java 1.4上做的testing可能不再是真实的。 你可以在这里阅读它,并且这个修补程序已经把它写入了Java 7中。许多人还谈到了日志logging方法中string串联的开销。 然而,基于模板的日志logging避免了这种成本,它也存在于JUL中。 我个人从来没有真正写过基于模板的日志。 太懒了。 例如,如果我与JUL做这个: […]
JUnit框架包含2个Assert类(很明显,在不同的包中),每个方法看起来都非常相似。 有人可以解释为什么这是? 我所指的类是: junit.framework.Assert和org.junit.Assert 。