VisualVM的截图是在我运行IO密集型JVM程序(用Scala编写)时进行的,堆大小为4 GB,只有2 GB在使用中.JVM程序使用内存映射文件.
"映射缓冲池"和"直接缓冲池"是什么意思?
那些游泳池似乎非常充实.由于JVM程序使用内存映射文件,如果池更大,我会看到性能提升吗?如果是这样,如何增加他们的规模?
所有映射文件的大小约为1.1GB.
我正在尝试跳过未使用feedparser和etags修改的RSS源.遵循文档指南:http://pythonhosted.org/feedparser/http-etag.html
import feedparser
d = feedparser.parse('http://www.wired.com/wiredscience/feed/')
d2 = feedparser.parse('http://www.wired.com/wiredscience/feed/', etag=d.etag)
print d2.status
Run Code Online (Sandbox Code Playgroud)
这输出:
200
Run Code Online (Sandbox Code Playgroud)
这个脚本不应该返回304吗?我的理解是,当RSS源更新时,etag会发生变化,如果匹配,那么我应该得到304.
为什么我没有得到我预期的结果?
我有三个在事务边界内执行的事务服务(stratTransaction或begin transaction).所有三个服务分别使用不同的连接(No_Transaction,Local_Transaction和XA_Transaction)进行处理.现在我想知道,当我启动事务(使用javax.transaction.TransactionManager)并在事务边界内运行这三个服务时,我可以看到使用NO和LOCAL事务的服务能够将数据插入表中.现在我使用Service XA在列中插入超过表约束的数据(我知道它应该失败)并调用commit(如果有任何失败则返回一个回滚过程).现在我在NO和Local连接表的表中有数据,而XA连接表没有任何数据.现在:
我想知道当事务在某一时刻失败时,它会被要求从所有表中回滚所有数据,或者只是回滚XA服务的数据?
我也想知道:据我所知,"交易"是一种以原子方式传输数据的过程.那么为什么连接创建包括定义可以通过连接执行的事务类型不是事务的属性?
我还想知道为什么我们必须在连接属性中定义事务类型,而我们必须在启动转换时定义事务类型,并且事务管理器必须执行给定类型的事务.
提前致谢.
commit ×1
database ×1
etag ×1
feedparser ×1
http-headers ×1
java ×1
java-ee ×1
performance ×1
python ×1
rss ×1
scala ×1
transactions ×1