对开发语言基础的理解 以Android-Java举例

我对开发语言基础的理解

我们在学习软件开发的时候,最先学习都就是一门编程语言,语言是我们开发的基础,也是我们开发的工具,今天来讲一讲我对于我目前从事的Android开发所用的Java的理解

首先说一下语言与应用

这是刚开始学习还没有入门的新同学经常误解的一个问题,以为学会了Java,就能做开发了,但也有大家“日常用语”的一部分锅,比如有人问,“你在做什么开发呀”,然后做Java web开发的同学就会说“Java开发呀”,然而其实Java开发说的是Java web开发,Java web开发又包含了Java EE的知识,还包含对数据库,Linux,SSH框架等的学习,甚至还需要一些前端的知识,并不只是学习Java语言这么简单的,PHP等web开发亦是如此

所以我们就要区分语言、应用

我们首先学习的是Java语言,它的语法、特性、及其功能,其中包括基础的数据结构啊,基本语法,流程控制,IO,多线程等基础的、大多数语言都具备的功能,以及多态,反射等Java独有的特性,并且语言都是在不断的完善更新的,比如Java8加入了lamada表达式,最近才发布的Java9加入的模块化等等

而后才是语言的应用,不同的语言根据不同的设计以及不同的特性有不同的应用点,有些语言很万能,多用,比如Kotlin,除了之前所支持的Native开发,web开发,Android开发,现在又宣布以后会支持iOS开发,有些语言则应用点单一,比如PHP,只能用于web开发

Java语言的应用点还是比较多的,在web开发中也不仅仅支持后端开发,在上古时代的时候,Java applet还被用于前端开发,只是后边被JavaScript给刷下来了。
还有很多同学不知道的是,我们用的很多桌面应用,其实也是用Java来开发的,这时你会想,“Java程序不是需要JRE才能运行么,如果我用了Java写的应用程序,为什么从来没有装过JRE呢?”,其实用Java开发的桌面应用程序,打包的时候都自带了JRE,说出来也许你会比较震惊,我们日常使用的Android Studio,就是用Java开发的,并且Jetbrains所开发的IDE,也都是用Java开发的,Jetbrains是一家Java功力很深厚的公司,所以才创造出了现在被钦定的Kotlin

出了上述所说的,Java还被用于我们所熟知的Android开发,在Android系统中,自带了一个JVM来运行我们开发的Java程序,
Android的frameworks源码,也是用Java来开发编写的

说到这里,相信大部分同学已经能分清语言应用

Java基础

其实说这个问题比较多余,我也不打算展开,这里就给大家说一个概念

Java基础的内容,大家看一遍《Java核心技术》的目录,基本上都包含了,看《Java编程思想》也是可以的,《Java编程思想》如同书名,阐述的是Java设计的思想,以及你编程的思想,建议先看《Java核心技术》,再看《Java编程思想》,不要觉得《Java编程思想》很厚,讲的很深,只要你有一定编程经验,结合编程场景,是非常容易理解的,掌握了其中的思想,在编程中,也会对你有指导作用

我理解的Java基础包含如下内容

  1. 基础认识 (JDK、JVM、JRE)

  2. 数据类型、变量、运算符、字符串、数组

  3. 流程控制

  4. 对象与类(深入理解面向对象,划重点)

  5. 继承

  6. 接口

  7. 内部类

  8. 多态

  9. 泛型

  10. 集合(其实就是Java所提供一些数据结构)

  11. IO

  12. 多线程

  13. 异常处理

  14. 网络编程

  15. 反射

其实还包括Swing和AWT图形编程,这个主要应用于桌面端程序编写,我们用Java进行web或Android开发,是不需要掌握的

在上述的内容中,我觉得最要重点掌握的,就是面向对象的思想,这个一定要深入理解,Java可以说是是一门纯面向对象的语言,理解了面向对象,你理解其他问题就会容易很多

如果你从事的是web开发,那么多线程和网络编程,也是你必须要下功夫的了

对于Android开发,我建议新同学过一遍基础,就可以开始学习Android了,然后再从实践中,回过头了学习你没有掌握的Java基础知识,学习一门语言,光看是没有用的,一定要动起手来,然后再实践中学习,你才有体会,才有理解

划重点,理解才是重中之重,一定要体会,理解,看看《Java编程思想》,我觉得对你一定有帮助

其他的?

当你基础掌握的还可以了,你当然想去更深的地方,我懂的,这个时候你可以学习一些JVM的知识,推荐的书是《深入理解JVM》,周志华老师写的,看了你就能懂Java是如何在JVM上跑起来的了,也能理解Java的一些设计,内存管理的知识

当然你也可以看一些Java其他应用,可以看一些开源库来理解,Github就是程序员的图书馆,多看看,总是有好处的

总结

以上就是我所理解的Java基础,不足和偏颇是不能避免的,希望大家多多提出和讨论。要我给出一个建议,那就是多动手实践,然后在实践中多理解体会和思考。

并且要说明一个问题,我们今天讲的是开发中的语言基础,就是说Java是Android开发的语言基础,不是讲的Java语言中基础的东西,我们上述所说的内容已经包含了Java语言中的大部分内容,都理解了,学会了,也就可以说掌握Java了,并不是只是掌握了Java中的“基础”,说明一下

当然我自己也是在学习中拉,如果有大牛看到了,也请不吝多多赐教,谢谢大家,我是麦田哥,点个like吧~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容