不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”)。简单来说,就是Java程序可以直接在任何设备上运行。

Java语言是什么?

不管我们是否意识到,实际上我们基本每天都在与Java打交道。在浏览网页时,可能会弹出一个提示,要求必须安装Java才能继续浏览。这种情况一般发生在使用flash或者是通过某种方式将flash组件集成到核心系统的站点。

Java并不是那种通常在新电脑上直接下载下来就能用的程序。我不能确定有没有操作系统将Java作为默认的可执行程序。虽然历史上Java在安全方面有过问题,但这也让Java变得更加成熟。现如今,早已有安全加密保护技术,在安全方面可以为Java提供安全解决方案!

从笔记本到数据中心、从游戏机到科学家的超级计算机、从手机到互联网,Java无处不在!

  • 97%的企业桌面运行Java

  • 美国89%的计算机运行着Java

  • 世界共有9百万Java开发者

  • Java是开发者的首选

  • 头号开发平台

  • 三十亿部手机运行着Java

  • 所有的蓝光播放器中都含有Java

  • 有五十亿Java Cards在使用中

  • 1.25亿的TV设备运行着Java

  • 5个最大的OEM商都安装Java ME

从上述的统计中可以看到,Java语言非常受追捧而且Java的市场也很大。

Java开发者的薪酬

我想简要讨论下Java的薪酬,即全职的Java开发者在合理的时间内能赚多少钱。

该表是全美国范围的薪酬统计报告,大致在8万5千美元上下。由于我们能够免费学习Java,所以这个工资是相当高的。下面就来介绍能在短短几周内免费学习Java的资源。

Java入门

前一阵子我发布了这门在线课程,并收到了许多反馈。大部分人都说课程中介绍的方式学起Java太费时了,他们想在几周内就搞定Java。我同意这个观点,因此在这里我添加一些你应该了解的额外课程。

这些课程有些需要付费,但通过这些课程可以接触到一些独立的社区,会发现有35000名学生在学习这门课程。课程的内容超过10个小时,100多篇讲义,还有数百个针对疑难问题的讨论。

没有比这些课程能更好的学习Java了,学习Java最好的途径是在实践中成长为专家,但这样很难完成。另外,我很乐意在课程中回答问题。

Java基础

学习哪一门语言并不重要,任何一门语言都是要从基础学期,Java也不例外。值得庆幸的是, Oracle官方(拥有Java的公司 )网站有一个大量关于Java的介绍,解释Java是什么,展示Java是如何工作的基本知识。

读者还会发现还有许多可供进一步阅读的资源。但最重要的是,这些页面会帮你获得开始学习Java所需的所有工具和相关内容。

Java编程入门

这是另一个非常优秀的资源,不仅仅是因为这份资源由世界顶尖的大学出版。而是因为你肯定会发现这门课的质量非常高。在通过这门课学习Java的过程中会迫使你阅读大量的资料。

这门课程广受好评,虽然刚开始学习可能有点偏理论,但依然被认为是最适合初学者学习的Java资料。课程中有完整的图片、例子、代码和文档。

在线学习Java

近年来,交互式教程越来越多。所以我觉得有必要介绍一些网上的交互式课程。说实话,我们不会完整学完整个交互式课程,但我建议在用书本学习之前,先接触下这些交互式课程。

另外,交互式课程不用打开IDE就能载入并测试一些代码。

笨方法学Java

这是我推荐的唯一一本需要付费购买的书。因为这本书非常有用,很适合初学者。所以我认为还是值得买一本的,20刀。(译注:貌似没有中文版)。

读者可以在网上免费阅读前16章,链接在此。我想许多人都会喜欢上这本书的,该书的组织非常合理,有合适的练习题。不能要求再高了。

自己动手学Java

这个网站的作者与前面那本书的作者是同一个人,那本书的灵感即来自该网站。刚开始的时候会发现许多不需要大量编程技能就能解决的问题,但随着学习的深入,问题会越来越难。

