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

3 天前
 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 理念的实践演示,展示了如何用简洁的代码构建实用的应用程序。

5702 次点击
所在节点    Java
46 条回复
tzengshinfu
2 天前
刚从 C#转到 Java 时最不习惯就是字串比较要写成 string1.eqauls(string2)
后面来几个新人也要解释一番
cooldong287671
2 天前
随地大小写
Cbdy
2 天前
@iflyapi SB = Spring Boot, Java 世界最流行的开发框架
Cbdy
2 天前
@sagnitude 我添加了 Lu.java ( Lib Update ),以便根据 lib.txt 自动下载依赖到 lib ,Maven/Gradle 是更强大的构建工具,但也引入了新的概念,这个 Compact Java App 是用来写一点示例代码、教学代码、小脚本的
EthanZC
2 天前
Scala YYDS
JsonNode
2 天前
啰里啰嗦,不如 groovy
Ayanokouji
2 天前
直接上 kt 吧,语法比 python 优雅,还能完美使用 java 生态
cookii
2 天前
java 的问题是运行时太重。。。
spritecn
2 天前
@JsonNode java8 尤其 11 后,groovy 的使命就结束了
spritecn
2 天前
@JsonNode groovy 发了 5.0,甚至连个像样的资讯都没有
JsonNode
2 天前
@spritecn #29 Java 的裹脚布时代不结束,groovy 的使命就不会结束
JsonNode
2 天前
@spritecn #30 一个 String Templates 都能难产好几年,不知道有什么技术难题没解决
guyeu
2 天前
您是否在找:JBang
wuyiccc
2 天前
那我为什么不用 python ?
Cooky
2 天前
非要折腾干脆 clojure
moverinfo
2 天前
https://github.com/tinystruct/tinystruct 我也是在做一件简化 Java 开发的工作
realpg
1 天前
@CodeCodeStudy #5
没给你来个 HelloWorldProvider 就不错了
moefishtang
1 天前
> CompactSB.java

这命名多少带点对 Java 的怨念了😂
chenzw2
1 天前
java25 jvm 内存占用多大?和 python 比呢?
fbu11
1 天前
不如直接上 kotlin 得了

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

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

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

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

© 2021 V2EX