小编chr*_*ris的帖子

让 npm 从 Git 仓库中获取最新的包

我的问题与类似。

项目依赖于位于私有托管存储库中的 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有处理这样的快照依赖项的首选方法?

git node.js npm

11
推荐指数
2
解决办法
8265
查看次数

是什么导致JVM进行重大垃圾回收?

我有一个Java应用程序,它在不同的环境中显示不同的GC行为.在一个环境中,堆使用图是一个缓慢的锯齿,每10个小时左右就有一个主要的GC,只有当堆大于90%时才会填满.在另一个环境中,JVM每小时在点上执行主要GC(在这些时间堆通常在10%到30%之间).

我的问题是,导致JVM决定执行主要GC的因素是什么?

显然它会在堆几乎满了时收集,但是还有一些其他原因在起作用,我猜这与我应用程序中的每小时计划任务有关(尽管此时内存使用没有峰值).

我假设GC行为在很大程度上取决于JVM; 我在用:

  • Java HotSpot(TM)64位服务器VM 1.7.0_21 Oracle Corporation
  • 没有特定的GC选项,因此使用64位服务器的默认设置(PS MarkSweep和PS Scavenge)

其他信息:

  • 这是在Tomcat 6中运行的Web应用程序.
  • Perm gen在两种环境中都徘徊在10%左右.
  • 具有锯齿行为的环境具有7Gb最大堆,另一个具有14Gb.

拜托,没有猜测.JVM必须具有用于决定何时执行主要GC的规则,并且这些规则必须在源中深处编码.如果有人知道它们是什么,或者它们被记录在哪里,请分享!

java garbage-collection jvm jvm-hotspot

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

garbage-collection ×1

git ×1

java ×1

jvm ×1

jvm-hotspot ×1

node.js ×1

npm ×1