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

基于GitHub学习编程:不容错过的13个Java项目_0

时间:2023-03-21 12:18:48 科技观察

今天为大家整理海量Java示例代码和干货满满的能力展示资料。GitHub可谓程序开发的宝库。有些资料值得fork,有些可以帮助我们完善自己的代码或者学习编程技巧。不管怎样,我们在开发工作中几乎不可能避开GitHub。下面,我们就一起分享各种有趣又实用的Java库。需要什么请拿什么,不客气~1.***精简的JavaBootique是一种极简技术,用于构建无需容器即可运行的Java应用程序。该项目允许您创建REST服务、Web应用程序、任务、数据库迁移等,所有这些都基于模块实现。或者,您可以将其用作简单命令。该项目的目标是将应用程序从Java容器中解放出来,允许开发人员返回到main()方法。它还包含一些内置命令,因此即使您没有很多代码需要处理或没有将任何模块导入到您的应用程序中,您仍然可以使用Bootique来执行它们。2.优雅的问题处理方法99-problems,看名字就知道它的作用了。显然,它的作用是帮助人们磨练逻辑编程方面的特定技能。你可以选择使用Java8、Scala或Haskell来解决问题,最终找到最优雅的解决方案。如果你喜欢解决问题,也有多种不同难度的关卡供你选择。此外,如果你解决了所有99个谜题,你可以进一步影响JavaDeathmatch。如果您感到困惑,请查看此处的拼图-但请注意,最好在仔细考虑后再阅读。3.字符串操作Strman-java库是一组专门为处理字符串而设计的Java8库。由于它与Maven一起工作,您只需添加对您选择的构建工具的依赖即可使用它。如果您使用过Kik并听说过您遇到的leftPad问题,那么Strman可能是更好的选择-它返回一个特定长度的新字符串并自动填充开头。此外,还有完整的功能列表,包括将字符串附加到值、从特定目录中提取字符、使用字符串返回开始和结束之间的数组等等。4.数据浏览如果你想和数据进行炫酷的交互,那么Dex绝对不能错过。它帮助我们提取、转换和可视化数据,以及预测能力。您可以将可视化结果发布为3D或其他HTML变体。Dex使我们能够生成50多种不同的可视化效果,包括世界地图、参与时间线、网络使用情况等。您还可以使用R结合其运行示例来构建复杂的统计分析和预测分析系统。谁会赢,民主党还是共和党?使用和弦图找出答案。5.LittleBigDataTablesaw是一套内存数据表,包含多种数据工具和列式存储格式。它的设计思想是没有人会为小任务进行分布式分析,每个人都可以在一台服务器上与200万行级表进行交互。您可以使用Tablesaw强制执行各种规则来检查显示布局、数据优先级,或为特定用户提供对数据显示和交互的扩展控制。在它的帮助下,我们可以从RDBMS和CSV文件中导入数据,添加和删除列,执行映射和减少操作或以压缩的列存储格式保存表。6.键值存储ChronicleMap是一种内存中的键值存储解决方案,旨在实现低延迟和/或多进程应用程序,例如贸易和金融市场应用程序。这套库主要针对中等读写查询延迟场景,让用户根据服务器硬件执行线程数编写合适的查询机制。其主要用途包括取代单台服务器(如Redis)中速度慢的键值存储方案,或取代类似的面向JVM的解决方案以提高速度。您还可以将部分应用程序状态移出Java堆,从而减少堆大小和GC压力。7.负载调查工具Gumshoe可以让您监控自己的应用程序性能统计数据。有了它,我们可以深入到特定的代码行并了解与堆栈调用和各个堆栈帧相关的统计信息,从而使我们能够分析资源使用情况(例如TCP、UDP、文件系统或处理器使用情况)。这套库可以在统计数据生成时进行抓取、过滤、可视化,从而更直观地实现数据结论。对于更具体的用途,您还可以在数据捕获和/或可视化期间过滤堆栈帧并即时更改它们。8.JavaMusicSoundSea可以让大家搜索和下载歌曲。它具有内置的元数据和专辑信息。当您搜索特定歌曲时,SoundSea会在iTunes上搜索相关的元数据和专辑信息,并显示相关结果。如果不止一首歌曲匹配,您可以在其中找到您需要的条目。歌曲本身是从Pleer.com下载的,您可以按高质量、低质量或VBR比特率过滤它们。这也是一款让我们不用通过其他曲库直接听歌的迷你播放器。搜索并下载9.检查泄漏LeakCanary是一组旨在帮助我们解决内存泄漏问题的开源库。您可以使用它来检查Java(和Android)中的内存泄漏。正如它在其GitHub页面上所说,“千里之行埋于蚁穴”。一旦设置了LeakCanary,您就可以使用它来自动检查泄漏并在发现问题时通知您。10.多维数组ND4J是一套开源库,可以将Python社区的各种科学计算工具引入到JVM中。它专为生产环境而设计,因此运行速度快但不需要大量内存容量。在它的帮助下,工程师可以轻松地将算法和接口移植到Java和Scala库中。该库的主要贡献是提供了一组通用的n维数组对象,其多平台能力包括GPU和线性代数以及信号处理能力。它集成了Hadoop和Spark,并提供了一个API来模拟流行的Python数学库Numpy。11.监控Java无论使用哪种监控工具,Automon都可以结合AOP(AspectJ)实现Java代码、JDK和依赖库的监控语句。它可以与其他著名的监控工具,如JAMon、JavaSimon、YammerMetrics、StatsD等配合使用,还支持各种日志库,包括perf4j、log4j、sl4j等。另一个很棒的生产监控工具是Takipi。它可以帮助您了解代码崩溃的时间和原因,查看所有异常并获取与其相关的所有堆栈、源和状态信息。12、管理JavaJvm-tools,即SJK,是一套用于JVM故障排除、监控和配置的工具。这是一个丑陋的工具,它使用JVM的标准诊断接口(例如JMX、JVM附加和性能计数器),同时为常见的故障排除用例添加了更多逻辑。这套库允许我们汇集目标JVM的CPU线程使用率,同时定期向控制台报告实时CG信息并提供基本的样本分析功能。在这里,我们可以通过命令行对MBean进行基本操作,同时将目标Java进程的所有MBean转储为JSON格式。13.***Javaawesome-java是Java框架、库和软件的优秀集合。如果您不确定如何为自己选择特定计划,请务必参考此列表,该列表甚至按类别细分了项目。它还包含一些仍在使用的古老工具,包括简化映射的框架、构建应用程序周期和依赖项的工具、处理字节码编程的库等等。结束语这当然只是GitHub上的冰山一角,毫无疑问还有更多的项目值得大家回顾和利用来完善自己的代码工程。也欢迎大家根据自己的经验在评论中提出更多建议!【转载请注明原译者和出处为.com,合作站点转载】原标题:GitHub漫游指南:13个你应该尝试的Java项目原文链接:https://dzone.com/articles/the-hitchhikers-guide-to-github-13-java-projects-y