我一直坚信,学习某个东西的最好途径就是先去做一遍,然后测试一下,再重新过一遍。所以选取上面列出的任何一个教程或书籍开始学习吧。

零基础学Java

有些人喜欢通过视频学习。在很忙的时候,视频可以随时重放,掌握其中关键的知识。

Udemy上的课程是免费的(但需要注册一个帐号才能观看),这门Java课程已经有超过10万人注册学习,是该网站上最火的课程之一。讲解者是John Purcell,他是拥有多年Java开发经验的软件工程师。

这门课有20多小时的内容,超过70篇讲义。加入Udemy,就能获得一个非常庞大的支持社区(所有学习该课程的学生都在这个社区里),Udemy还有内置的支持系统,可以提问。

CodingBat

不要让设计欺骗你,这会让你分心。 CodingBat(之前的JavaBat)是在浏览器中免费交互式学习Java的最佳途径之一。这是第二个推荐的交互式学习网站,我认为它比前一个网站更好。

与Codecademy不同,CodingBat中对所有内容都是从入门到深入,手把手的指导。CodingBat更多的是让你做你知道的事情,并安排你有能力进一步学习的内容。不要误认为这是没组织好,其中每节有大量的教程,学习起来会很快。

Java(初学者)编程教程

(译者注:需要自备梯子)

YouTube上的The New Boston用户发布了许多编程语言的视频教程,其中也包含Java,这些视频是已知最全面的介绍。里面有80部手把手教你学Java的教程,但可能有点旧了(视频使用的是Java 7)。

不要因为我说有点旧就放弃这个教程。对于那些下定决心学习Java的读者来说,这个资源依然非常有用。另外, 与Udemy不同,观看这个视频不需要注册。视频中的留言也非常有用。

Java面向对象编程

这是另一门大学课程,总计耗时6周。非常适合初学者,所有操作都可以在浏览器中完成。这门课程还有一个非常好的教程,介绍如何安装Java和相关工具。在课程中会学到计算机编程基础、算法,以及使用Java进行面向对象开发。

这门课程还有第二部分,同样为期六周。所以总计需要12-13周的时间来学习。完成课程后,应该学会如何构建自己的应用,如何以Java开发者的思维进行思考。这样就可以更进一步,更加深入的探索语Java言。

Java编程练习

最后给出一个用于练习编程的网站,该网站专注于Java,每个练习题都有解答。实际练习是非常重要的,特别是像Java这样的语言,这种语言并不能在一开始就熟练掌握。

这里总共有30个练习,如果遇到了难题,可以过一段时间再来看看,也许到时候就能找到解答方法。

学习Java的10种方法

这篇文章可能比不上我之前介绍的学习Python那篇文章。我认为这是因为Java并不是易学的编程语言,需要高度关注其中的细节。Java在今年的流程编程语言当中,背后有庞大的社区。

还有一个建议,就是多去类似StackOverflow和Reddit这样的站点看看,从中可以找到常见问题的答案、通过提问学习到更多的知识。不问问题,仅仅意味着目前不需要解决方案,但并非会一直如此。初次之外,提前多了解下应用安全加密技术,防患于未然,在此推荐爱加密,专业的安卓应用加密技术,可以让你跟你的应用免除后顾之忧!

我希望这些资源、书籍、和网站能帮到你。无论你是否会成为Java资深开发者,将这些资源转给你周围希望加入开发社区的人都是不错的选择。祝你好运!

