零依赖
核心模块只依赖 JDK,不引入任何第三方库,免去依赖地狱与许可证风险。
我们不堆砌特性,只做长期可维护的工程基础。
核心模块只依赖 JDK,不引入任何第三方库,免去依赖地狱与许可证风险。
完整的 Java 模块系统支持,显式 exports,IDE 提示干净。
虚拟线程、records、sealed、pattern matching,为新版本而生。
Javadoc / README / 错误信息全部中英双语,中文团队不再被语言绊住。
Apache-2.0 许可,按 Core / Foundation / Domain / Business 四层分级,按需引入。
// opencode-base-core
import cloud.opencode.base.core.*;
User u = OpenObject.defaultIfNull(user, fallback);
int n = Convert.toInt("42", 0);
Pair<String, Integer> p = Pair.of("age", 18);
Preconditions.checkArgument(age >= 0, "age >= 0");
// opencode-base-string
import cloud.opencode.base.string.*;
String camel = OpenNaming.toCamel("user_name"); // userName
double sim = Similarity.jaroWinkler("Leon", "Leo");// 0.96
String safe = OpenMask.phone("13800138000"); // 138****8000
boolean ok = OpenVerify.email("a@b.com");
// opencode-base-date
import cloud.opencode.base.date.OpenDate;
LocalDateTime t = OpenDate.parse("2026-04-26 10:00");
String rel = OpenDate.relative(t); // "2 hours ago"
boolean wd = OpenDate.isWorkday(LocalDate.now());
int q = OpenDate.quarterOf(LocalDate.now());
// opencode-base-io
import cloud.opencode.base.io.OpenIO;
String txt = OpenIO.readString("notes.md");
OpenIO.writeString("out.md", txt);
OpenIO.watch("/tmp", e -> log.info(e.toString()));
OpenIO.chunked("big.csv", 8192, this::process);
// opencode-base-i18n
import cloud.opencode.base.i18n.OpenI18n;
OpenI18n.locale(Locale.SIMPLIFIED_CHINESE);
String hi = OpenI18n.t("greeting.hello", "Leon"); // 你好,Leon
String err = OpenI18n.t("error.notfound");
OpenI18n.reload();
// opencode-base-crypto
import cloud.opencode.base.crypto.OpenCrypto;
byte[] key = OpenCrypto.aes().keyGen(256);
byte[] enc = OpenCrypto.aes().gcm(key).encrypt("hello".getBytes());
String hash = OpenCrypto.argon2().hash("password");
String jwt = OpenCrypto.jwt().sign(claims, secret);
// opencode-base-cache
import cloud.opencode.base.cache.OpenCache;
Cache<String, User> c = OpenCache.lfu()
.maxSize(10_000)
.expireAfterWrite(Duration.ofMinutes(10))
.build();
User u = c.get("u:1", k -> loadUser(k));
// opencode-base-id
import cloud.opencode.base.id.OpenId;
long sf = OpenId.snowflake().next();
String ulid = OpenId.ulid().next();
String nano = OpenId.nano(21).next();
String typed = OpenId.prefixed("user_").ulid().next();
// opencode-base-json
import cloud.opencode.base.json.OpenJson;
record User(String name, int age) {}
String s = OpenJson.toJson(new User("Leon", 18));
User u = OpenJson.fromJson(s, User.class);
String name = OpenJson.path(s, "$.name").asString();
// opencode-base-oauth2
import cloud.opencode.base.oauth2.*;
OAuth2Client gh = OAuth2.github(clientId, secret).pkce();
String url = gh.authorizeUrl("state-xyz");
TokenSet token = gh.exchangeCode(code);
UserInfo me = gh.userInfo(token);
// opencode-base-event
import cloud.opencode.base.event.OpenEvent;
OpenEvent.subscribe(OrderPaid.class, e -> ship(e.orderId()));
OpenEvent.publishAsync(new OrderPaid(orderId)); // 虚拟线程
OpenEvent.replay(SagaFailed.class, since);
// opencode-base-captcha
import cloud.opencode.base.captcha.OpenCaptcha;
Captcha c = OpenCaptcha.numeric().length(6).build();
String text = c.text(); // "493821"
byte[] png = c.png();
boolean ok = c.verify("493821", text);
// opencode-base-image
import cloud.opencode.base.image.OpenImage;
OpenImage.load("photo.jpg")
.resize(1200, 0)
.watermark("© OpenCode", Position.BR)
.toWebP("photo.webp");
// opencode-base-graph
import cloud.opencode.base.graph.OpenGraph;
Graph<String> g = OpenGraph.directed();
g.edge("A", "B", 3); g.edge("B", "C", 5);
List<String> path = g.dijkstra("A", "C"); // [A, B, C]
List<String> order = g.topoSort();
// opencode-base-pdf
import cloud.opencode.base.pdf.OpenPdf;
OpenPdf.create("invoice.pdf")
.title("Invoice #2026-001")
.text("OpenCode.cloud", Font.bold(18))
.table(rows)
.save();
商业授权,面向企业级落地。代码不公开,只提供能力、指标与商务咨询入口。
JDK 25+ 高性能 JSON 处理库。
商务咨询L1 本地 + L2 分布式多级缓存框架。
商务咨询Java 25+ 的 HTTP / WebSocket / SSE / gRPC 统一网络框架。
商务咨询数据访问与查询框架,JDBC + 类型安全 SQL。
商务咨询对接 77+ 支付渠道,统一 Builder API。
商务咨询即时通讯框架,长连接 / 离线推送。
商务咨询文件与对象存储抽象,本地 / S3 / OSS / COS 一致接口。
商务咨询指标 / 追踪 / 健康检查,零依赖框架级可观测性。
商务咨询OCR 文字识别,本地推理 + 云端 SDK 双形态。
商务咨询纯 Java 拼音,词级消歧 + 自定义词典。
商务咨询APNs / FCM / HMS 跨平台推送 SDK,含原生客户端。
商务咨询二维码 / Micro QR / 1D 条码,GS1 标准全覆盖。
商务咨询弹性框架:熔断 / 限流 / 隔离,2562 测试通过。
商务咨询38 家短信运营商统一接入,通道熔断与回执。
商务咨询加密 / JWT / WebAuthn / 后量子密码学全家桶。
商务咨询JDK 25 任务调度框架,虚拟线程 + 分布式协调。
商务咨询高性能数据校验,声明式 + 可组合规则。
商务咨询Git 集成,本地 + GitHub / GitLab / Gitee 远端 API。
商务咨询三条不变的原则,贯穿每一行代码。
每一次提交都能独立部署,出问题能 5 分钟回退。
能用 JDK 25 解决的,不引入第三方。许可证、漏洞、升级三害一并消灭。
Javadoc / README / 错误信息全部中英双语,运维链路也是文档。
OpenCode.cloud 创始人。计算机科班出身,后端 Java 主战场,前端 TypeScript / Vue / React。把多年踩过的坑沉淀成 60+ 个组件 — 绝大部分免费开源,留给同行少走弯路;少数企业级模块作商业,支撑团队把这件事做下去。「小步、可验、可回滚」是工程信条;工程不是浪漫,是偿还 — 我们都踩着前人的肩膀,该让后来的人也能踩上来。