GitHub旅行者指南:您应该尝试的13个Java项目

2023-11-06 00:51

本文主要是介绍GitHub旅行者指南:您应该尝试的13个Java项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们已经在GitHub上收集了一些实用且简单的Java存储库

GitHub上有很多存储库。 有些您想分叉,有些可能会帮助您编写自己的代码,有些则是为了帮助您了解有关编程的更多信息。 无论哪种方式,都有很多可以看的东西,而没有足够的时间来使用它们。

在接下来的文章中,我们收集了一些最有趣,最有用的Java存储库,这些存储库在过去的几个月中引起了我们的注意。 愿叉子与你同在。

在回购中寻找针头

git存储库托管服务GitHub为来自全球3,800万个存储库的1500万开发人员提供服务。 330,550个存储库是Java。 简而言之,GitHub拥有来自众多开发人员的大量信息。

这些可能包括与您当前项目相关的代码,或者是旨在帮助您使用其他编程语言的简单游戏。 无论您要寻找什么,都可以找到数百种,这才是真正的问题。

这就是为什么我们决定帮助您寻找存储库的原因,因此您至少会知道从哪里开始。

1.最小的Java简单性

Bootique是用于构建无容器可运行Java应用程序的最低要求的技术。 该项目允许您创建基于模块的REST服务,Web应用程序,作业,数据库迁移任务等。 这样,您将能够像简单命令一样运行它们。

该项目的目标是从Java容器中释放应用程序,并让开发人员收回其main()方法。 有一个好处-有一些内置命令,因此,如果您没有那么多代码,或者如果您没有将任何模块导入到您的应用程序中,您仍然可以使用Bootique来执行它们。

2.优雅的问题解决

这个名字说明了一切: 99问题 。 如您所料,这是一系列问题,旨在帮助您练习逻辑编程技能。 您可以选择使用Java 8,Scala或Haskell解决问题,最终目标是找到最优雅的解决方案。

如果您是拼图大师–不用担心。 难度级别不同,每个级别的时间范围从15分钟到几个小时不等。 没有人会检查您实际解决每个问题所需的时间,但是它使您基本了解应该花多长时间。

如果您已经解决了这99个问题,那么您可能会面临另一个挑战。 您应该查看面向开发人员的迷你益智游戏: Java Deathmatch 。 万一您陷入困境,解决方案就在这里 ,但是,嘿! 不要偷看

3.字符串操作

Strman-java存储库是一个Java 8库,专门用于处理String。 如您所知,这很简单。 由于它在Maven上可用,因此您要做的就是向您选择的构建工具添加依赖项。

如果您使用过Kik (Node.js的扩展名),并且听说过拆掉leftPad危机时,您可能会喜欢Strman的选择,即返回给定长度的新字符串,以便填充字符串的开头。

import static strman.Strman.leftPad
leftPad("1", "0", 5)// result => "00001"

除此之外,您还将找到一个函数列表,其中包括将字符串追加到值,在特定索引处获取字符并返回一个从头到尾之间包含字符串的数组等等。

4.数据浏览器

如果您想以一种很酷的方式与您的数据进行交互,则应查看Dex 。 有了它,您可以提取,转换和可视化数据,同时还具有预测功能。 您可以将可视化内容发布为3D或任何其他想要HTML变量。

Dex使您可以生成50多种不同的可视化模式,包括世界地图,参与时间轴,网络使用情况等等。 您可以将其与正在运行的R实例集成,并利用复杂的统计分析和预测分析。

弦

民主还是共和党? 用和弦图显示关系

5.小大数据

Tablesaw是内存中的数据表,其中包括数据工具和面向列的存储格式。 它的设计理念是,没有人需要为较小的任务进行分布式分析,并且您可以在单个服务器上与2M行表进行交互工作。

您可以使用Tablesaw来应用规则,以确定显示演示文稿的布局,数据优先级,或添加一系列扩展以使用户可以控制数据显示和交互。 使用它,您可以从RDBMS和CSV文件导入数据,添加和删除列,执行映射和简化操作或以压缩的列存储格式存储表。

6.关键值存储

编年史地图是内存中的键值存储。 它设计用于低延迟和/或多进程应用程序,例如交易和金融市场应用程序。 该存储库的目标是读写查询的中值延迟,并使您编写的查询可以扩展到服务器中硬件执行线程的数量。

