我尝试在运行 Spring Boot 2.3.0 的 maven 项目中使用 buildpack:
mvn spring-boot:build-image
Run Code Online (Sandbox Code Playgroud)
图像创建得很好,但我看到了以下信息:
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/paketo-buildpacks/builder base-platform-api-0.3 daceb4f909b7 40 years ago 690MB
myimage master a482a4a34379 40 years ago 285MB
Run Code Online (Sandbox Code Playgroud)
为什么说图像(连同构建器)是 40 年前创建的?
我正在攻读Spring Core认证,我对提供的学习资料中的这个问题有一些了解:
关闭应用程序上下文的首选方法是什么?
我知道如果我有这样的事情:
ConfigurableApplicationContext context = …
// Destroy the application
context.close();
Run Code Online (Sandbox Code Playgroud)
通过在context objet 上使用close()方法,ApplicationContext被关闭并且应用程序被销毁.
但我认为这不是我必须做的最佳方式.
阅读官方文档,我发现我也可以这样做:
context.registerShutdownHook();
Run Code Online (Sandbox Code Playgroud)
即注册与JVM关闭挂钩,因此是将触发Spring的密切相JVM退出之前的JVM.所以在JVM退出时,Spring的关闭阶段将会执行.
在文档中,我可以读到:通常无法调用,context.close()因为许多应用程序(Web应用程序)无限期运行但是这最后一个断言究竟意味着什么?为什么Web应用程序无限期运行?
所以我的问题是:
context.close()?TNX
由于 Helm v3 内置对象.Release.Time 已删除。
现在将发布时间注入模板的首选方法是什么?
这困扰了我好几天.我只需要通过比较找出第二个xml中缺少的节点.我试过xmlunit,但它并没有真正帮助我找到丢失的节点,因为它逐行比较.两个样本xml如下:xml1:
<test testcase="101">
<value="1">
<value="2">
<value="3">
</test>
Run Code Online (Sandbox Code Playgroud)
XML2:
<test testcase="101">
<value="3">
<value="2">
</test>
Run Code Online (Sandbox Code Playgroud)
请注意,value = 3实际上在第二个副本中它只是到达第一个节点,但我仍然认为它没有丢失.我如何找到丢失的节点值="1"?
我无法访问内部类"listPanel"对象中的变量.有变量"tutajcos"但我无法从CosView类中的其他方法访问.
有什么问题?Eclipse没有提示我什么
package cos.view;
import java.awt.*;
import java.awt.event.*;
import java.util.Observable;
import util.Model;
import util.View;
import javax.swing.*;
import cos.controller.CosController;
import cos.model.CosModel;
public class CosView extends View implements ActionListener {
private JPanel buttonsPanel;
private JPanel listPanel;
private CosModel theModel;
private CosController theController;
public CosView(CosController theController, CosModel theModel) {
this.theModel = theModel;
this.theController = theController;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
buildGui();
}
});
}
private void buildGui() {
setTitle("Program GUI");
listPanel = new ListPanel();
buttonsPanel = new ButtonPanel();
add(buttonsPanel, BorderLayout.NORTH);
add(listPanel, …Run Code Online (Sandbox Code Playgroud) 我们正在 Kubernetes 集群中运行 Java 应用程序。应用程序本身对 RAM 的需求并不高,但我注意到它总是消耗 1GB。
kubectl top pods
NAME CPU(cores) MEMORY(bytes)
my-application-c0ffee 100m 1127Mi
my-application-c0ffee 100m 1109Mi
Run Code Online (Sandbox Code Playgroud)
当我检查jcmd <pid> GC.heap_info容器内部时,我得到以下信息:
def new generation total 89216K, used 12090K [0x00000000bc200000, 0x00000000c22c0000, 0x00000000d2c00000)
...
tenured generation total 197620K, used 151615K [0x00000000d2c00000, 0x00000000decfd000, 0x0000000100000000)
...
Metaspace used 146466K, capacity 152184K, committed 152576K, reserved 1183744K
class space used 18171K, capacity 19099K, committed 19200K, reserved 1048576K
Run Code Online (Sandbox Code Playgroud)
据我了解,默认情况下,Java 保留 1GB 的虚拟内存大小用于存储类信息(为了使用 32 位引用以压缩方式引用它,应事先保留此内存块)。在容器外运行时没什么大不了的,因为实际上并未提交此内存。它只是一个保留的地址空间。
但是,如果在容器内运行,保留内存变为已 …
java ×5
buildpack ×1
docker ×1
git ×1
jvm ×1
kubernetes ×1
maven ×1
nested ×1
oop ×1
spring ×1
spring-boot ×1
spring-mvc ×1
xml ×1
xmlunit ×1