小编NIV*_*GAR的帖子

属性文件,其中列表作为单个键的值

对于我的程序,我想从属性文件和键的相关值列表中读取一个键.
最近我这样做了

public static Map<String,List<String>>categoryMap = new Hashtable<String, List<String>>();


    Properties prop = new Properties();


    try {

        prop2.load(new FileInputStream(/displayCategerization.properties));
        Set<Object> keys = prop.keySet();
        List<String> categoryList = new ArrayList<String>();
        for (Object key : keys) {
            categoryList.add((String)prop2.get(key));
            LogDisplayService.categoryMap.put((String)key,categoryList);
        }
        System.out.println(categoryList);
        System.out.println("Category Map :"+LogDisplayService.categoryMap);

        keys = null;
        prop = null;

    } catch (Throwable e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

和我的属性文件如下 -

A=APPLE
A=ALPHABET
A=ANT
B=BAT
B=BALL
B=BUS
Run Code Online (Sandbox Code Playgroud)

我想要密钥A应该有一个包含[APPLE, ALPHABET,ANT]和包含B 的列表[BAT,BALL,BUS].
所以Map应该是这样的,{A=[APPLE, ALPHABET,ANT], B=[BAT,BALL,BUS]}但我得到了
{A=[ANT], B=[BUS]}
我在互联网上搜索这样的方式,但没有发现任何东西.我希望应该有办法.有帮助吗?

java collections properties map set

24
推荐指数
2
解决办法
11万
查看次数

Tomcat花了太多时间开始

我目前正在使用tomcat 6作为我的Web服务器.
我有一个非常小的应用程序,不应该花很长时间在服务器上部署,但我的tomcat开始时间过长.

它将大部分时间用于后续步骤.

信息:启动Servlet引擎:Apache Tomcat/6.0.16

我不知道为什么要花很多时间.停止服务器的情况也是如此.我几乎尝试了所有我认识的东西 我还尝试从工作区中删除服务器并从头开始.我不知道是什么问题.

java webserver tomcat

8
推荐指数
1
解决办法
3万
查看次数

为什么我们需要Struts2中的Preparable接口?

我们有拦截器,我们有自定义拦截器,我们可以在执行操作之前或之后执行我们想要执行的所有操作.
那么有什么需要使用Preparable接口并实现它的准备方法呢?
这是另一种选择还是有一些特定目标可以做到这一点?

java model-view-controller struts2 java-ee interceptor

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

jmap/jhat vs jVisualVM

我知道jmap用于创建堆转储,Jhat可以分析它.

jVisualVM也可用于分析堆转储(并且可以执行更多任务,例如分析等).

但是使用jHat和visualVM分析堆转储有什么区别(除了使用Web而第二个是桌面).Sun提供不同的工具,哪个更好?

PS:我对这些工具的理解有限,因为我已经开发过有限的分析/分析工具,如JProbe,Java Heap Dump Analyzer等.如果我的理解在某处出错,请更正.

java heap performance profiling memory-management

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

垃圾收集器占用太多的CPU时间

我开发了一个Web应用程序,它处理大量数据并花费大量时间来完成?

所以现在我正在对我的应用程序进行分析,我注意到GC的一个非常糟糕的事情.
当发生完整GC时,它会停止所有过程30到40秒.

我想知道是否有任何方法可以改善这一点.我不想只在GC中占用我的CPU那么多时间.以下是一些有用的细节:

  1. 我使用的是Java 1.6.0.23
  2. 我的应用程序需要20 GB的最大内存.
  3. 每14分钟后发生一次完整的GC.
  4. 内存之前GC为20 GB,GC之后为7.8 GB
  5. CPU中使用的内存(即任务管理器中显示)为41 GB.
  6. 进程完成后(JVM仍在运行)已用内存5 GB,可用内存15 GB.

java performance garbage-collection

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

在内存上获取地图大小(RAM)

我正在使用HashMap在应用程序启动时缓存一些重要数据.
此缓存有时会增长然后减少.我想知道它在RAM上占用了多少内存.
是否有可能以KB格式获取地图内存?有API吗?

java memory map

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

Iterator.hasNext和for-each循环之间是否存在任何关系

JProfiler用于分析我的应用程序,因为它是一个巨大的应用程序,所以我非常了解它的性能和效率.
这花了太长时间,所以我更换所有Iterator.hasNext,for-each但当我在JProfilers CPU视图中看到它显示我Iterator.hasNext调用的方法我正在使用for-each.
为什么这样?这两者之间有什么关系吗?这是示例代码:

    List<Map<String, Object>> mapList = jdbcTemplate
                        .queryForList(MAP.SELECT_ALL);
                for (Map<String, Object> map : mapList) {
            list.add(fillPreferenceMaster(preferenceMasterMap));
}
Run Code Online (Sandbox Code Playgroud)

java foreach iterator list jprofiler

3
推荐指数
1
解决办法
584
查看次数

使用Quartz安排作业

我刚刚开始学习Quartz调度,在第一步中我遇到了问题.
我在其主要网站上查看它的示例,但是当我尝试在我的工作区中开发它时,它给了我错误.

package testing.quartz.scheduler;

    import java.util.Date;
    import java.util.logging.Logger;

    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerFactory;
    import org.quartz.Trigger;
    import org.quartz.impl.StdSchedulerFactory;

    public class TesterMain {

        /**
         * @param args
         */
         public void run() throws Exception {


                // First we must get a reference to a scheduler
                SchedulerFactory sf = new StdSchedulerFactory();
                Scheduler sched = sf.getScheduler();


                // computer a time that is on the next round minute
                Date runTime = evenMinuteDate(new Date());<--Here its giving me error


                // define the job and tie it to …
Run Code Online (Sandbox Code Playgroud)

java scheduled-tasks quartz-scheduler

0
推荐指数
1
解决办法
4413
查看次数