如何成为一名Java开发者?

Java是当今世界三大编程语言之一。它可被用来开发Web应用和桌面应用,而且它是跨平台的 - 一次编译,多处运行(write once, run everywhere)。而且,Java上手十分简单。如果你想要成为一名合格的Java开发者,你需要看看自己是否知道一下内容。

下面的列表是由一个高级Java开发者Vivek Vermani总结的。

对于一个核心Java开发者来说,他最好应了解以下内容。

(1) 面向对象(OOP)的概念

(2) 抽象类(abstract class)和接口(interface)

(3) 构造函数(constructor)和初始化顺序

(4) 文件输入/输出(IO)和序列化(serialization)

(5) 集合(collection) - List、Map、Set

(6) 访问修饰符(access specifier)

(7) 异常(exception) - 检测(checked)、未检测(unchecked)

(8) 泛型(generic)

(9) Java保留字 - static、final、volatile、synchronized、transient、this、super等

(10) JVM和内存管理

(11) 多线程(multithreading)及同步(synchronized)

(12) 设计模式(design pattern)

(13) 反射(reflection)

(14) Lambda表达式

《Java面试问题及答案-快速浏览》中包含200多个有关Java核心技术的问题。

如果你想关注网络(network) / 分布式(distributed)应用,你需要了解:

(1) 通信协议,如IP、HTTP、TCP、FTP、UDP,阅读相关RFC文档是很有必要的

(2) 异步(synchronous)通信 vs 同步(asynchronous)通信

(3) socket

(4) 诸如远程方法调用(RMI,Remote Method Invocation)、RCP等技术

(5) 消息队列(message queue)

(6) 接口API,如JMS、JDBC、ORM、Hibernate

如果需要开发基于Java的Web应用,则要学习以下内容:

(1) JSP / Servlets

(2) Web框架,如Struts、Spring

(3) 面向服务的架构(Service Oriented Architecture)/ Web服务,如SOAP、Rest

(4) HTML、CSS、Javascript、JQuery等技术

(5) 标记(Markup)语言,如XML、JSON

(6) 应用服务器和Web服务器,如Tomcat

(7) 缓存(caching)

(8) Web应用服务器,如WebLogic、WebSphere

(9) 云服务,如AWS、SoftLayer、BlueMix

(10) 类库,如Java mail、log4j、Jackson JSON

如果需要进行Java UI相关开发,那么要了解的内容有

(1) Applet

(2) 诸如Swing、SWT、AWT等框架

(3) 高级框架,如JavaFX、JMF

作为一个Java开发者,了解一些数据库的知识也是很有必要的。

(1) SQL查询 - 内联接(inner join)、外联接(outer join)、分组(group by)、having

(2) 存储过程(stored procedure)

(3) 触发器(trigger)

(4) 游标(cursor)

(5) 数据库驱动,如JDBC

(6) JavaBean

此外,还需要了解有关开发工具、方法论、开发流程等一系列内容。

(1) 开发工具,如Eclipse、RAD、IntelliJ IDEA

(2) 设计工具和图表

(3) 配置管理工具,如SVN、Clearcase等

(4) 纠错(defect)管理

(5) Build工具,如Maven、Ant等

(6) 测试 - 单元测试(unit testing)、JUnit、黑盒(black box)、白盒(white box)

(7) 开发方法论 - 敏捷开发(agile)、瀑布流(waterfall)、迭代(iterative)

(8) 需求分析(requirement analysis)

(9) 发布(release)管理

(10) 逆向工程(reverse engineering) - JadClipse(一种Java反编译器)

(11)  Open JDK源代码 - Mercurial on Eclipse

下面的链接对你的学习可能会有所帮助

(1) The Java Tutorials

(2) Java revisited

(3) JavaWorld

(4) Java2s - Many Java code snippets

(5) Java - Interview Questions and Answers - Quick Reference - One Liners

(6) Java web tutorials

(7) Java Concurrency / Multithreading Turtorials

(8) Introduction to Java programming

(9) 200+ Java / J2EE Interview Questions and Answers

(10) Struts Framework - Interview Questions and Answers

(11) Spring Interview Questions FAQs Interview Questions Spring Tutorial JSF Interview Questions Hibernate Interview Questions

(12) WAS / WSAD / RAD - Interview Questions and Answers

(13) JavaScript Interview questions and answers

(14) Interview Questions and Answers on Markup Languate - XML, JSON

原文地址:Want to be a Java developer ?

如何成为一名Java开发者?

时间: 2024-11-06 23:17:50

如何成为一名Java开发者?的相关文章

