对于我的程序,我想从属性文件和键的相关值列表中读取一个键.
最近我这样做了
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]}
我在互联网上搜索这样的方式,但没有发现任何东西.我希望应该有办法.有帮助吗?
我目前正在使用tomcat 6作为我的Web服务器.
我有一个非常小的应用程序,不应该花很长时间在服务器上部署,但我的tomcat开始时间过长.
它将大部分时间用于后续步骤.
信息:启动Servlet引擎:Apache Tomcat/6.0.16
我不知道为什么要花很多时间.停止服务器的情况也是如此.我几乎尝试了所有我认识的东西 我还尝试从工作区中删除服务器并从头开始.我不知道是什么问题.
我们有拦截器,我们有自定义拦截器,我们可以在执行操作之前或之后执行我们想要执行的所有操作.
那么有什么需要使用Preparable接口并实现它的准备方法呢?
这是另一种选择还是有一些特定目标可以做到这一点?
我知道jmap用于创建堆转储,Jhat可以分析它.
jVisualVM也可用于分析堆转储(并且可以执行更多任务,例如分析等).
但是使用jHat和visualVM分析堆转储有什么区别(除了使用Web而第二个是桌面).Sun提供不同的工具,哪个更好?
PS:我对这些工具的理解有限,因为我已经开发过有限的分析/分析工具,如JProbe,Java Heap Dump Analyzer等.如果我的理解在某处出错,请更正.
我开发了一个Web应用程序,它处理大量数据并花费大量时间来完成?
所以现在我正在对我的应用程序进行分析,我注意到GC的一个非常糟糕的事情.
当发生完整GC时,它会停止所有过程30到40秒.
我想知道是否有任何方法可以改善这一点.我不想只在GC中占用我的CPU那么多时间.以下是一些有用的细节:
我正在使用HashMap在应用程序启动时缓存一些重要数据.
此缓存有时会增长然后减少.我想知道它在RAM上占用了多少内存.
是否有可能以KB格式获取地图内存?有API吗?
我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) 我刚刚开始学习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 ×8
map ×2
performance ×2
collections ×1
foreach ×1
heap ×1
interceptor ×1
iterator ×1
java-ee ×1
jprofiler ×1
list ×1
memory ×1
profiling ×1
properties ×1
set ×1
struts2 ×1
tomcat ×1
webserver ×1