Java 学习之道 (蔡学墉)

Java 学习之道 Java 学习之道 目前 Java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 Java 学好。除非像电影「骇课任务」(Matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 Java 包括了下列的范畴: * 认识 J 阅读详情
目前 Java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 Java 学好。除非像电影「骇课任务」(Matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 Java 包括了下列的范畴:

* 认识 Java 的原理
* 学会 Java 语言
* 对象导向的思维
* API
* 开发工具的用法

下面分别就这几点详细阐述。

学习 Java 的原理
了解 Java 的原理,才有可能真正体会 Java 的一切,学习任何事情,只要能掌握原理,就会比较顺利。我发现许多人使用 Java 已经逾年,却连 Java 最基本的特质都不清楚。

一般来说,信息系毕业的学生,对于信息的新事物学习的速度,会比其它科系来得快,就是因为四年的教育为他们奠定了学习新事物的基础,这也是信息系课程的价值所在。

除非你受过的基础训练够扎实,否则在学习或使用 Java 的过程中,你一定会需要参考到这些信息系学科的知识。我建议各位可以在闲暇之余,把信息系课本的书拿来读一读。这是治本之道,绝非立竿见影的特效药,必须要有耐心。

学习 Java 语言
学习 Java 语言很简单,毕竟 Java 语言也只包含五十多个关键词(keyword)与几十个算符(operator),再加上 Java 语法(syntax)也很简单,所以一般人可以很快就学会 Java 语言。危险的是,很多人认为已经完全掌控 Java 语言,但其实对于内部的运作机制仍不能掌握,这些盲点有时候会让你无法完全掌控 Java 语言。克服这些盲点的方式是看「The Java Language Specification, 2nd Ed.」(没有中文版)来彻底弄懂 Java 程序语言,并看「Inside the Java Virtual Machine, 2nd Ed.」(有中文版,但翻译得@#%$)来彻底掌握 Java 虚拟机器的运作方式。

学习对象导向的思维
学会了语言,并不代表就可以设计出好的对象导向系统架构。想要成为对象导向的专家,往往需要:

* 多看相关的书,特别是 Design Pattern 和 Refactoring 的书。
* 多观摩别人的程序(例如 Java API 的 design 与 implementation)
* 多写程序

学习 API
学会 Java 语言之后,还需要学会一些 API 才能写出有用的程序。Java 的 API 非常多,必须规划好一个学习路径,才不会在浩瀚的 API 大海中迷失。必备的 API 包括了:IO、New IO、Collection Framework、Network、RMI、JAXP... 等。至于其它的 API,就看你的需求而定,大致上分成:

* GUI 类:JavaBean -> Swing -> JavaHelp -> Java2D -> Image IO -> JAI -> Java 3D ...
* Enterprise 类:JDBC -> JDO -> Servlet -> JSP -> EJB -> JMS -> JTA/JTS...
* J2ME 类(这一类不是我的专长,无法提供学习顺序建议)

学习开发工具的用法
只用 JDK,是很难写出大型程序的,所以通常程序员会使用 JBuilder/VisualAge/ VisualCafe 等工具,这些软件卖这么贵,一定有它的价值,值得花一些时间好好学习这些开发工具的使用方式,你将会发现开发工具所提供的许多功能,可以让你在开发过程中生产力大增。
Java自学之道(完整版) Java自学之道(完整版)该书从学生的角度出发,因为知识的接受者是我们,我们会更加了解我们自己需要什么样的知识以及什么样的学习方法。 立即下载

相关推荐

NVIDIA DGX Spark实战指南:从开箱到部署200B参数大模型

本文详细介绍了NVIDIA DGX Spark桌面AI超级计算机的开箱体验与实战部署指南。文章深入解析了其Grace Blackwell架构与128GB统一内存的核心优势,并逐步演示了从系统初始化、运行200B参数大模型到进行QLoRA微调的全过程。该设备将高达1 PetaFLOP的AI算力浓缩于桌面,为开发者和研究团队提供了本地化、高性能的AI开发与部署一体化解决方案。

weixin_29274969的博客 2240

java学习之道 --- 如何学习java?

最近一直在重新学习java的基础,也写了一系列的博客(重新认识java系列)。很荣幸得到了许多同学的反馈。其中有许多人是初学者,来问我一些问题,也有一些是已经有过一定的基础,看了我的博客,也有了一些新的认知,来和我讨论。当然,大部分人都是在问我怎么学习,自己不知道该怎么学了,让...

zqy_zq_zxl的博客 233

图像配准(Image Registration)——深度学习方法

参考:https://www.cnblogs.com/carsonzhu/p/11188574.html

m0_46483236的博客 4万+

Java的入门学习

本学期学了Java语言,就把书上前三个单元例题run了一下,并做好记录,每个例题所学到的知识点也做好注释,以便以后重新阅读时候,能够快速get到点。 public class HelloWord { public static void main(String targs[]){ System.out.println("Hello rabbit YangNa!"); } } //第一个程

qq_34975377的博客 328

车载导航测试,面试常见问题

车载导航测试是汽车软件测试的重要组成部分,涉及验证导航系统的功能、性能、可靠性和用户体验。在面试中,面试官通常会考察候选人的测试思维、问题解决能力和实际经验。以下我将从常见问题类别入手,逐步介绍面试中的高频问题,并提供结构化分析。通过以上结构化准备,你能在面试中自信应对车载导航测试相关问题。用户体验测试关注界面友好性和交互流畅性,安全测试则涉及功能安全和数据隐私。功能测试聚焦于导航核心功能的正确性,如路线规划、位置定位和地图显示。面试官会考察你如何识别、报告和跟踪缺陷,以及熟悉测试工具。

m0_69889939的博客 528

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

你该学什么程序语言?[转贴:蔡学墉]

很老的一篇文章,你该学什么程序语言?[转贴:蔡学墉] 作者;蔡学墉除非你像我一样学程序语言只是为了到处献宝,否则你在学一套程序语言前,应该先仔细评估到底要学哪一套。每个程序语言的用途都有很大的差异,走了冤枉路可能会耽误到计画实作的进程。我大致上把程序语言分成五类,分述如下:Web Page Script Languages用来做网页的语言,可以对网页做控制。

座间翔 -- 天地一沙鸥 1090

深信服防火墙路由模式开局部署-手把手教学(小白篇)

手把手教学,拿到深信服的防火墙路由模式该如何开局?

m0_64423407的博客 2万+

学习,是一条漫长的道路 (蔡学墉)

我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J

zaowei21的专栏 1774

【转录调控网络】代谢组学与其他组学的联合分析经典模式简介

多组学联合分析经典模式转录组学&代谢组学联合分析 转录组学&代谢组学联合分析 转录组是获得生物体内基因表达的重要方法,代谢组是生物体表型的基础和直接体现者。 转录组测序可以得到大量差异表达基因和调控代谢通路,但由于基因与表型之间很难之间关联,导致关键的信号通路难以确定,因此往往达不到预期的研究目的。代谢产物是生物体在内外调控下基因转录的最终结果,是生物体表型的物质基础。 在系统生物学研究时代,生物过程复杂多变,基因调控网络复杂。针对特定的生理、病理等表型进行研究,利用转录组的数据获得大量差异

小哲的博客 6195

VTK:受约束的 Delaunay 2D用法实战

VTK:受约束的 Delaunay 2D用法实战程序输出程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkCellArray.h> #include <vtkDelaunay2D.h> #include <vtkMath.h> #include <vtkMinimalStandardRandomSequence.h> #include <vtkNamedColors.h>

希望我的博客,能帮上你解决学习中工作中所遇到的问题 948

垃圾!(蔡学墉)

台北市去年开始实施垃圾费随袋征收之后,垃圾量减少了许多,资源回收量也开始大增,大家都说这是个不错的政策。此次春节前,台北市政府为了便民,宣布两天开放不收垃圾费(不需专属垃圾袋),结果换来的是一场垃圾清运人员的噩梦。大量的垃圾堆积在各巷道路口,台北市成了垃圾城。不过这样的场景我可是处变不惊了。毕竟我的大学时代四年是在中坜度过,这四年中,中坜市不断地发生垃圾风波,有时候甚至整个桃园地区都浸在酸败腐臭的

zaowei21的专栏 2415

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

职业敏感度 (蔡学墉)

对工作相当投入的人,往往会有很高的「职业敏感度」,而且敏感的范围扩及周遭,甚至是一天二十四小时无所不在。职业敏感度往往会造成学习的进步以及工作的突破。如果你也培养出了高职业敏感度,基本上这是件好事。高职业敏感度的人有着把职业融入生活的本事。比方说,傅培梅女士上餐厅吃饭吃到一道好菜时,应该会不自觉地剖析起这道菜的素材和做法;David Foster(大卫佛斯特,名唱片制作人)在听到一首好歌时,应该会

zaowei21的专栏 3000

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

变数的种类 (蔡学墉)

本文章尝试着为变数的种类做一个总整理,以期让读者能充分掌握每一种变数的特性。 根据宣告方式来为变数分类 根据宣告方式详细来区分,Java 的变数有七种,下面的程式码展示了这七种变数的宣告方式: class MyClass { static int a; int b; public static void myMethod(int c) { try { int d; } catch (Excepti

zaowei21的专栏 1494

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

如何进入程序设计的领域 (蔡学墉)

这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。 写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工具却可以创造无限的可能,

zaowei21的专栏 1530

一个 Java 信仰者的告诫 (蔡学墉)

Java,感谢你赐与我一辈子的恩典;虽然我多次犯罪得罪了你,但你还是爱我,愿意宽赦我。我感谢你允许我现在来告解;有人赶不上告解就离世了,这是多么的不幸!Java,请帮助我想起我所犯的罪过,并帮助我诚实告明。求你使我认清邪恶帝国的丑陋,并赐给我强大的程序设计能力,使我知道常得罪你是多么忘恩负义的事。我没有勉力帮助他人认识你和你所带来跨平台的福音。我已经有半年没有开过 Java 课了,也因此无法将更多

zaowei21的专栏 1440

不可能的任务 (蔡学墉)

二千年六月二日,影星 Tom Curse... oops! Tom Cruse,不不不,我是说 Tom Cruise(汤姆克鲁斯)来台宣传新片 Mission: Impossible 2(不可能的任务 2)。虽然还没去看,但任谁都猜得出结果:咱们俊俏的 Tom 不会让全球影迷失望,在片中,他一定会再一次地完成了不可能的任务(可能还会有抱得美人归的 bonus)。依我看来,这种任务只能叫做「Miss

zaowei21的专栏 1735

Shit Happens (蔡学墉)

不要用鄙夷的眼光看待这个标题。其实「Shit Happens」是个名言,而且还是个具有禅意的名言。 电影阿甘正传(Forrest Gump)中,阿甘在跑步时踩到 shit,旁边一位失意的商人问他对此事的看法,阿甘表情轻松地说:「Shit Happens.」 ,这句话的意思是「人生偶而会有不顺遂的事发生,没什么值得大惊小怪的」。这个商人于是将「SHIT HAPPENS」做成标语,结果大卖。 电影下一

zaowei21的专栏 4414

《浮在台灯下的java》--关于程序员的职业规划

    也许大家看到《浮在台灯下的java》这么个名字会觉得的很迷茫,java怎么会浮在台灯下面呢.其实这也许是我们垃圾的山东建筑工程学院逼迫程序爱好者才能出现的情况.我们学校的寝室要求11:00熄灯,可是我每天都要学习到1点以后,只能用台灯来解决照明问题.可是台灯发出的光芒除了能解决我看书的问题,同时也能吸引楼管的目光呀!所以为了能"学习",我只能每天 把台灯放到被卧里面学习了.真担心劣质的

CodeJungle'Blog 2455

认证无用论?(蔡学墉)

该不该去考 Java 认证?」一直都有人很仿徨地这么问我。对于此问题,我认为不应该简单地回答 Yes 或 No。根据你的背景以及对自己期许的不同,答案也会不一样。我们都希望在职场上得到别人的肯定,许多人都认为取得认证代表一种技术上的肯定,但在我看来,这其实是大有疑问的。至少我们都同意,在台湾考到驾照不见得就会开车,会开车不见得就开得好,否则台北市的交通也就不会这么紊乱了。也因此,当越来越多通过认证

zaowei21的专栏 1601

Shit? Happens, Part II (蔡学墉)

我在前面的「Shit? Happens」一文中提到一个名为 Shit? 的 RuntimeException,我用它来帮助找出自己因疏忽而造成的程序错误,但是这种方式毕竟有点麻烦,而且有一些伴随而来的问题。使用 Shit? Exception 的缺点包括了: 程序员要自行产生并丢出一个 Shit? 对象。 发生这种问题时,通常是很严重的状况,不应该是 Runtime Exception,应该是 E

zaowei21的专栏 1375

认证有用论?2(蔡学墉)

「认证无用论?」一文发表之后,得到许多响应,大部分是正面的,少部分是负面的。正面的回响我就不多提了,至于负面的响应,有些是对于文章的误解,光看标题,连标题的问号都没看见,就以为我认定认证是废纸;有些读者则是对我的论点提出详细的反驳,让我不得不承认该文章的确是思虑欠周,有必要再行补充,所以我写了「认证无用论?」的续篇 --- 「认证有用论?」。事实上,我绝对没有污蔑认证的意思,否则我也就不会在放弃攻

zaowei21的专栏 1872
上一篇: 认证有用论?2(蔡学墉)
下一篇: 语言、平台、链接库
zaowei21
博客等级 码龄25年 38粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值