如何成为一名Java冠军程序员?

每一个稍微有点出息的人,都应该把行业里的前三名作为自己奋斗的目标和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的职业生涯里,知识有一个三年的半衰期.这意味着三年后,你所拥有的一半知识是毫无价值的.举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR的人更是如同大海捞针.在 DOS系统里,并不能让多个程序同时运行. 因此,在我们需要一个后台功能的时候,比如日历或计算器,我

成为一名JAVA高级工程师你需要学什么

宏观上: 1.技术广度方面至少要精通多门开源技术吧,研究过struts\spring等的源码. 2.项目经验方面从头到尾跟过几个大项目,头是指需求阶段,包括需求调研.尾是指上线交付之后,包括维护阶段. 3.架构经验方面有过分布式系统的架构和开发经验.对于跨系统的结构优化,数据存储的性能指标等有丰富经验.什么缓存啊.数据库的垂直切分什么的,业务的抽象和水平拆分啊,这些应该都轻车熟路吧. 4.行业领域方面最起码得精通一到两门业务吧,所谓精通,就是比如做金融证券业务的,至少等当半个经融分析师.做电力业

成为一名JAVA高级工程师你需要学什么【转】

宏观上: 1.技术广度方面至少要精通多门开源技术吧,研究过struts\spring等的源码. 2.项目经验方面从头到尾跟过几个大项目,头是指需求阶段,包括需求调研.尾是指上线交付之后,包括维护阶段. 3.架构经验方面有过分布式系统的架构和开发经验.对于跨系统的结构优化,数据存储的性能指标等有丰富经验.什么缓存啊.数据库的垂直切分什么的,业务的抽象和水平拆分啊,这些应该都轻车熟路吧. 4.行业领域方面最起码得精通一到两门业务吧,所谓精通,就是比如做金融证券业务的,至少等当半个经融分析师.做电力业

如何成为一名Java初级程序员

目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员.本人在这里抛砖引玉,和大家讨论成为一个JAVA初级程序员应该具有的知识,与大家共享. 个人认为想成为一个合格的JAVA初级程序员应该具备如下知识: 一.面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿。那么作为一名Java程序员

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿.那么作为一名Java程序员当然也要保持不断学习的状态才能在这个领域站稳脚跟.那些工作了一定年限的技术人总有一天会感觉到自己遇到了职业瓶颈,这个时候如果你还是安于现状不去学习钻研的话只会被长江后浪推前浪 把你拍死在沙滩上了. 那么该怎么学习呢 ?学习什么呢?系统化的学习工作所需要的是基础知识,而不是到百度或谷歌查资料解决.这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应.

如何成为一名AI工程师

如何成为一名AI工程师 step 前端:js,html,找准方向开始累积知识! 计算机/数学专业 python anaconda IDE pycharm/jupyter 熟悉基础语法,了解数据结构 刷leetcode,剑指offer 熟悉基础数学知识 机器学习入门概念 监督学习 = 分类模型 半监督学习 无监督学习=聚类模型 之后kaggle搞起,做一个机器学习流程 先做分类模型 入门题目:titanic 下载数据 数据清洗 算法选择:逻辑回归 提交预测结果 低阶分类算法公式推导 罗辑回归 SV

作为一名java开发人员,不了解jvm调优对工作有什么影响?

对于java开发者来说,不论是新手还是老手,都会听说jvm一词,jvm算是java里比较核心与关键的东西了,但是对于一些新手或者工作有一段时间的java程序员来说,貌似感觉jvm并不那么重要一样,自己平时写代码写得好好的,不是很了解jvm好像也没什么的,其实这就大错特错了,jvm是时时刻刻的起着重要的作用,你写的代码都是基于他上面运行的,那么有的人就可能说不需要了解jvm照样能写好代码,有这种可能吧,但是,我们来一起看看下面这位java程序员朋友的一些体会吧. 据这名Java程序员朋友所说,他作

怎样成为一名“喜鹊”程序员? 转载自宅客学院

我时常在想,软件开发人员在某些方面和喜鹊——一种臭名昭著地喜欢偷发亮的物品来装饰它们巢穴的鸟类非常类似.像喜鹊,从定义上说明软件开发人员是一种异常聪明,又有好奇心的动物.但是,我们非常非常容易因为闪亮的新玩具而分心. 我 一点也不觉得阅读类似Scott Hanselman的<Ultimate Developer Tool list>鼓舞人心.相反,它令人疲劳.软件世界前进的改革步伐是无情的.我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍 地重复这些陈词滥调,直到它们