这里的主要用例是在单个服务器(如Redis)中使用时替换较慢的键值存储,或替换类似的以JVM为中心的解决方案以加速它们。 您还可以将部分应用程序状态移出Java堆,并减少堆大小和GC压力。

7.负载调查器

Gumshoe使您可以监视应用程序性能统计信息。 使用它,您可以查明代码行,并获取与调用堆栈和单个堆栈框架相关的统计信息。 这意味着您将能够分析资源使用情况(TCP,UDP,文件系统或处理器使用情况)。

该存储库允许捕获,过滤和可视化生成的统计信息,并为您提供火焰图和根图的直观视图。 如果您正在寻找应用程序中更具体的内容,则还可以在捕获和/或可视化期间过滤堆栈帧,并在运行时对其进行更改。

8. Java音乐

SoundSea可让您搜索和下载内置了元数据和专辑封面的歌曲。当您搜索某首歌曲时,SoundSea会在iTunes上查找相关的元数据和专辑封面,并将其呈现给您。 如果有不止一首歌曲,则可以搜索正确的歌曲。

歌曲本身是从Pleer.com下载的,您可以过滤高,低或VBR比特率。 如果您感到幸运,甚至可以将其配置为立即下载第一个搜索结果。 它也是一个迷你播放器,因此您可以简单地听这首歌而不会超载音乐库。

声海

搜索并下载

9.检测您的泄漏

LeakCanary是一个开放源代码库,旨在帮助您阻止内存泄漏。 您可以在调试版本中使用它来检测Java(和Android)中的内存泄漏。 正如他们在GitHub页面上所写的那样,“小小的泄漏将击沉一艘大船。” (-本杰明·富兰克林)。

设置LeakCanary后,可以对其进行配置,以在检测到活动内存泄漏时自动显示通知。 另一个可能的用途是设置智能销,以检测是否已对某些收藏品进行了垃圾收集。

10.多维数组

ND4J是一个开放源代码库,它将来自Python社区的直观科学计算工具引入JVM。 它专为生产环境而设计,因此运行速度很快,但对RAM的要求却最低。 有了它,工程师可以轻松地将算法和接口移植到其他Java和Scala库中。

该库提供的主要功能是通用的n维数组对象,包括GPU和线性代数以及信号处理功能在内的多平台功能。 它与Hadoop和Spark集成在一起,其API模仿了流行的Python数学库Numpy的语义。

11.监视Java

不管使用哪种监视工具, Automon都将其功能与AOP(AspectJ)结合在一起,以声明方式监视Java代码,JDK和相关库。 它可与已知的监视工具(如JAMon,JavaSimon,Yammer Metrics,StatsD)以及包括perf4j,log4j,sl4j等在内的日志记录库一起使用。

Automon通常用于跟踪方法调用时间和异常计数,在所选工具内部存储和显示数据。 您应该意识到,它本身并没有进行任何监视,而是充当“我应该监视什么”和“我如何监视它”之间的中间人,但是它仍然对您很有用。

您可以尝试用于生产监控的另一个很酷的工具是Takipi 。 有了它,您将能够知道何时以及为什么代码中断,查看所有异常并获取它们的完整堆栈,源和状态。

12.照顾好您的Java

Jvm-tools或SJK是用于JVM故障排除,监视和分析的一组工具。 它是一种命令行工具,可利用JVM的标准诊断接口(例如JMX,JVM附加和性能计数器),同时在顶部添加更多逻辑以用于常见的故障排除情况。

该库允许池化目标JVM的线程CPU使用率,并定期向控制台报告,实时报告有关GC的信息并获得基本的样本探查器功能。 在其中,您还将找到从命令行对MBean进行基本操作的工具,并将目标Java进程的所有MBean转储到JSON。

13.有史以来最好的Java

认识awesome-java 。 这是精选的Java框架,库和软件的清单。 如果您不确定要选择什么,请查看以下列表。 它甚至被过滤到不同的类别中,因此您将了解要关注的内容。

您可以找到仍在使用的古老工具,简化Bean映射的框架,处理构建周期和应用程序依赖性的工具以及以编程方式操作字节码的库。

最后的想法

这只是GitHub冰山一角,我们确信还有更多项目可以帮助您度过时光或增加您的代码。 如果我们错过了某些事情,而您认为必须在列表中,请在下面给我们一行。

翻译自: https://www.javacodegeeks.com/2016/07/hitchhikers-guide-github-13-java-projects-try.html

这篇关于GitHub旅行者指南:您应该尝试的13个Java项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/353527

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect