我试着减小了Spring Boot的容量。(Wǒ shìzhe jiǎnxiǎole Spring Boot de róngliàng)
我自己的介绍

-
- opengl-8080
-
- 主に Qiita で技術メモを書いたり
- 関西の SIer 勤務
Spring Boot是什么
-
- Spring ベースのアプリケーションを簡単に作れるようにした仕組み・フレームワーク
- ビルド結果が単一の jar ファイルにまとめられる
单个罐的优点
(Only one option provided as requested)
-
- AP サーバーが同梱されているので、環境ごとに AP サーバーを用意する必要がない
java -jar で起動できる楽さ

单一罐子的缺点
- AP サーバーも含め全ての依存ライブラリを内包するため、ファイルサイズが大きくなる

努力将瓶子的尺寸减小了一下。
结果

结果

尺寸比较

你是怎么做到的?
在Java中,如何实现”Hello World”?
1.撰写代码.
public class Hello {
public static void main(String... args) {
System.out.println("Hello World");
}
}
在Java编译器中进行编译
$ javac Hello.java
3. 生成一个Hello.class文件

使用Java执行
$ java Hello
Hello World
请问您是否理解了呢?

编译前的源代码大小较小!
在中文中,有一个可以打开javac的API是标准的!


改良版的jar机制。
|-LightweightJarExecutor.class :
| → 自分自身の jar の中からソースを取り出してコンパイル・実行するコード
|-...
`-src/ : Spring Boot および依存するライブラリのソース一式
|-ch/ : logback
|-com/ : jackson とか com.sun とか
|-javax/ : javaee の標準 API
|-META-INF/
|-org/ : Spring, hibernate, JBoss, Tomcat, etc...
`-sample/ : Spring MVC の Hello World
启动时的操作
-
- 从自己的jar文件中提取源代码并将其复制到临时目录中
-
- 使用JavaCompiler在临时目录中编译输出的源代码
-
- 使用URLClassLoader从编译结果的输出目录中加载Spring Boot的主类(JarLauncher)
- 执行JarLauncher的main()方法
正是即时编译!(不对)
按照现状来看,存在太多浪费,无法进行轻量化

废话1:评论

无效2:标注

不必要的3:私人的

四无用:空格+换行

精心打磨的简洁代码

成功将容量减少了5MB!

选项一:启动时间较长

选项一:无法进行调试的补偿