几周内搞定Java的10个方法的更多相关文章

  1. 怎样在两小时内搞定 OpenStack 部署?(转)

    怎样在两小时内搞定 OpenStack 部署? OpenStack的安装是一个难题,组件众多,非常麻烦.如果手工部署OpenStack,可能需要好几天,使用RDO,就是几个命令,再加一两个小时的等待. ...

  2. 一分钟搞定Java高频面试题

    一分钟搞定Java高频面试题 一.变量赋值和计算 题目: public static void main(String[] args) { int i = 1; i = i++; int j = i+ ...

  3. 10分钟搞定 Java 并发队列好吗?好的

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  4. Java异常详解——一篇文章搞定Java异常

    目录 1. 异常的体系结构 2. 常见的异常 2.1 运行时异常 2.2 编译时异常 (编译时异常必须进行处理否则无法运行) 3. 异常的抓抛模型原理 4. 异常的处理 4.1 try - catch ...

  5. 【第一期百题计划进行中,快来打卡学习】吃透java、细化到知识点的练习题及笔试题,助你轻松搞定java

    [快来免费打卡学习]参与方式 本期百题计划开始时间:2022-02-09,今日打卡题已在文中标红. 0.本文文末评论区打卡,需要登录才可以打卡以及查看其他人的打卡记录 1.以下练习题,请用对应的知识点 ...

  6. 一文搞懂--Java中重写equals方法为什么要重写hashcode方法?

    Java中重写equals方法为什么要重写hashcode方法? 直接看下面的例子: 首先我们只重写equals()方法 public class Test { public static void ...

  7. 【搞定 Java 并发面试】面试最常问的 Java 并发进阶常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.觉得内容不错 ...

  8. 一篇搞定Java集合类原理

    Java集合类实现原理 1.Iterable接口 定义了迭代集合的迭代方法 iterator() forEach() 对1.8的Lambda表达式提供了支持 2. Collection接口 定义了集合 ...

  9. 【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Sta ...

随机推荐

  1. Mysql干货收集

    mysql优化:https://www.cnblogs.com/duanxz/tag/mysql/default.html?page=1

  2. java实验程序基础中的问题总结 java图形化界面

    一,课程中的问题 1,知道程序实现的大体框架,但是不能具体到每一个细节,这需要平时的积累. 2,在不同文件夹中定义的类之间有没有联系,类与类之间可以通过接口相互联系. 3,如何在一个对话框中显示文本, ...

  3. URL中一些特殊符号的替代符

    下表中列出了一些URL特殊符号及编码 十六进制值 1.+ URL 中+号表示空格 %2B 2.空格 URL中的空格可以用+号或者编码 %20 3./ 分隔目录和子目录 %2F 4.? 分隔实际的 UR ...

  4. How-to-quick-getting-started-for-Frontend

    一转眼已一年多不专注前端方面的开发工作,这一年前端方面的技术又是新天地,偶然接到内部团队邀请我给他们做一个前端的讲座,希望能帮助他们快速.且深刻了解前端这个行业以及行业内的知识,这可真有点让我为难,由 ...

  5. jsonp实现原理

    jquery 封装在 ajax方法 里面的jsonp jsonp跨域的原理       1:使用script 标签发送请求,这个标签支持跨域访问       2:在script 标签里面给服务器端传递 ...

  6. NoReferencedTableError: Foreign key associated with column ** with which to generate a foreign key to target column 'id'

    1.使用 python flask 框架做项目时,在实体类中配置了 映射关系, message: id = db.Column(db.Integer, primary_key=True)message ...

  7. Codeforces Round #274 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/479 这次自己又仅仅能做出4道题来. A题:Expression 水题. 枚举六种情况求最大值就可以. 代码例如以下: #inc ...

  8. app-framework学习--nav的Scroller禁用与启用

    app-framewor(jqmobi) nav的Scroller禁用与启用 写在panel 的 data-load 方法里 禁用  $.ui.scrollingDivs.menu_scroller. ...

  9. node09---中间件

    如果我的的get.post回调函数中,没有next参数,那么就匹配上第一个路由,就不会往下匹配了. 如果想往下匹配的话,那么需要写next() 1app.get("/",funct ...

  10. bzoj1797: [Ahoi2009]Mincut 最小割(最小割+强联通tarjan)

    1797: [Ahoi2009]Mincut 最小割 题目:传送门 题解: 感觉是一道肥肠好的题目. 第二问其实比第一问简单? 用残余网络跑强联通,流量大于0才访问. 那么如果两个点所属的联通分量分别 ...