项目地址: https://github.com/alchem-x/compact-sb
Compact Java App 是基于 Java 25 新特性( JEP 512 )的编程方式,让你可以像写 Python 一样写 Java 程序:
// 传统的 Java Hello World public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } // Compact Java App Hello World void main() { IO.println("Hello, World!"); }
这个仓库演示了 Compact Java App 的实际应用 - 一个轻量级的 Web 服务器实现。
compact-sb/ ├── Lu.java # 紧凑 Java App 主程序 ├── CompactSB.java # Web 服务器核心 ├── lib/ # 依赖库 └── README.md
java -version # 需要 Java 25 或更高版本
java Lu.java && java -cp "lib/*" CompactSB.java
Lu.java - 紧凑 Java App 的精髓:
void main() { // 简洁的 Web 服务器启动 IO.println("Starting Compact Web Server..."); // 自动导入所有 java.base 类 var server = new Server(); server.start(8080); IO.println("Server running at http://localhost:8080/"); }
特性 | 传统 Java | Compact Java App |
---|---|---|
Hello World | 5 行,4 个概念 | 3 行,1 个概念 |
依赖管理 | 需要 Maven/Gradle | 直接运行源文件 |
学习曲线 | 陡峭 | 平缓 |
开发速度 | 慢 | 快速 |
运行时性能 | 优秀 | 同样优秀 |
IO.println()
替代System.out.println()
这个项目展示了 Compact Java App 在 Web 开发中的应用。未来可以:
Compact Java App 让 Java 重新变得简单优雅,同时保持其强大的生态系统。未来已来,让我们一起拥抱这个全新的 Java 时代!
本项目是 Compact Java App 理念的实践演示,展示了如何用简洁的代码构建实用的应用程序。
![]() | 1 codehz 12 天前 via Android 还没有像 c#那样可以直接省略 main |
2 Tomatopotato 11 天前 java 都精简成这样了,spring 这种框架是打算继续 java kotlin 两脚走路吗? |
![]() | 3 beginor 11 天前 via Android 感觉像是 AI 写的,是不是该举报一下? |
![]() | 4 realpg PRO ![]() java 的繁复从来都不是语法简洁不简介 而是输出个 helloworld 得整个 hanlder provider |
5 CodeCodeStudy 11 天前 原来计划是用 println("Hello, World!");,现在还有加上 IO. |
![]() | 6 NotFoundEgg 11 天前 Java 总是想办法精简这种无关紧要、用 IDE 一键生成不用自己写的代码( record 、psvm 、sout ),根本解决不了什么痛点 |
![]() | 7 banmuyutian 11 天前 我不想写 py 味的 Java ,就像有人不想写 Java 味的 Go |
8 MRongM 11 天前 MAKE JAVA GREAT AGAIN |
![]() | 9 xiangyuecn 11 天前 已经进化到了 notepad.exe 无法编写的程度,可喜可贺 |
10 huangsijun17 11 天前 ![]() @NotFoundEgg #6 方便用 jsh 写脚本?运维表示一个语言像之前的 Java 那样又臭又长的,我基本不会用。 |
11 xgdgsc 11 天前 via Android Java Is BAck |
12 AutumnVerse 11 天前 via iPhone 一个编程语言好与不好不是看语法糖多少,少写一个 calss 一个 function 关键字有什么实际意义吗?反而徒增理解难度 |
![]() | 13 sagnitude 11 天前 导入第三方库,以前 maven 配一下就好了,现在还得手动下载 jar 包放 lib 下面,倒退了属于是 |
14 pandaPapa 11 天前 我感觉函数式比面向对象, 难多了 |
![]() | 15 chendy 11 天前 我还以为有强制缩进然后去掉花括号了呢… |
16 spritecn 11 天前 @NotFoundEgg 确实,这些根本就无关紧要,还有用 java 写脚本,一点都不现实,谁家 linux 自带 jdk |
![]() | 18 mingtdlb 11 天前 至少现在对你的工作毫无意义! |
19 lchynn 11 天前 java 本来可以作为各种脚本语言的运行态的, 以前有个 Jython 的, 直接在 java 中写 python 混搭, 最后编译为 java class , 就像 grovvy 和 kotlin , 可惜最后这个项目好像太监了。 不然还是挺不错的。 |
![]() | 20 iflyapi 11 天前 我对 SB 两个字母总有误解 |
![]() | 21 tzengshinfu 11 天前 刚从 C#转到 Java 时最不习惯就是字串比较要写成 string1.eqauls(string2) 后面来几个新人也要解释一番 |
22 cooldong287671 11 天前 随地大小写 |
24 Cbdy OP @sagnitude 我添加了 Lu.java ( Lib Update ),以便根据 lib.txt 自动下载依赖到 lib ,Maven/Gradle 是更强大的构建工具,但也引入了新的概念,这个 Compact Java App 是用来写一点示例代码、教学代码、小脚本的 |
25 EthanZC 11 天前 Scala YYDS |
![]() | 26 JsonNode 11 天前 里嗦,不如 groovy |
27 Ayanokouji 11 天前 直接上 kt 吧,语法比 python 优雅,还能完美使用 java 生态 |
28 cookii 11 天前 via Android java 的问题是运行时太重。。。 |
![]() | 33 guyeu 11 天前 ![]() 您是否在找:JBang |
![]() | 34 wuyiccc 11 天前 那我为什么不用 python ? |
![]() | 35 Cooky 11 天前 非要折腾干脆 clojure |
36 moverinfo 11 天前 via iPhone https://github.com/tinystruct/tinystruct 我也是在做一件简化 Java 开发的工作 |
![]() | 37 realpg PRO @CodeCodeStudy #5 没给你来个 HelloWorldProvider 就不错了 |
![]() | 38 moefishtang 10 天前 via Android > CompactSB.java 这命名多少带点对 Java 的怨念了 |
39 chenzw2 10 天前 java25 jvm 内存占用多大?和 python 比呢? |
![]() | 40 fbu11 10 天前 不如直接上 kotlin 得了 |
![]() | 41 var 10 天前 这一点来说 C# 已经完成学习模仿再超越了。 |
42 sky3hao9 10 天前 别再整语法糖了, 累了 |
![]() | 43 ysy950803 10 天前 ![]() Pava ?哈哈哈! |
![]() | 45 daiisdai 9 天前 via Android 我用 Kotlin |
46 fishman231 9 天前 紧凑语法仅仅是为了对初学者友好,避免提前接触过多概念。并不意味着正常的 java 项目写起来也能这么紧凑。 |