java项目 github

我们已经在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

java项目 github

java项目 github_GitHub旅行者指南:您应该尝试的13个Java项目相关推荐

  1. [原创]Java性能优化权威指南读书思维导图

    [原创]Java性能优化权威指南读书思维导图 书名:Java性能优化权威指南 原书名:Java performance 作者: (美)Charlie Hunt    Binu John 译者: 柳飞 ...

  2. Java多线程编程实战指南+设计模式篇pdf

    下载地址:网盘下载 随着CPU 多核时代的到来,多线程编程在充分利用计算资源.提高软件服务质量方面扮演了越来越重要的角色.而 解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案.然 ...

  3. 推荐一个很牛逼的 Github 项目:本人历时半年完成的【Java 面试 + Java 后端技术学习指南】,已拿大厂offer

    今天给大家分享一份[Java 面试 + Java 后端技术学习指南]:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.分 ...

  4. Java并发编程-并发工具包(java.util.concurrent)使用指南(全)

    1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包.这个包包含有一系列能够让 Ja ...

  5. Java并发编程-并发工具包java.util.concurrent使用指南

    译序 本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新 本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurren ...

  6. 分步式数据库_创建真实数据科学档案项目的分步指南

    分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...

  7. Gradle 2.0 用户指南翻译——第五十六章. 多项目构建

    本文禁止w3cschool转载! 翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc . 本文翻译所在分支:https://github.com/m ...

  8. 【校招分享】Java非科班自学指南

    作者:一星如月看多时 链接:[校招干货]Java非科班自学指南V1.0_招聘信息_牛客网 来源:牛客网 本文针对应届校招生,面向大厂面试学习,讲究打牢基础的同时追求速成,适合还有一年以上时间参加校招的 ...

  9. Gradle 1.12用户指南翻译——第五十六章. 多项目构建

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  10. Java 8 特性 – 终极指南

    第一次尝试翻译文章,有错误请见谅:) Java 8 特性 – 终极指南 (原文:http://www.javacodegeeks.com/2014/05/java-8-features-tutoria ...

最新文章

  1. 为SharePoint 2010创建Application Page
  2. angular中集中页面传参(我只是知识的搬运工)
  3. leetcode算法题--两两交换链表中的节点★
  4. VC++6 开发MFC扩展DLL以及MFC DLL可以包含界面
  5. CentOS中安装mysql
  6. 2014年第五届蓝桥杯C/C++ A组国赛 —— 第四题:排列序数
  7. AbstractListView源码分析4
  8. Android Crash分析工具arm-eabi-addr2line
  9. Linux更改主机名称(hostname)和设置DNS解析以及设置IP
  10. Educational Codeforces Round 101 (Rated for Div. 2) F. Power Sockets 哈希 + 乱搞
  11. git修改文件名大小写的方法。
  12. BN讲的很好的一篇文章
  13. cyclic behavior during switching
  14. 回文素数(10亿)—— unfinished
  15. arduino loar_「雕爷学编程」Arduino动手做(15)---手指侦测心跳传感器
  16. android 远程调试工具,【教程】搭配Android studio,如何实现app远程真机debug...
  17. UICollectionView实现书本翻页布局
  18. 28岁转行学习Android开发,大器如何晚成?
  19. 为什么2019年这么拼命工作,却摆脱不了“穷”
  20. WPF中如何将List<string>数据绑定到DataGrid控件中

热门文章

  1. html5地球围着太阳转canvas动画
  2. 【白硕】当人工智能遇到区块链,是惊鸿一瞥还是天长地久?
  3. html置顶导航条,HTML导航栏,固定在网页的顶部,水平框(按钮)
  4. 【CSDN 每日一题】数组排序(12.9 第三题)— 简单
  5. 汇编指令基础(一)——以IA32学习
  6. php能转换音频采样率吗,音频采样率转换 如何转换音频采样率
  7. addEventListener is not a function , JavaScript添加监听事件时报错
  8. 怎么做好职业道德与职业素养培训PPT?
  9. 面试题:用户输入密码后,有哪些对密码的保护措施
  10. 信息管理创新实践课学习周记 第二周