Java 25 后的时代:像写 Python 一样写 Java

2 天前
 Cbdy

Compact Java App - 像写 Python 一样写 Java

项目地址: https://github.com/alchem-x/compact-sb

什么是 Compact Java App ?

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

快速开始

  1. 确保 Java 25+已安装
java -version  # 需要 Java 25 或更高版本
  1. 运行应用
java Lu.java && java -cp "lib/*" CompactSB.java
  1. 访问 Web 服务 打开浏览器访问 http://localhost:8080/

核心代码示例

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/");
}

为什么选择 Compact Java App ?

  1. 教学友好 - 第一天就能写出实用的程序
  2. 脚本化 - 用 Java 写脚本,享受强类型和优秀性能
  3. 零配置 - 无需复杂项目结构和构建工具
  4. 生产就绪 - 可平滑扩展到企业级应用

与传统 Java 对比

特性 传统 Java Compact Java App
Hello World 5 行,4 个概念 3 行,1 个概念
依赖管理 需要 Maven/Gradle 直接运行源文件
学习曲线 陡峭 平缓
开发速度 快速
运行时性能 优秀 同样优秀

应用场景

技术细节

下一步计划

这个项目展示了 Compact Java App 在 Web 开发中的应用。未来可以:

  1. 添加更多路由处理功能
  2. 集成模板引擎
  3. 支持静态文件服务
  4. 添加数据库连接示例
  5. 创建 RESTful API 演示

相关资源


Compact Java App 让 Java 重新变得简单优雅,同时保持其强大的生态系统。未来已来,让我们一起拥抱这个全新的 Java 时代! 🚀

本项目是 Compact Java App 理念的实践演示,展示了如何用简洁的代码构建实用的应用程序。

5441 次点击
所在节点    Java
46 条回复
codehz
2 天前
还没有像 c#那样可以直接省略 main😉
Tomatopotato
2 天前
java 都精简成这样了,spring 这种框架是打算继续 java kotlin 两脚走路吗?
beginor
2 天前
感觉像是 AI 写的,是不是该举报一下?
realpg
2 天前
java 的繁复从来都不是语法简洁不简介

而是输出个 helloworld 都得整个 hanlder provider
CodeCodeStudy
2 天前
原来计划是用 println("Hello, World!");,现在还有加上 IO.
NotFoundEgg
2 天前
Java 总是想办法精简这种无关紧要、用 IDE 一键生成不用自己写的代码( record 、psvm 、sout ),根本解决不了什么痛点
banmuyutian
2 天前
我不想写 py 味的 Java ,就像有人不想写 Java 味的 Go
MRongM
2 天前
MAKE JAVA GREAT AGAIN
xiangyuecn
2 天前
已经进化到了 notepad.exe 无法编写的程度,可喜可贺
huangsijun17
2 天前
@NotFoundEgg #6 方便用 jsh 写脚本?运维表示一个语言像之前的 Java 那样又臭又长的,我基本不会用。
xgdgsc
2 天前
Java Is BAck
AutumnVerse
2 天前
一个编程语言好与不好不是看语法糖多少,少写一个 calss 一个 function 关键字有什么实际意义吗?反而徒增理解难度
sagnitude
2 天前
导入第三方库,以前 maven 配一下就好了,现在还得手动下载 jar 包放 lib 下面,倒退了属于是
pandaPapa
2 天前
我感觉函数式比面向对象, 难多了
chendy
2 天前
我还以为有强制缩进然后去掉花括号了呢…
spritecn
2 天前
@NotFoundEgg 确实,这些根本就无关紧要,还有用 java 写脚本,一点都不现实,谁家 linux 自带 jdk
spritecn
2 天前
@chendy 强制缩进就有点背祖了吧
mingtdlb
2 天前
至少现在对你的工作毫无意义!
lchynn
2 天前
java 本来可以作为各种脚本语言的运行态的, 以前有个 Jython 的, 直接在 java 中写 python 混搭, 最后编译为 java class , 就像 grovvy 和 kotlin , 可惜最后这个项目好像太监了。
不然还是挺不错的。
iflyapi
2 天前
我对 SB 两个字母总有误解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1162247

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX