本文将分享我如何利用空闲时间学习Java编程语言的经验。
以下是一些学习要点:
目录
- 语言学习
- 个人项目
- 生态系统
语言学习
首先,我要说明Java并非我的第一门编程语言,因此我的学习速度可能与你的有所不同,这取决于你的经验。
目前,我通过参与Advent of Code挑战来学习Java,这有助于我熟悉Java的通用语法、包导入、文件读取、异常处理、数据类型等等。
这种方法让我在学习过程中几乎每天都有收获。当然,我也会进行一些项目实践来加深理解,让我们来看一下这部分内容。
个人项目
就个人项目而言,我目前正在创建一个类似于Linux命令行的简单CLI,我将其命名为junix。我正在重现的一些命令包括ls、mv和ifconfig。
遇到问题时,我会向ChatGPT寻求帮助,但我尽量避免直接索要解决方案。我会先验证自己的假设是否正确,并结合我在其他编程语言(如JavaScript)中的经验来思考Java的实现方式。
例如,我不会直接问“我想用Java编写一个ifconfig命令”,而是会问类似这样的问题:“我想知道Java中是否存在一组类可以实现类似于Linux ifconfig的功能(我不想使用外部包,只使用STL)”。
当然,在某些情况下,ChatGPT会直接提供代码,但我不会直接复制粘贴。我会仔细研究它使用的类,查找相关的Oracle文档,并比较ChatGPT的建议与文档中的内容。
生态系统
在Java生态系统方面,我开始学习一些工具,例如Maven或Gradle构建系统,以及JUnit等测试库。
总结
目前,我仍在学习Java的过程中。我希望在本月底完成junix(我的第一个Java个人项目)。我还计划再完成2-3个不依赖框架的项目,以真正理解Java构建系统及其通用流程。我希望在二月底开始学习Spring Boot等框架。
以上是我是如何学习java的的详细内容。更多信息请关注PHP中文网其他相关文章!

本文分析了2025年的前四个JavaScript框架(React,Angular,Vue,Susve),比较了它们的性能,可伸缩性和未来前景。 尽管由于强大的社区和生态系统,所有这些都保持占主导地位,但它们的相对人口

本文介绍了SnakeyAml中的CVE-2022-1471漏洞,这是一个允许远程代码执行的关键缺陷。 它详细介绍了如何升级春季启动应用程序到Snakeyaml 1.33或更高版本的降低风险,强调了依赖性更新

Node.js 20通过V8发动机改进可显着提高性能,特别是更快的垃圾收集和I/O。 新功能包括更好的WebSembly支持和精制的调试工具,提高开发人员的生产率和应用速度。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA

本文探讨了在黄瓜步骤之间共享数据的方法,比较方案上下文,全局变量,参数传递和数据结构。 它强调可维护性的最佳实践,包括简洁的上下文使用,描述性

本文使用lambda表达式,流API,方法参考和可选探索将功能编程集成到Java中。 它突出显示了通过简洁性和不变性改善代码可读性和可维护性等好处


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能