当前位置: 首页 > 科技观察

盘点GitHub上有趣有用的Java项目Top14

时间:2023-03-22 14:14:31 科技观察

GitHub上有很多项目,可以帮助我们优化手头的编程项目,或者学习更多的编程知识。下面我们在GitHub上分享14个有趣且有用的Java项目。Bootique-让Java应用程序开发更简单Bootique是一个用于创建无容器、可运行的Java应用程序的项目,允许您基于模块创建REST服务、Web应用程序、DB迁移任务等。这样,您就可以将它们作为简单的命令来运行。该项目的目的是将应用程序从Java容器中解放出来,并允许开发人员回收他们的main()方法。此外,该项目有一些内置命令,因此如果您的代码不足,或者没有将任何模块导入到应用程序中,您仍然可以使用Bootique来执行它们。项目地址:https://github.com/bootique/bootique99-problems-优雅的解题项目名称是99-problems,你应该猜到了,它是一个旨在帮助你练习逻辑的Java问题集合编程技巧。你可以选择在Java8、Scala或Haskell中解决这些问题,你的最终目标是找到解决这些问题的最优雅的方式。项目中的问题也分为不同的难易程度,答题时间从15分钟到几个小时不等。如果你更喜欢这种类型的挑战,你也可以尝试“JavaDeathmatch”(http://www.javadeathmatch.com/),像游戏一样完成Java挑战,答案在这里:https://blog.takipi。com/4-out-of-5-java-developers-failed-to-solve-this-question/项目地址:https://github.com/shekhargulati/99-problemsStrman-java——字符串操作Strman-java是专用于字符串的Java库。因为它在Maven上可用,所以您只需要向您选择的构建工具添加依赖项。此外,该项目还包含一个函数列表,包括将字符串添加到值、获取特定索引处的字符、返回字符串开头和结尾之间的数组等等。项目地址:https://github.com/shekhargulati/strman-javaDex-数据分析如果你想很酷的和自己的数据交互,你应该看看Dex项目。使用Dex,您可以提取、转换和可视化您的数据,还可以获得一些预测能力。Dex可让您生成超过50种可视化模式,包括世界地图、时间线等。它可以与R的运行实例集成,以访问统计分析和预测分析。项目地址:https://github.com/PatMartin/DexTablesaw——让大数据轻量级Tablesaw是一个内存数据表,包括数据工具和面向列的存储格式。它的设计理念是非常小的任务不需要分布式分析,我们可以在单台服务器上处理高达200万行的图。您可以使用Tablesaw应用一些规则来确定显示布局、数据优先级或添加一系列扩展来让用户控制数据显示和交互。使用Tablesaw,您可以从RDBMS和CSV文件导入数据,添加和删除列,或以压缩列存储格式存储表。项目地址:https://github.com/lwhite1/tablesawChronicleMap——键值存储ChronicleMap是一种内存中键值存储,专为低延迟或多进程应用而设计,例如交易和金融市场应用。该项目以中等延迟的读写查询为目标,允许您编写可以很好地扩展到服务器上硬件执行线程数的查询。它的主要用途是取代在单个服务器(如Redis)上使用的慢速键值存储,或加速类似的JVM解决方案。它还可以将部分应用程序状态移出Java堆,从而减少堆大小和GC压力。项目地址:https://github.com/OpenHFT/Chronicle-MapGumshoe-ApplicationStatisticsGumshoe可以让你监控你的应用程序性能统计。有了它,我们可以查明代码行,获取有关调用堆栈和各个堆栈帧的统计信息。这意味着您可以分析资源使用情况(TCP、UDP等)。使用Gumshoe还可以过滤和可视化它生成的统计数据。项目地址:https://github.com/dcm-oss/gumshoeSoundSea-JavaMusicSoundSea允许您通过其内置的元数据和专辑封面搜索和下载歌曲。当您搜索歌曲时,SoundSea会在iTunes上找到相关的元数据和专辑封面并显示给您。歌曲本身是从Pleer.com下载的,可以按高、低或VBR比特率进行过滤。SoundSea还可以充当迷你播放器,直接听歌。项目地址:https://github.com/sacert/SoundSeaLeakCanary-检测内存泄漏LeakCanary是一个用来帮助我们防止内存泄漏的开源库。它可用于调试构建以检测Java中的内存泄漏。一旦设置了LeakCanary,就可以将其配置为在发生内存泄漏时自动通知您。项目地址:https://github.com/square/leakcanaryND4J-多维数组ND4J是一个将Python中直观的科学计算工具带入Java虚拟机的开源库。由于它是面向生产的,因此速度很快并且只需要很少的RAM。有了它,您可以轻松地将算法和接口嵌入到其他Java库中。ND4J的主要功能是提供通用的n维数组对象,包括GPU、线性代数和信号处理功能在内的多平台功能。项目地址:https://github.com/deeplearning4j/nd4jAutomon-Java监控工具Automon结合了AOP的强大功能,以声明的方式监控你的Java代码、JDK和依赖库。使用Automon在您选择的工具中跟踪方法调用时间、异常计数、存储和显示数据。项目地址:https://github.com/stevensouza/automonJvm-tools——帮你打理好你的JavaJvm-tools或SJK,这是一套Java虚拟机的调试、监控和性能分析工具。它是一个命令行工具,充分利用了Java虚拟机的标准检测接口,并在此基础上增加了一些逻辑,更适合常见的故障排除操作。项目地址:https://github.com/aragozin/jvm-toolsAwsome-java:Java框架和工具合集Awesome-java收集了一系列功能优秀的Java框架、库和软件,并根据你的需求进行分类你的方便。项目地址:https://github.com/akullpp/awesome-javaJava-design-pattern——设计模式本项目是Java实现的设计模式。开发人员可以使用设计模式来验证设计应用程序和系统过程中的常见问题。它可以提供经过测试和验证的开发范式,从而大大加快开发过程。重用设计模式可以帮助您防止导致重大故障的小问题,还可以优化开发人员的代码可读性。项目地址:https://github.com/iluwatar/java-design-patterns