Tag: java

Java中的垃圾收集器是什么?

我是Java新手,对Java中的垃圾收集器感到困惑。 它究竟做了什么以及什么时候开始实施。 请描述Java中垃圾收集器的一些属性。

我如何使用Jackson的自定义串行器?

我有两个我想用JSON序列化成JSON的Java类: public class User { public final int id; public final String name; public User(int id, String name) { this.id = id; this.name = name; } } public class Item { public final int id; public final String itemNr; public final User createdBy; public Item(int id, String itemNr, User createdBy) { this.id = id; this.itemNr […]

如何在Java中使用toString方法将int数组转换为String

我正在使用尝试使用toString(int[])方法,但我认为我做错了: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(INT []) 我的代码: int[] array = new int[lnr.getLineNumber() + 1]; int i = 0; System.out.println(array.toString()); 输出是: [I@23fc4bec 我也试过这样的打印,但是: System.out.println(new String().toString(array)); // **error on next line** The method toString() in the type String is not applicable for the arguments (int[]) 我从更大更复杂的代码中取出了这些代码,但是如果需要,我可以添加它。 但是这应该给一般信息。 我正在寻找输出,就像在Oracle的文档中一样: string表示由数组元素的列表组成,方括号(“[]”)。 相邻的元素由字符“,”(一个逗号后跟一个空格)分隔。

从PEM BASE64获取RSA私钥编码的私钥文件

我有一个私钥文件(PEM BASE64编码)。 我想用它来解密一些其他的数据。使用Java我试图读取文件并解码BASE64编码的数据…这是我试过的代码片段…. import java.io.*; import java.nio.ByteBuffer; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import com.ibm.crypto.fips.provider.RSAPrivateKey; import com.ibm.misc.BASE64Decoder; public class GetPrivateKey { public static RSAPrivateKey get() throws Exception { File privateKeyFile = new File("privatekey.key"); byte[] encodedKey = new byte[(int) privateKeyFile.length()]; new FileInputStream(privateKeyFile).read(encodedKey); ByteBuffer keyBytes = new BASE64Decoder().decodeBufferToByteBuffer(encodedKey.toString()); PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(keyBytes.array()); KeyFactory kf = KeyFactory.getInstance("RSA", "IBMJCEFIPS"); RSAPrivateKey […]

log4j将stdoutredirect到DailyRollingFileAppender

我有一个使用log4j的Java应用程序。 configuration: log4j.rootLogger=info, file log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File=${user.home}/logs/app.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d [%t] %c %p %m%n 所以所有的日志语句都正确地附加到文件,但我失去了stdout和stderr。 如何将exception堆栈跟踪和sysoutredirect到每日滚动文件?

如何在Android设备上将WAV编码为mp3

我已经简化了我的问题,并提供了一个赏金:有什么select压缩原始PCMaudio数据到Android设备上的MP3。 我原来的post:我在我的Android手机上创build了一个合成器,我一直在生成PCM数据发送给扬声器。 现在我想知道如果我可以将这个PCM数据编码为一个MP3保存到SD卡。 MediaRecorder对象可以将来自麦克风的audio编码为各种格式,但不允许以编程方式生成的audio数据进行编码。 所以我的问题是,是否有一个标准的Android API编码audio? 如果不是,那么纯粹的基于Java或NDK的解决scheme在那里? 你能推荐他们吗? 如果没有这个,我只需要将我生成的audio保存为一个WAV文件,我可以轻松完成。

如何在CLI应用程序中“截取”Ctrl + C?

如何在CLI(命令行界面)Java应用程序中拦截 Ctrl + C (通常会终止进程)? 是否存在多平台解决scheme(Linux,Solaris,Windows)? 我正在使用Console的readLine() ,但是如果有必要,我可以使用其他一些方法从标准input中读取字符。

从string中删除所有出现的字符

我可以使用这个: String str = "TextX Xto modifyX"; str = str.replace('X','');//that does not work because there is no such character '' 有没有办法从Java中的string中删除所有的字符X ? 我试过这个,不是我想要的: str.replace('X',' '); //replace with space str.replace('X',' '); //replace with space

在哪里可以findJava JDK源代码?

我想看看Java API中的一个方法。 所以我想要JDK源代码。 在我重新安装Linux之前,我有src.zip包里面包含了所有的官方源代码。 我只是告诉Eclipse这个文件在哪里,我可以看到代码。 但现在我没有这个文件了… 所以问题是: 我在哪里可以find它?

使用BigDecimal处理货币

我试图用自己的货币来创build我自己的货币类,但显然我应该使用BigDecimal 。 有人能帮我开始吗? 对于美元货币,使用BigDecimal的最好方法是什么?例如,至less使得美分的小数点后两位,等等BigDecimal的API是巨大的,我不知道使用哪种方法。 此外, BigDecimal有更好的精度,但是如果它通过一个double ? 如果我做新的BigDecimal(24.99) ,它将如何不同于使用double ? 或者我应该使用构造函数,而不是使用String ?