百科问答小站 logo
百科问答小站 font logo



GitHub 上可供新手阅读和玩耍的 Java 项目有哪些? 第1页

  

user avatar   jing-lue-ji-zhi 网友的相关建议: 
      

在 GitHub 上有很多项目,能够帮我们优化手头的编程项目,或学习更多编程知识。下面我们分享 GitHub 上 14 个既有趣又有用的 Java 项目。


Bootique——让 Java 应用开发更简单


Bootique 是一个面向创建无容器、可运行 Java 应用的项目,能让你基于模块创建 REST 服务、 web 应用、DB 迁移任务等等。这样,你就能像运行简单命令一样运行它们。


该项目的目的就是将应用从 Java 容器中解放出来,让开发者回收它们的 main() 方法。此外项目还有一些内置命令,所以如果你代码不足,或者没有向应用中导入任何模块,仍然能使用 Bootique 来执行它们。


项目地址:

github.com/bootique/boo


99-problems——优雅地解决问题

项目的名字叫 99-problems,你应该也猜到了,它是一系列 Java 问题的合集,旨在帮你练习逻辑编程技能。你可以选择用 Java 8,Scala 或 Haskell 解决这些问题,而且你的最终目标就是找到解决这些问题的最优雅方法。


项目所含的问题也分为不同的难度,问题的解答时间从 15 分钟到几个小时不等。如果比较喜欢这类做题挑战,还可以试试“Java Deathmatch”(javadeathmatch.com/),像做游戏一样完成Java挑战,答案在这里:blog.takipi.com/4-out-o


项目地址:

github.com/shekhargulat


Strman-java——字符串操作


Strman-java 是一个 Java 库,专门用于字符串。由于它在 Maven 上可用,所以你只需向你选择的创建工具添加一个依赖即可。


另外,该项目还包含了一列函数,包括向值添加字符串,以特定索引获取字符,返回字符串起始和结尾之间的数组等等。


项目地址:

github.com/shekhargulat


Dex——数据分析

如果你想以一种很酷的方式和自己的数据交互,那应该看看 Dex 这个项目。借助 Dex,你可以提取、转换和可视化你的数据,也会获得一些预测功能。


Dex 能让你生成超过 50 种可视化模式,包括世界地图、时间线等。可以将它和 R 的运行实例整合,接入统计分析和预测分析。


项目地址:

github.com/PatMartin/De


Tablesaw——让大数据轻量化

Tablesaw 是一个内存数据表,包括数据工具和面向列的存储格式。其设计理念就是很小的任务不需要分布式分析,我们可以在单个服务器上处理多达 2 百万行的图表。


你可以用 Tablesaw 来应用一些规则,以确定显示布局、数据优先度或添加一系列的扩展程序,让用户控制数据展示和交互。用 Tablesaw 可以从 RDBMS 和 CSV 文件中导入数据,添加和移除列,或以压缩的列存储格式来存储表格。


项目地址:

github.com/lwhite1/tabl


Chronicle Map —— key value 存储


Chronicle Map 是一个内存 key-value 存储,面向低延迟或多进程应用设计,比如交易和金融市场应用。该项目面向中等延迟的读写查询,能让你编写的查询很好地扩展至服务器上硬件执行线程的数量。


其主要用途是替换用在单个服务器(比如 Redis)上的速度缓慢的 key-value 存储,或替换相似的 JVM 解决方法用以加快它们的速度。还能将你的部分应用状态移出 Java 堆内存,降低堆大小和 GC 压力。


项目地址:

github.com/OpenHFT/Chro


Gumshoe——应用数据统计


Gumshoe 能让你监控你的应用性能统计数据。有了它,我们可以精确地找到代码行,获取调用栈和单独栈帧相关的统计信息。这意味着你能够分析资源使用状况(TCP,UDP等)。


使用 Gumshoe 还可以筛选和可视化它所生成的统计数据。


项目地址:

github.com/dcm-oss/gums


SoundSea——Java 音乐


SoundSea 能让你通过其内置元数据和专辑封面来搜索及下载歌曲。在你搜索某首歌曲时, SoundSea 会在 iTunes 上寻找相关元数据和专辑封面,并展示给你。


歌曲本身是从 Pleer.com 上下载的,可以按照高、低或 VBR 比特率进行筛选。SoundSea 还能充当一个迷你播放器,可以直接听歌。


项目地址:

github.com/sacert/Sound


LeakCanary —— 检测内存泄露

LeakCanary 是一个开源库,用来帮我们阻止内存泄露。可以用它在调试版中检测 Java 中的内存泄露。


设置好 LeakCanary 后,可以对其配置,当出现内存泄露时就会自动通知你。


项目地址:

github.com/square/leakc


ND4J——多维数组

ND4J 是一个开源库,将 Python 中直观的科学计算工具带入 Java 虚拟机中。由于面向生产环境,所以它运行很快,且只需很小的 RAM。有了它,你就能很容易的将算法和接口植入其它 Java库中。


ND4J 的主要功能就是提供通用的 n 维数组对象、包括 GPU 在内的多平台功能、线性代数和信号处理函数。


项目地址:

github.com/deeplearning


Automon —— Java监控工具


Automon 结合了 AOP 的强大功能,能够以声明的方式监控你的 Java 代码、JDK 和依赖库。

可以用 Automon 追踪方法调用时间、异常次数、存储和展示你所选工具内的数据。


项目地址:

github.com/stevensouza/


Jvm-tools——帮你照顾好你的Java


Jvm-tools 或 SJK,是一组工具,用于 Java 虚拟机排错、监控和性能分析。它算是一款命令行工具,充分利用 Java 虚拟机的标准检测接口,在此基础上又补充了一些逻辑,更加适合常用排错操作。


项目地址:


github.com/aragozin/jvm


Awsome-java:Java框架、工具合集


Awesome-java 集合了一系列功能优异的 Java 框架、库和软件,并且按需分类,方便你查找。


项目地址:

github.com/akullpp/awes


Java-design-pattern——设计模式


该项目为使用 Java 实现的设计模式。

设计模式能让开发人员用来验证设计应用和系统过程中的常见问题,它能提供经过测试和验证的开发范式,从而大大加快开发进度。


重新利用设计模式可以帮你防止出现一些导致重大故障的小问题,也能为开发者优化代码可读性。


项目地址:

github.com/iluwatar/jav


当然这些项目只不过是冰山一角,还有很多值得学习的 Java 项目,后面我们也会陆续补充新资源,欢迎关注。


参考资料:
dzone.com/articles/the-




  

相关话题

  设计模式是不是有点太「玄」了? 
  【996.ICU】被国内各大厂商的浏览器及APP屏蔽,包括微信,现在只能用chrome打开,你怎么看? 
  为什么我感觉现在的IT行业并不看重学历? 
  程序员 996 和三甲医院急诊科医生哪个更累? 
  .NET 和 Java 在 Web 开发上各有什么优缺点? 
  有能干到退休的程序员吗? 
  开源与共产主义的本质区别是什么? 
  985 本硕(上海交大)想走社招转行当程序员,为何频频被拒? 
  为什么喊着工资低的人都不愿意透露自己的工资和所在地最低工资标准差多少? 
  开源社区很多开源框架都有Rails的影子,为什么不用Rails呢? 

前一个讨论
如何看待越来越多公司弃用 PHP 使用 Java?
下一个讨论
美军也像中国军人那样叠方块被子吗?叠这种被子有什么意义?





© 2024-06-02 - tinynew.org. All Rights Reserved.
© 2024-06-02 - tinynew.org. 保留所有权利