一些有意思的 Java 项目
GoodForU
在动手写代码之前有一些事情很重要,比如调研一下是否有人实现了。私以为当你在开发过程中思考一个模块的设计方法时,停下你的思考,然后去github上找,一定有一个开源项目是存在的且比你的构思更为缜密。这一点尤其是在java项目中体现突出。
故本文档收集一些项目帮助加快甚至完成开发。
hutool
A set of tools that keep Java sweet.
HertzBeat
HertzBeat赫兹跳动 是由Dromara孵化,TanCloud开源的一个支持网站,API,PING,端口,数据库,操作系统等监控类型,拥有易用友好的可视化操作界面的开源监控告警项目。 我们也提供了对应的 SAAS版本监控云,中小团队和个人无需再为了监控自己的网站资源,而去部署一套繁琐的监控系统,登录即可免费开始。 HertzBeat 支持自定义监控 ,只用通过配置YML文件我们就可以自定义需要的监控类型和指标,来满足常见的个性化需求。 HertzBeat 模块化,
manager, collector, scheduler, warehouse, alerter
各个模块解耦合,方便理解与定制开发。 HertzBeat 支持更自由化的告警配置(计算表达式),支持告警通知,告警模版,邮件钉钉微信飞书等及时通知送达 欢迎登录 HertzBeat 的 云环境TanCloud 试用发现更多。 我们正在快速迭代中,欢迎参与加入一起共建项目开源生态。
HertzBeat
的多类型支持,易扩展,低耦合,希望能帮助开发者和中小团队快速搭建自有监控系统。
Sa-Token
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:
登录认证
、权限认证
、Session会话
、单点登录
、OAuth2.0
、微服务网关鉴权
等一系列权限相关问题
okhttps
OkHttps 是近期开源的对 OkHttp3 轻量封装的框架,它独创的异步预处理器,特色的标签,灵活的上传下载进度监听与过程控制功能,在轻松解决很多问题的同时,设计上也力求纯粹与优雅。
- 超级优雅的 API 设计,且链式调用,让你顺滑到底!
- BaseURL、URL占位符、HTTP 同步 异步、WebSocket,让你想干啥就干啥!
- JSON、Xml 等自动封装与解析,且支持与任意格式的数据解析框架集成,想用啥就用啥!
- 同步拦截器、异步预处理器、回调执行器、全局监听、回调阻断 等等,让你扩展无限功能!
- 文件上传下载(过程控制、进度监听),上传下载如此简单!
- 单方法回调,充分利用 Lambda 表达式,让你代码超级简洁!
- 超级轻量,但性能卓越!
Java Native Access (JNA)
The definitive JNA reference (including an overview and usage details) is in the JavaDoc. Please read the overview. Questions, comments, or exploratory conversations should begin on the mailing list, although you may find it easier to find answers to already-solved problems on StackOverflow.
JNA provides Java programs easy access to native shared libraries without writing anything but Java code - no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes.
JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like the call does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required.
JNA uses a small JNI library stub to dynamically invoke native code. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms. Read this more in-depth description.
While significant attention has been paid to performance, correctness and ease of use take priority.
In addition, JNA includes a platform library with many native functions already mapped as well as a set of utility interfaces that simplify native access.