作为开源代码库以及版本控制系统,Github在全球拥有1500多万开发者用户,托管着3800多万个代码库,而这其中有330550个库是Java的。当你需要使用相关代码来帮助你开发项目或者制作一个简单的小游戏时,及时了解GitHub上值得关注的项目无疑会让你的开发事半功倍。在这里,我们整理了在Github上值得你关注的10个Java项目。
1. 极简化的Java技术
Bootique是用于构建较少容器的可运行Java应用程序的极限化技术。这个项目支持你以模块为基础创建REST服务、web应用程序、数据库迁移任务等工作,因此,你可以使用简单的命令来运行和控制它们。
这个项目背后的目标是把应用程序从Java容器中解放出来,让开发者改造他们的主程序。这个技术还有一个好处,它包含了一些内置命令,因此如果你不需要太多代码或者你没有向应用程序导入任何模块,你仍然可以使用Bootique来执行。
2. 优雅的问题解决之道
这个项目的名字说明了一切:99-problems。正如你所猜想的那样,它是一个通过收集问题来帮助你在逻辑编程下实践自己技术的项目。你可以选择使用Java 8、Scala还是Haskell来解决问题,而你最终的目标是找寻最优雅的问题解决方案。
如果你是一个难题爱好者——不用担心,这里有各种不同的难度,不同时间跨越(15分钟-几小时)的难题在等待着你。没有人会检查你解决问题所花费的时间,但它会给你一个解决该问题的时间标准。
如果已经努力完成了这99个问题,你还会可以面对另外一个挑战,这是为开发者们准备的小游戏:Java死亡竞赛。如果你被某些难题卡住了,你不妨参看下这篇文章。
3. 字符串的处理
Strman-java是一个关于字符串处理的Java 8代码库。正如你所了解的那样,它处理问题的方式非常直接。它能够运行在Maven上,你所需要做的全部工作就是为你的构建工具选择添加一个依赖关系。
如果你使用过Kik(Node.js的扩展包),并听说过当它被撤包后所产生的leftPad危机,那么你一定会喜欢上Strman的,它包含了一个通过返回指定长度的新字符串来填补初始字符串的选项。
除此之外,你还可以在其中找到包括将字符串附加到数值、在特定索引获取字符以及返回一个包含从头到尾字符串的数组等各种函数的列表。
4. 数据浏览
如果你想找一个实现数据交互的炫酷方式,你可以留意下Dex。通过它,你可以对数据进行提取、转换和可视化,同时还可以获得数据预测的能力。你可以将数据通过3D的形式或者其它你喜欢的HTML样式来进行可视化。
Dex集成了超过50种可视化模式,包括了世界地图、约定时间线、网络使用率等。你可以通过运行的R实例来对其进行集成,然后利用其复杂的统计分析和预测分析。
5. 小型的大数据设计
Tablesaw是一个包含了数据工具和以列(column)为主要存储形式的响应式内存数据表格插件。它围绕着没有谁愿意为小型任务进行分布式分析的理念而设计,你可以在一台单独服务器上使用一个200万行的表格进行交互性的工作。
你可以使用Tablesaw来演示呈现的布局、数据优先级或者为用户提供数据显示与交互的一系列扩展控制。在Tablesaw中,你可以导入来自RDBMS和CSV文件的数据,添加或者移除列、执行示图,通过压缩的柱状储存格式来减少表格的操作和存储。
6. 键值存储
Chronicle Map是用于存储内存键值的插件。它主要面向诸如贸易和金融市场应用这一类低延迟和多进程应用程序。这个代码库专注于读写查询的平均延迟,它能够让你编写与服务器中硬件执行线程数量相当的查询。
这个插件的主要用例是可在单独的服务器(比如Redis)上移除那些缓慢的键值存储以及通过类似于JVM-centric的解决方案来对其加速。
7. 负载研究
Gumshoe可以让你能够监控应用程序的性能统计。使用它,你可以精确的找到代码的行数并获取调用堆栈及单个堆栈框架的相关统计数据。这意味着你能够分析你电脑资源的使用情况(TCP、UDP、文件系统或处理器利用率)
这个代码库支持屏幕截图、过滤以及生成可视化的数据统计,并且能够给予你关于火焰图和根图(flame and root graphs)的直观视图。如果你还想要寻找关于应用程序的更多细节,你还可以在捕捉或者可视化的时候对堆栈框架进行过滤,并在运行时进行改变。
8. Java音乐器
SoundSea可以让你通过其内置的元数据和音乐集搜索和下载歌曲。当你在搜索某一个歌曲时,SoundSea会寻找iTunes上的相关元数据和音乐集。如果拥有超过一首可用的结果,你可以从中再筛选需要的那一个。
歌曲的下载来自于Pleer.com,你可以通过高,低或者VBR比特率来进行过滤。如果你比较幸运,你甚至可以立刻下载作为最终结果的第一个搜索结果。此外,它还拥有一个迷你播放器,无需重载音乐库就可以简单倾听歌曲。
9. 检测内存泄露
LeakCanary是一个可帮助你阻止内存泄露的开源库,你可以用它来构建调试检测Java内存泄漏(以及Android)。
在你安装了LeakCanary之后,你可以通过设置使检测到内存泄露时进行自动的通知显示。该插件另一个用途是通过建立智能插脚(smart pins)检测某些对象是否已经被垃圾回收。
10. 多维数组
ND4J是一个开源的代码库,它将来自于Python社区的直观科学计算工具带到了JVMs中。它主要运用于生产环境,因此它拥有运行快速且内存需求小的特点。通过它的使用,工程师们找到了一种将算法和接口导入其它Java和Scala库的简单方法。
作为能够提供通用的n维数组对象,包含GPUs、线性代数、信号处理等功能的多功能平台,ND4J集成了Hadoop、Spark以及它们的模仿流行Python数学库Numpy语义的API接口。
本文翻译自dzone.com
相关推荐
GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例...
通过阅读《GitHub漫游指南1.pdf》和《GitHub 漫游指南2.pdf》,你将更深入地了解这些概念,逐步成为一名熟练的GitHub用户。无论是个人项目还是团队协作,GitHub都能成为你得力的助手。在实践中不断探索,你会发现...
GitHub入门指南:一步一步教你使用GitHub
### Github漫游指南知识点梳理 #### 一、引言与背景 - **作者介绍**:Phodal Huang,活跃于微博、知乎、GitHub 和 SegmentFault 的技术爱好者。 - **撰写动机**:作者希望通过分享自己在 GitHub 上的经验,帮助更多...
《GitHub 漫游指南》,用于学习GitHub的如何使用的指南
github漫游指南github漫游指南github漫游指南github漫游指南github漫游指南
分享一下我认为值得关注的,非大型大家都熟知的: 1.biezhi/blade:一款轻量级、高性能、简洁优雅的MVC框架。 GitHub:http://h5ip.cn/O975 2.scribejava/scribejava:一个简单的 Java 实现的 OAuth/OAuth2 库...
1. **仓库(Repository)**:在 GitHub 上,你的项目就是一个仓库,它包含了所有的源代码、版本历史、问题追踪以及项目文档。 2. **分支(Branch)**:仓库中的工作副本,允许你在不影响主分支的情况下进行开发和实验。...
github
GitHub漫游指南 漫游,即随意游玩〜。 在线阅读: ,下载: , , 2014年,写了《》(电子书)。 2015.3.9号,想着写个《 》,于是在最开始的地方写着: 我的GitHub主页上写着加入的时间- Joined on Nov 8, 2010 ...
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub提供了分布式版本控制和源代码管理(SCM)功能,此外还有一些特色功能,例如允许用户对项目进行跟踪...
arteze.github.io 欢迎来到ArtEze网站。 该网站旨在成为一个好网站。 GitHub上的Otecald网站。 (目前仅使用JavaScript生成Hello世界) GitHub页面上的替代页面: : GitHub项目: : 其他资料库 charlavod: :/...
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub提供了分布式版本控制和源代码管理(SCM)功能,此外还有一些特色功能,例如允许用户对项目进行跟踪...
GitHub 上标星 115k+ 的 Java 教程 GitHub 上标星 115k+ 的 Java 教程 GitHub 上标星 115k+ 的 Java 教程 GitHub 上标星 115k+ 的 Java 教程 GitHub 上标星 115k+ 的 Java 教程 GitHub 上标星 115k+ 的 Java 教程 ...
标签:github、luben、zstd、jni、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub提供了分布式版本控制和源代码管理(SCM)功能,此外还有一些特色功能,例如允许用户对项目进行跟踪...
在Java Maven项目中,POM文件是核心配置文件,用于描述项目依赖、构建指令和其他元数据。这个描述表明我们正在处理一个与微信支付集成相关的Maven依赖,具体版本为v3.0.9。 微信支付SDK是微信官方提供的开发工具包...
<!-- https://mvnrepository.com/artifact/com.github.jgraph/jgraphx --> <groupId>com.github.jgraph</groupId> <artifactId>jgraphx <version>v3.9.3 </dependency>
标签:github、penggle、kaptcha、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
【描述】:“Github最流行的10,000个Java项目使用的类库Java开发Java经验技巧共5页.pdf.zip”这个压缩包文件揭示了在GitHub上最受欢迎的Java项目中广泛使用的类库,以及关于Java开发的经验技巧。这5页的内容可能是对...