如何提高java项目性能?
我在MongoDB中有超过2000万的数据,通过使用java驱动程序,我尝试使用JFreeChart获取数据并绘制图表
我有一个简单的主类,它从MongoDb读取数据,创建数据集并绘制图表。当我在PC(3GB Ram,i5处理器)上运行程序时,它的执行速度非常慢。在10小时内,它只执行200K数据。然后,我尝试在IBMServer中使用24GBRAM运行代码,但性能相同
这是我运行的命令:
java-cp我的程序。jar:external1。jar:external2:jar图
服务器上的速度不是很快吗?我怎样才能提高性能
# 1 楼答案
看起来您正处于部署阶段。因此,如果您有一个将在服务器上运行的web应用程序,那么您不应该只运行该应用程序。(.jar) 应创建Web应用程序归档(.war)并将其安装到容器(Tomcat、Glassfish、Weblogic等)中。 完成这些操作后,如果仍然存在性能问题,那么这表明代码/逻辑存在问题
# 2 楼答案
我解决了这个问题。它与Java无关,问题是由Jfreechart引起的
我正在对MongoDB上的数据进行排序,并将数据添加到XYSeries以创建数据集。 XYSeries在构造函数中有自动排序字段,默认情况下为true。这意味着,当您向数据集添加新项时,它将检查序列中的项是否已排序。通过将其设置为false,可以提高性能
其次,我在add method中将notify设置为false。如果未将其设置为false,则会向所有注册的侦听器发送通知,从而降低性能