摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例带领大家Java基础入门!
本次直播视频精彩回顾,
戳这里!
演讲嘉宾简介:
邢凯航(花名:弗止),阿里巴巴Java高级开发工程师,香港大学计算机科学硕士,16年加入阿里巴巴,目前就职于研发效能事业部用户声音及代码智能化团队,负责代码中心后端开发。
以下内容根据演讲嘉宾视频分享以及PPT整理而成。
本文将围绕一下几个方面进行介绍:
1.
Java语言特点
2.
如何学习Java
3.
JVM概述
4.
面向对象入门
5.
示例演示
6.
扩展阅读
一. Java语言特点
1. Java是一种面向对象的语言,以对象为颗粒度,对象中包含属性和方法,通过对象间的继承和组合构建程序世界。在学习面向对象语言时,大家不仅仅应该关注过程,还需要对待解决的问题进行抽象和建模,最终生成易于维护和扩展的设计方案。这是一个由浅入深、循序渐进的过程。
2. 其次,Java具有良好的跨平台特性。Java程序可以不受计算机硬件和操作系统的约束,在任何支持Java虚拟机(JVM)的环境下都可以正常运行。编写的Java程序经过编译后生成的字节码可以被JVM识别,JVM为程序运行屏蔽了底层操作系统的差异。
3. 第三个特点是Java具有垃圾回收机制,简称GC(Garbage Collection)。在Java中不需要关心内存空间的回收问题,这一切都会交给JVM进行处理。JVM会识别出哪些对象不需要再次被使用,进而自动回收其内存空间,不需要手动回收,大大提高了开发效率。
4. 第四个特性是Java为单根结构。Java中所有的类都继承成自同一个基础类object,如此所有类具有同一个通用接口,并且在层次结构上都属于同一类型,这为编程提供了极大的便利。
5. 另外Java在设计之初就非常注重安全性,在多个阶段均提供了安全保证。Java中不支持指针,避免了非法内存的操作。在编译运行时,提供了多重语法、类型、边界和字节码的检查。
6. 最后Java语言是解释型的语言。Java编译的结果并不会在操作系统上运行,而是生成一个中间class文件,被JVM加载并解释执行。早期的Java版本因为解释过程,运行速度相比C++要慢很多,但随着Java编译器的优化,某些结果甚至已经表明Java会比C++运行更快,因此如今并没有统一的定论。
二. 如何学习Java
首先,Java的学习有两条主线——Java语言和JVM。一方面,大家需要学习Java语言编程的语法规则,能够熟练使用JDK提供的常用的工具类,并通过多线程解决问题。此外还需要熟练掌握一至两个框架,快速上手工程的开发。另一方面,大家需要了解JVM底层,了解Java内部的运行机制。其次,关于工具的选择,这里推荐大家使用在业界比较流行的IntelliJ IDEA或Eclipse。一个好的编程工具会提供很多优秀的能力,提升开发效率。第三点,建议大家使用较新的JDK版本,例如JDK8及以上。JDK在更新过程中会出现一些优秀的类库以及新的语法规则,及时更新版本有助于跟上业界新步伐。最后尤为重要的是需要多看、多思考、多实践。多看一些优秀的源码和工程,例如JDK源码,可以了解好的编码习惯和风格,并且通过熟悉底层的原理,有助于写出高性能和健壮的程序;再例如Tomcat源码,阿里Dubbo源码等,从中学习软件设计思维。最后还需要多练习实践。