我正在使用ehcache 1.2.3.由于高速缓存大小是根据"元素"指定的,因此高速缓存占用的内存可能差异很大(ehcache与hibernate一起使用,并且还保持标准查询高速缓存,其中查询返回大小可能不同的结果集).我的问题是:如果JVM内存不足会发生什么.我从阅读ehcache的更改日志中得到的印象是,最初它使用的是软引用,但是由于java 1.4正在积极地清理它们,所以软引用最终被删除了.因此,如果缓存太大,我会得到OutOfMemoryError?Ehcache中没有试图阻止它的东西?
我试图解决以下问题:
mn迷宫是一个mn矩形网格,其中墙壁放置在网格单元之间,使得从左上角正方形到任何其他正方形只有一条路径.以下是912迷宫和1520迷宫的示例:
设C(m,n)为不同mn迷宫的数量.可以通过来自另一个迷宫的旋转和反射形成的迷宫被认为是不同的.
可以证实C(1,1)= 1,C(2,2)= 4,C(3,4)= 2415,C(9,12)= 2.5720e46(科学计数法四舍五入为5显着位).
找C(100,500)
现在,有一个明确的公式,它给出了正确的结果,并且它是完全可计算的.但是,据我所知,Project Euler问题的解决方案应该更像是聪明的算法,而不是明确的公式计算.试图将解决方案表示为递归,我只能到达一个线性系统,其中变量的数量随着迷宫的大小呈指数增长(更确切地说,如果有人试图为mxn迷宫的数量写一个递归,其中m保持固定,一个到达线性系统,使得其变量的数量随m呈指数增长:其中一个变量是具有问题380的声明中给出的属性的mxn迷宫的数量,而其他变量是mxn迷宫的数量.在一些特定的"配置"中触摸迷宫边界的多个连接组件 - 并且这种"配置"的数量似乎随着m呈指数增长.因此,虽然这种方法在m = 2,3,4等时是可行的,它似乎不适用于m = 100).
我还想把问题减少到可以更容易解决的子问题,然后在构建更大的子问题(动态编程方法)的解决方案时重用子问题解决方案,但在这里我偶然发现子问题似乎涉及不规则的迷宫形状,再次,这种迷宫的数量是m,n的指数.
如果有人知道一种可行的方法(m = 100,n = 500),除了使用显式公式或一些特殊定理,并且可以暗示在哪里看,对我来说这将是非常有趣的.
在Maven(Java)中,有可能构建具有不同“配置文件”的Webapp War,例如,“配置文件”指示要放入配置文件的Web服务的URL。因此,“测试配置文件”将指示与“生产配置文件”不同的URL。
是否有类似于ng build的配置文件?
当一个实体的字段部分是集合时,人们希望以尽可能少的查询数并使用尽可能少的内存来获取数据。
第一个问题通过JPQL查询中的“联接获取”解决(解决了N + 1问题)。
但是,“ join fetch”(通过检查相应的SQL查询可以很容易地看到)引起笛卡尔乘积问题:对应于没有多重性的实体字段的每个“行”都以多重性N_1 x N_2 x ..出现在返回的结果集中。 x N_m,其中N_1是第一个集合的多重性,N_2是第二个集合的多重性,N_m是第m个集合的多重性,假定实体具有m个字段(即集合)。
Hibernate使用FetchMode.SUBSELECT解决了这个问题(如果我没记错的话,它会进行m + 1个查询,每个查询都不返回冗余数据)。解决JPA中此问题的标准方法是什么(在我看来,至少在这种情况下,我无法将JPA注释与Hibernate的注释混合使用)?