项目地址: 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 22 小时 33 分钟前 via Android
还没有像 c#那样可以直接省略 main😉
|
2
Tomatopotato 15 小时 34 分钟前
java 都精简成这样了,spring 这种框架是打算继续 java kotlin 两脚走路吗?
|
![]() |
3
beginor 15 小时 19 分钟前 via Android
感觉像是 AI 写的,是不是该举报一下?
|
![]() |
4
realpg PRO ![]() java 的繁复从来都不是语法简洁不简介
而是输出个 helloworld 都得整个 hanlder provider |
5
CodeCodeStudy 13 小时 59 分钟前
原来计划是用 println("Hello, World!");,现在还有加上 IO.
|
![]() |
6
NotFoundEgg 13 小时 49 分钟前
Java 总是想办法精简这种无关紧要、用 IDE 一键生成不用自己写的代码( record 、psvm 、sout ),根本解决不了什么痛点
|
![]() |
7
banmuyutian 13 小时 29 分钟前
我不想写 py 味的 Java ,就像有人不想写 Java 味的 Go
|
8
MRongM 13 小时 21 分钟前
MAKE JAVA GREAT AGAIN
|
![]() |
9
xiangyuecn 13 小时 21 分钟前
已经进化到了 notepad.exe 无法编写的程度,可喜可贺
|
10
huangsijun17 13 小时 20 分钟前 ![]() @NotFoundEgg #6 方便用 jsh 写脚本?运维表示一个语言像之前的 Java 那样又臭又长的,我基本不会用。
|
11
xgdgsc 13 小时 14 分钟前 via Android
Java Is BAck
|
12
AutumnVerse 13 小时 14 分钟前 via iPhone
一个编程语言好与不好不是看语法糖多少,少写一个 calss 一个 function 关键字有什么实际意义吗?反而徒增理解难度
|
![]() |
13
sagnitude 13 小时 12 分钟前
导入第三方库,以前 maven 配一下就好了,现在还得手动下载 jar 包放 lib 下面,倒退了属于是
|
14
pandaPapa 13 小时 7 分钟前
我感觉函数式比面向对象, 难多了
|
![]() |
15
chendy 13 小时 4 分钟前
我还以为有强制缩进然后去掉花括号了呢…
|
16
spritecn 13 小时 3 分钟前
@NotFoundEgg 确实,这些根本就无关紧要,还有用 java 写脚本,一点都不现实,谁家 linux 自带 jdk
|
![]() |
18
mingtdlb 13 小时 2 分钟前
至少现在对你的工作毫无意义!
|
19
lchynn 13 小时 2 分钟前
java 本来可以作为各种脚本语言的运行态的, 以前有个 Jython 的, 直接在 java 中写 python 混搭, 最后编译为 java class , 就像 grovvy 和 kotlin , 可惜最后这个项目好像太监了。
不然还是挺不错的。 |
![]() |
20
iflyapi 12 小时 53 分钟前
我对 SB 两个字母总有误解
|
![]() |
21
tzengshinfu 12 小时 43 分钟前
刚从 C#转到 Java 时最不习惯就是字串比较要写成 string1.eqauls(string2)
后面来几个新人也要解释一番 |
22
cooldong287671 12 小时 39 分钟前
随地大小写
|
24
Cbdy OP @sagnitude 我添加了 Lu.java ( Lib Update ),以便根据 lib.txt 自动下载依赖到 lib ,Maven/Gradle 是更强大的构建工具,但也引入了新的概念,这个 Compact Java App 是用来写一点示例代码、教学代码、小脚本的
|
25
EthanZC 12 小时 0 分钟前
Scala YYDS
|
![]() |
26
JsonNode 11 小时 52 分钟前
啰里啰嗦,不如 groovy
|
27
Ayanokouji 11 小时 43 分钟前
直接上 kt 吧,语法比 python 优雅,还能完美使用 java 生态
|
28
cookii 11 小时 37 分钟前 via Android
java 的问题是运行时太重。。。
|
![]() |
33
guyeu 5 小时 59 分钟前 ![]() 您是否在找:JBang
|
![]() |
34
wuyiccc 42 分钟前
那我为什么不用 python ?
|
![]() |
35
Cooky 刚刚
非要折腾干脆 clojure
|