java开源工具包_开源工具 | 12月开源项目推荐(一)

7035f2ce559c53ebfd4c981f60c4c61f.png

openEA开源周刊

openEA开源社区的官方运营载体

这里每天给大家呈现有价值的开源资讯,欢迎您的来稿与推荐,点击上方蓝色字,加入我们吧!

8166b0bbd67a757d2f64385aad7acce1.png

摘要:毕昇 JDK 是华为内部 OpenJDK 定制版 Huawei JDK 的开源版本,是一个高性能、可用于生产环境的 OpenJDK 发行版。

openEA开源社区(ID:openEA)| 出品

小夕  | 编辑

openEA_wiki  | 来源

Bisheng JDK 8 Huawei JDK开源版本

项目简介:毕昇 JDK 是华为内部 OpenJDK 定制版 Huawei JDK 的开源版本,是一个高性能、可用于生产环境的 OpenJDK 发行版。

Huawei JDK 运行在华为内部 500 多个产品上,积累了大量使用场景和 java 开发者反馈的问题和诉求,解决了业务实际运行中遇到的多个问题,并在 ARM 架构上进行了性能优化,毕昇 JDK 运行在大数据等场景下可以获得更好的性能。

毕昇 JDK 8与 Java SE 标准兼容,目前仅支持 Linux/AArch64 平台。毕昇 JDK 同时是 OpenJDK 的下游,现在和未来也会持续稳定为 OpenJDK 社区做出贡献。

二进制可以从这里下载。毕昇 JDK 同时提供 tar 压缩包格式和 yum 源两种安装方式,详情见安装指南。

项目地址:https://gitee.com/openeuler/bishengjdk-8

feilong Java 开发工具库

项目简介:feilong 是一个可以让 Java 开发更加简单的工具库。Reduce development, Release ideas (灵感从重复简单的代码中释放出来)

让你从大量重复的底层代码中脱身,提高工作效率;

让你的代码更简炼,易写、易读、易于维护;

项目地址:https://gitee.com/ifeilong/feilong

Exebuilder 基于 JDK 的打包工具

项目简介:ExeBuilder 是一款利用 JDK 模块化的特性把 jar 打包成独立 exe 的工具,它支持 GUI 和控制台应用程序的创建。

项目地址:https://gitee.com/qsyan/ExeBuilder

common-mapper mybatis 通用 mapper

项目简介:Mybatis通用mapper,支持简单的表关系注释配置,无侵入,无需多余配置,只需要继承基础接口即可

项目地址:https://gitee.com/931942788/common-mapper

Alibaba Dragonwell 8 阿里基于 OpenJDK 8 的发行版

项目简介:作为 OpenJDK 的下游, Alibaba Dragonwell 是阿里巴巴内部 OpenJDK 定制版 AJDK 的开源版本,AJDK 为在线电商、金融、物流做了结合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。

Alibaba Dragonwell 与Java SE 标准兼容,目前仅支持 Linux/x86_64平台。Alibaba Dragonwell 是 OpenJDK 的下游(friendly fork),使用了和 OpenJDK 一样的 license。

项目地址:https://github.com/alibaba/dragonwell8

Corretto OpenJDK 发行版

项目简介:Amazon Corretto 是开放 Java 开发工具包 (OpenJDK) 的免费、多平台、生产就绪型发行版。

Corretto 提供长期支持,其中包括性能增强和安全修复。亚马逊在内部的数千种生产服务上运行 Corretto,并且 Corretto 已被证明能够兼容 Java SE 标准。借助 Corretto,可以在常用操作系统(包括 Linux、Windows 和 macOS)上开发和运行 Java 应用程序。

Corretto 支持多种平台,可以在云端与本地计算机上运行。目前,Amazon Linux 2、Windows、macOS 平台和 Docker 镜像都提供了与 OpenJDK 8 对应的 Corretto 8 预览版。每个 Corretto 版本上都会运行技术兼容性工具包(Technology Compatibility Kit,TCK),以确保与 Java SE 平台相兼容。在不使用到 OpenJDK 中没有的功能(例如 Java Flight Recorder)的情况下,Corretto 完全可以直接作为 Java SE 发行版的替代品。

Amazon 计划在 2019 年将 Corretto 作为 Amazon Linux 2 上的默认 OpenJDK。

项目地址:https://github.com/corretto/corretto-8

JVM-Sandbox动态非侵入 AOP 解决方案

项目简介:JVM-Sandbox,JVM 沙箱容器,一种基于 JVM 的非侵入式运行期 AOP 解决方案。

项目地址:https://github.com/alibaba/jvm-sandbox

pgagroal 高性能本地协议连接池

项目简介:pgagroal是一款针对 PostgreSQL 数据库的高性能本地协议连接池。基于 BSD-3-Clause License 。

pgagroal 项目的目标是为 PostgreSQL 提供一款优秀的连接池实现。

目前为止,主要特性如下:

性能优秀

支持连接池

限制用户和数据库的连接

移除idle连接

连接验证

项目地址:https://github.com/agroal/pgagroal

SMProxy MySQL 数据库连接池

项目简介:一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。

原理介绍:将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。

同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起,等到有连接关闭再恢复协程继续操作。

项目地址:https://gitee.com/louislivi/smproxy

easyjdbc Spring JDBC Template 的封装

项目简介:easyjdbc并不生产Jdbc,easyjdbc只是本地jdbc的搬运工。

