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