我正在学习TFS Java SDK,使用Java连接TFS服务器并进行查询。它显示内存不足的异常。
Exception in thread "ReplicaSetStatus:Updater" Exception in thread "Thread-1" java.lang.OutOfMemoryError: Java heap space
Caused by: java.sql.SQLException: Out of Memory
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsq
我需要帮助优化我的服务器端Java程序的一部分。我将尽量简化解释。
我有一个Java服务器,它需要最大化A、B、C三个对象的功能。我总是找到三个中最不合适的,用数据库中的另一个随机的替换它。
在大约100次迭代中,大约需要2.5秒,而在250次中,我已经达到了9秒。
我试图找出花费时间最多的时间,在JPA查询上我损失了大约70%的时间。我认为问题在于,每次迭代时,我都会执行一个获取随机新对象的查询。
Query q = em.createQuery("SELECT object FROM Obj o WHERE .... ORDER BY random()");
设置参数
q.
我们正在为我们的应用程序评估Neo4J,在一个小型测试数据库中测试它,该数据库共有20K节点、150 K属性和100 K关系。分支因子为~100关系/节点。服务器和版本信息低于1。Cypher查询如下:
MATCH p = ()-[r1:RATES]-(m1:Movie)-[r2:RATES]-(u1:User)-[r3:RATES]-(m2:Movie)-[r4:RATES]-()
RETURN r1.id as i_id, m1.id, r2.id, u1.id, r3.id, m2.id, r4.id as t_id;
(第一个和最后一个空节点对我们来说并不重要,但我不知道如何从关系开始
到目前为止,我用两种方式查询neo4j图db,
使用服务器,其中我需要选择数据库,启动服务器,并通过网页查询。
使用Java,其中选择数据库路径,创建数据库对象并执行查询。
现在,我将从MySQL转移到Neo4j,在那里我必须复制这些数据库并执行连接查询。
我最初的想法是将MySQL中的每个数据库复制为Neo4j中的图形数据库。但是,我对一次查询两个不同图的没有任何线索。
直截了当地提出我的问题:
How to perform join query on two different graphs in neo4j?
我使用Ignite.NET 2.8.0.20190421,在使用ICache.QueryContinuous附加连续查询并长期侦听对象的更改时获得了OutOfMemoryException。
例如:在服务器端,我在缓存中创建单个对象。然后启动客户端,并开始使用QueryContinuous侦听该对象的更改。在我开始频繁地更改服务器端的对象并在Java中查找它的VisualVM内存消耗之后,它会不断增长,直到OutOfMemoryException。
看起来服务器在内存中保存了所有版本的更改对象,尽管它们是无用的。
示例:
// Our object to store, make it big
我使用java从Mysql查询一些记录。但是在一些持续时间的查询中,我遇到了一个导致查询失败的问题,而在另一些查询中,它的查询成功了。下一个是错误消息:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 1,674