java - 在企业应用程序中同时使用 hibernate 和 spring 时是否会创建两个单独的 JVM 实例?

标签 java eclipse spring hibernate jvm

在企业应用程序中同时使用 hibernate 和 spring 时,是否会创建两个单独的 JVM 实例?如果在eclipse中使用hibernate和spring类,它们也会使用eclipse的jvm实例来加载它们的类吗? spring 或 hibernate 类是否包含 main 方法来创建 jvm 实例?如果 jar 中没有主类,那么这些类如何加载到内存中,或者我们如何为它们创建单独的 JVM 实例?

最佳答案

Is there a separate JVM instance for Hibernate and for spring when they are used together in an application?

没有。

If hibernate and spring class are used inside eclipse, will they use eclipse's jvm instance to load their classes also?

这取决于您如何从 Eclipse 中启动应用程序。但答案可能是否定的。(并且有充分的理由。)

Does any of the spring or hibernate classes contain main method in order to create a jvm instance?

Hibernate,不,也许是 Spring。这取决于>>如何<<你使用Spring。

  • 如果您使用 Spring Boot,那么 Spring 代码库中的某个位置可能会有一个 main 方法。

  • 如果您在 Web 容器(例如 Tomcat、Jetty 等)中使用经典 Spring,则 main 方法由容器提供。

If there is no main class in a jar, how are the classes loaded to memory or how can we create a separate JVM instance for them?

一般来说,答案是 JAR(或 WAR)被其他知道如何加载和启动“您的”代码的东西使用。其他东西可能是使用 java 命令运行的普通 Java 程序,并且有自己的 main 方法,或者它可能是自定义启动器(例如,用C/C++),启动嵌入式 JVM 并调用 Java 代码中的自定义“入口点”方法来开始工作。无论哪种方式,JVM 都会负责代码加载。

您拥有多个 JAR 的事实并不意味着您会或应该为它们创建单独的 JVM。这取决于 JAR 中软件的性质。

关于java - 在企业应用程序中同时使用 hibernate 和 spring 时是否会创建两个单独的 JVM 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36950848/

相关文章:

java - 是否可以在使用 Java 9 的 Eclipse IDE 中使用没有类和主要方法的 sysout?

java - Eclipse 崩溃并显示引用计数错误消息 cairo_surface_destroy

eclipse - maven-scala-plugin 给出 pom 文件错误

java - Spring Boot Controller 中的 REST 路径链

spring - 在Spring Security中的@PreFilter和@PostFilter中获取Collection/Array对象的句柄

java - 如何使用 "java -cp example.jar com.example.MyMainClass"运行我的 Spring Boot 应用程序

java - CSRF token 不是使用 Webflux 生成的

Java instanceof 不匹配 Double

java - 适用于多种数据类型的 RecyclerView.Adapter

java - Spring MVC中无法访问maven项目资源