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应用程序的运行时环境。

2023-05-11
Vue
0

Vue实现重定向功能的

场景说明

在Vue.js开发中,有时我们需要在用户完成登录后将其重定向到特定页面。下面的代码示例演示了如何使用JavaScript和Vue.js框架来实现这个功能。

2023-05-05
JAVA
0

基于hutool造一个加解密轮子

前提

  • 搭建springboot项目
  • 引入hutool依赖
  • 建议引入lombok依赖

相关代码

  1. 依赖
xml
<!-- 注意修改版本信息 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${最新版本}</version> </dependency>
  1. 生成密钥代码
2023-04-27
Spring Boot
0

springboot之jackson格式化

常见注解列表

注解名称注解作用
@JsonFormat指定在序列化/反序列化时使用的日期格式。可以用于将日期格式化为指定的字符串,或者将字符串解析为日期对象。
@JsonIgnore指定在序列化/反序列化时要忽略的属性。可以用于排除不需要序列化/反序列化的属性,或者避免循环引用问题。
@JsonProperty指定在序列化/反序列化时使用的属性名称。可以用于将 Java 对象的属性名映射到 JSON 字段名,或者将 JSON 字段名映射到 Java 对象的属性名。
@JsonView
@JsonInclude控制在序列化时哪些字段需要包含。可以设置 Include.ALWAYS(默认值,始终包含)、Include.NON_NULL(null 值不包含)、Include.NON_EMPTY(null 值和空集合不包含)等选项。
@JsonCreator指定在反序列化时使用的构造函数或静态工厂方法。可以用于自定义对象的创建过程,或者处理 JSON 中缺少的属性。
@JsonGetter/@JsonSetter指定在序列化/反序列化时使用的方法。可以用于自定义属性的序列化/反序列化过程,或者处理 JSON 中缺少的属性。
@JsonUnwrapped指定在序列化/反序列化时展开嵌套对象。可以用于将嵌套对象的属性展开到当前对象中,或者将当前对象的属性展开到嵌套对象中。

关于@JsonFormat、@DateTimeFormat的区别,以及失效问题?

2023-03-22
力扣
0

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度

示例1

shell
输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。