easyjdbc在spring jdbctemplate之上进行了一些包装,支持部分常用的JPA注解,使得经过注解的实体可以像Hibernate,jpa一样进行增、删、改和获取。SQL构造工具、SQL注解、链式API等让查询操作更为灵活。动态实体映射使得各种查询不再需要写大量的RowMapper。

功能简介:

常用的JPA注解支持。

简化的批处理操作。

简化的分页操作。

灵活的链式查询API和SQL构造器以及SQL注解。

实体属性动态映射。

支持多种数据库(mysql,mariadb,oracle,sqlserver,postgresql,db2,sqlite,hsqldb)。

项目地址:https://gitee.com/xphsc/easyjdbc

小贴士:

目前openEA应用市场已经上线啦,如果你手头上刚好有开源项目,欢迎到我们这里展示!

同时周刊已增设开源工具栏目,欢迎联系开源君投稿哦~

开源社区福利多多,欢迎登陆openea.net注册会员哦!

3a02ff453fbc7fbed98053e523473b30.gif

END

c7c448174152d02842f1eff1c0c26484.gif

/openEA

开源社区统一认证方案(上)——CAS与LDAP的搭建与集成

1ebec5d4baf5fda29949f5aaf066bf11.png

/企业应用

让复杂的差旅费用报销简单起来

9699173cc7be7b9da1d35a2da59de6b4.png

666cfc2c1b803a68d2aded6445cc5250.png

扫码关注公众号

新浪微博:@openEA开源社区

工具我不再更新,里面大多数方法我迁移到了hutool工具包中,而其中一些不常用的功能被遗弃,项目暂留做为以后参考。 common-tools 一、数据库工具类 1、com.baijob.commonTools.db.ds C3p0Ds 和 DruidDs分别是两种连接池的实现,依赖于数据库配置文件,配置文件的样例参考config/db-example.setting 使用时将db-example.setting复制于${classpath}/config/db.setting,按照配置文件中的说明替换相应值 如果使用Druid,则需参考druid-example.setting创建${classpath}/config/druid.setting文件,详情请参考官方文档 使用C3P0则需要参考c3p0-config-example.xml创建${classpath}/c3p0-config.xml来调节C3P0参数 此时即可调用C3p0Ds.getDataSource()或DruidDs.getDataSource()方法获得默认的数据源 如果要自定义数据库配置文件的参数,请调用相应的init(),传入相关参数 注:Setting对象请参考与之对应的章节 2、com.baijob.commonTools.db.DbUtil 数据库工具类,提供了关闭方法:关闭可以传入多个参数,关闭的顺序是按照参数的顺序来的,用于一次性关闭Connnection、Statement、ResultSet等 newSqlRunner方法用于快速新建一个SqlRunner(此类介绍参考下问) 3、com.baijob.commonTools.db.DsSetting,用于读取db.setting文件辅助类,内部使用 4、com.baijob.commonTools.db.SqlRunner类参考Apache的DbUtils工具包,封装了常用的增删改查方法,与com.baijob.commonTools.db.RsHandler配合使用 com.baijob.commonTools.db.RsHandler接口与Apache的DbUtils的ResultSetHandler等价,抽象结果集处理。 二、邮件工具类 1、com.baijob.commonTools.mail.MailAccount 邮件账户类。 可以调用MailAccount(String accountSettingFileBaseClassLoader)读取相对路径的Setting文件,配置参考mailAccount-example.setting 2、com.baijob.commonTools.mail.MailUtil邮件发送工具类,方法请参考注释 此工具类依赖javax.mail,请参考pom.xml添加依赖或手动下载 三、网络相关工具类 1、com.baijob.commonTools.net.AccessControl访问控制,基于配置文件,可以设定IP白名单或黑名单,可以通过配置文件实现简单的账户验证。 配置文件请参考access-example.xml 2、com.baijob.commonTools.net.Connector 连接对象实体类,有host、端口、用户名、密码等属性 3、com.baijob.commonTools.net.HtmlUtil HTML工具类,暂时只提供特殊字符转义 4、com.baijob.commonTools.net.SocketUtil socket工具类。 isUsableLocalPort() 检测本地某个端口是否可用(可用是指没有被其他程序占用) isValidPort()是否是符合规范的端口号 longToIpv4()将long转换为ipv4地址,反方法是ipv4ToLong() netCat()简易的数据发送方法 5、com.baijob.commonTools.net.SSHUtil SSH相关工具类 getSession()获得一个SSH会话 bindPort()将远程主机的端口映射到本地某个端口 6、com.baijob.commonTools.net.URLUtil 将相对、绝对路径转换为URL对象,用于网络或文件流的读写,Setting的配置依赖此工具包 四、线程相关工具类 1、com.baijob.commonTools.thread.BaseRunnable 此类实现了Runnable接口,扩展了功能。 增加名称、ID,调用次数和时间统计、线程停止接口等,并且在线程运行时,不允许此线程第二次启动。 2、com.baijob.commonTools.thread.Executor 线程池工具类 调用静态方法execute()启动线程,此线程在公共的线程池中执行 若想自定义线程池大小或独立控制,可调用newExecutor()实例化一个线程池 excAsync()执行一个异步方法 3、com.baijob.commonTools.thread.SyncQueue 阻塞队列,简化了JDK的BlockingQueue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值