小编dav*_*son的帖子

与Java捆绑在一起的标准JSON解析器

我需要能够从文件中读取JSON字符串并解析它.

我想知道字符串是否是"格式良好"的JSON.如果是这样,我需要能够读取所有名称值对.

是否有与Java本身捆绑在一起的JSON库?

我更喜欢标准Java发行版附带的东西,而不是下载另一个外部库.

我使用的是JDK 1.6.

java parsing json

9
推荐指数
1
解决办法
2万
查看次数

VisualVM:理想的堆内存使用图

我正在使用监视我的Java应用程序(写入JDK 1.7)VisualVM.以下是显示此应用程序运行的持续时间内堆内存使用情况的图表.

在此输入图像描述

看看这张图,可以看出它中有很多尖峰.这些峰值表示应用程序创建对象.一旦应用程序完成它们,它就会使用gc(在本例中隐式调用)来销毁它们.

此外,这是应用程序仍在运行时内存分析器的屏幕截图

在此输入图像描述

对我来说,图的上下性质表明了java对象的有效使用.这个推论是对的吗?

人们应该瞄准的堆使用图的理想性质是什么?

有没有其他方法可以改善我的应用程序的堆内存使用情况?

java performance visualvm heap-memory

7
推荐指数
1
解决办法
3888
查看次数

为什么在Java中允许初始化引用为空?

在以下使用JDBC的示例中(虽然此问题不是特定于JDBC):

Connection conn = null;

try
{
  ..... Do the normal JDBC thing here  ....
}
catch(SQLException se)
{
   if(conn != null)
   {
     conn.close();
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我没有初始化connto,null那么编译器抱怨在catch块中我不能使用尚未初始化的引用.

Java默认情况下将对象引用初始化为null,那么为什么我需要将其显式初始化为null.如果编译器不喜欢开头为null的引用的原始值,为什么它甚至接受我的显式初始化?

注意:我Eclipse Luna用作我的IDE.

java compiler-construction null initialization

6
推荐指数
1
解决办法
140
查看次数