我的问题与此类似。
项目依赖于位于私有托管存储库中的 Git 模块:
"dependencies": {
"mymod": "git+https://mygitserver:8443/scm/od/mymod.git",
...
}
Run Code Online (Sandbox Code Playgroud)
目的是使其成为快照依赖项,因此每当mymod修改任何代码时,项目都会下载最新版本。
问题是,我应该正确使用什么命令将我的项目更新到模块的最新版本?
我发现唯一有效的是:
rm -rf node_modules/mymod
npm install
Run Code Online (Sandbox Code Playgroud)
npm install正如@Vishwanath 在他的问题中指出的那样,单独运行什么都不做(假设它已经运行过一次),因为该模块已经安装。npm upgrade是不合适的,因为我也有很多其他模块的依赖,我不想把它们都升级到新版本。
我想我可以明确版本mymod,然后package.json在新版本发生变化时用新版本更新我的本地,但这会创建一个持续的维护任务。
它似乎npm有足够的信息来确定何时需要升级,因为node_modules/mymod/package.json包含最后一个已知的主修订,它可以与当前的主修订进行比较:
"gitHead": "b63f0df8ef...",
"_resolved": "git+https://mygitserver:8443/scm/od/mymod.git#b63f0df8ef..."
Run Code Online (Sandbox Code Playgroud)
是否npm有处理这样的快照依赖项的首选方法?
我有一个Java应用程序,它在不同的环境中显示不同的GC行为.在一个环境中,堆使用图是一个缓慢的锯齿,每10个小时左右就有一个主要的GC,只有当堆大于90%时才会填满.在另一个环境中,JVM每小时在点上执行主要GC(在这些时间堆通常在10%到30%之间).
我的问题是,导致JVM决定执行主要GC的因素是什么?
显然它会在堆几乎满了时收集,但是还有一些其他原因在起作用,我猜这与我应用程序中的每小时计划任务有关(尽管此时内存使用没有峰值).
我假设GC行为在很大程度上取决于JVM; 我在用:
其他信息:
拜托,没有猜测.JVM必须具有用于决定何时执行主要GC的规则,并且这些规则必须在源中深处编码.如果有人知道它们是什么,或者它们被记录在哪里,请分享!