2023-08-20
JAVA
0

JVM详解

JVM定义

  • JVM(Java Virtual Machine)即Java虚拟机,它是一个抽象的计算机,是运行Java字节码的虚拟执行引擎,JVM为Java的跨平台性提供了runtime环境,屏蔽了底层系统的差异,让Java程序只需要面向JVM编程就可以在不同系统上运行。它为Java程序管理内存,保证安全,提供线程支持等功能。
2023-07-14
JAVA
0

小谈线程并发工具

  Java 并发包提供了许多线程并发工具,用于在多线程环境下管理和控制线程的执行,下面就详细介绍CountDownLatchCyclicBarrierSemaphoreExchanger的原理和使用。

CountDownLatch

简介

CountDownLatch 是 Java 并发编程中的一个工具类,它用于实现线程间的等待。它的作用是让某个线程等待其他线程完成操作后再继续执行

2023-06-08
Spring Boot
0

Spring Bean生命周期

流程图

graph TD
Bean在SpringBean应用上下文中的生命周期 --> 实例化
1.ApplicationContext\n2.scope=singleton --> 实例化
实例化 --> 设置属性
setXXX --> 设置属性
设置属性 --> 执行setBeanName方法
可选,bean类继承BeabNameAware接口\n可选,bean类继承BeanFactoryAware接口 --> 执行setBeanName方法
2023-06-07
JAVA
0

彻底理解Java中的各种锁

1. Java中的锁是什么

在Java中,锁(Lock)是一种同步机制,用于保护共享资源,确保多个线程在访问共享资源时按照一定的顺序进行访问,从而避免数据竞争和并发访问引起的问题。

2023-05-30
JAVA
0

Springboot整合Graalvm项目编译启动飞快

1. graalvm官网

2. 介绍

image.png

3. 和jvm的异同点

  • 相同点

    1. GraalVM和JVM都是Java平台的运行时环境,但它们在一些方面有所不同。
  • 差异

    1. JVM(Java虚拟机)是Java平台的标准运行时环境。它负责将Java字节码解释或编译成本地机器码,并在目标平台上执行。JVM提供了垃圾回收、即时编译器、类加载、线程管理等核心功能,使得Java程序能够在不同的操作系统和硬件平台上运行。

    2. GraalVM是一个开源的高性能运行时环境,它支持多种编程语言(包括Java、JavaScript、Python等)在一个共享的虚拟机中运行。GraalVM的一个主要特性是其即时编译器,它基于Graal编译器将Java字节码直接编译成本地机器码,而不是通过解释执行。这种编译方式可以提供更高的执行性能和更低的启动时间。

    3. 此外,GraalVM还提供了一些其他功能,例如支持原生映像(Native Image),可以将Java应用程序编译成独立的本机可执行文件,从而进一步提高性能和减少内存消耗。GraalVM还提供了与其他语言的互操作性,并支持在同一虚拟机中混合使用不同的语言。

总的来说:JVM是Java平台的标准运行时环境,而GraalVM是一个创新性的、支持多语言的高性能运行时环境,具有更好的即时编译性能和其他扩展功能。根据具体的需求和场景,可以选择使用JVM或GraalVM作为Java应用程序的运行时环境。