有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何提高java项目性能?

我在MongoDB中有超过2000万的数据,通过使用java驱动程序,我尝试使用JFreeChart获取数据并绘制图表

我有一个简单的主类,它从MongoDb读取数据,创建数据集并绘制图表。当我在PC(3GB Ram,i5处理器)上运行程序时,它的执行速度非常慢。在10小时内,它只执行200K数据。然后,我尝试在IBMServer中使用24GBRAM运行代码,但性能相同

这是我运行的命令:

java-cp我的程序。jar:external1。jar:external2:jar图

服务器上的速度不是很快吗?我怎样才能提高性能


共 (2) 个答案

  1. # 1 楼答案

    看起来您正处于部署阶段。因此,如果您有一个将在服务器上运行的web应用程序,那么您不应该只运行该应用程序。(.jar) 应创建Web应用程序归档(.war)并将其安装到容器(Tomcat、Glassfish、Weblogic等)中。 完成这些操作后,如果仍然存在性能问题,那么这表明代码/逻辑存在问题

  2. # 2 楼答案

    我解决了这个问题。它与Java无关,问题是由Jfreechart引起的

    我正在对MongoDB上的数据进行排序,并将数据添加到XYSeries以创建数据集。 XYSeries在构造函数中有自动排序字段,默认情况下为true。这意味着,当您向数据集添加新项时,它将检查序列中的项是否已排序。通过将其设置为false,可以提高性能

    XYSeries series = new XYSeries("followersCount",false);
    

    其次,我在add method中将notify设置为false。如果未将其设置为false,则会向所有注册的侦听器发送通知,从而降低性能

    series.add(1,2000,false);