孩子为什么要学JAVA---Java学习规划

JAVA

什么是Java?

  • 一种编程语言、一种开发环境、一种应用环境、一种部署环境。

Java由Java程序设计语言和Java平台组成

  • 简单来说Java是一门计算机编程语言,面向对象的编程语言,和外语类似,反而相比外语更有逻辑性,作为一门语言,有语法、词法,有规则、有“固定搭配”,目的也都是为了实现交流,人与人或人与机器,都是一个概念。

Java程序设计语言

  • Java语言具有功能强大简单易用两个特征。

1.功能强大( Java功能强大取决于它的特性)

①Java 是面向对象

  • 即万事万物皆对象, Java 语言提供接口继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

分布式

  • Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段
  • 分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。 这些连通的节点上部署了我们的节点,并且相互的操作会有协同。
  • Java一个大型的系统往往被分为几个子系统来做,一个子系统可以部署在一台机器的多个 JVM 上,也可以部署在多台机器上。但是每一个系统不是独立的,不是完全独立的。需要相互通信,共同实现业务功能。

健壮性

  • Java 的强类型机制、异常处理、垃圾的自动收集等。对指针的丢弃和Java 的安全检查机制使都体现了Java的健壮性。

安全性

  • Java通常被用在网络环境中,为此Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵

平台独立与可移植性

  • java作为一种编程语言:源代码可移植性
    作为一种编程语言java提供了一种最简单同时也是人们最熟悉的的可移植性–源代码可移植。这就意味着任何一个java程序,不论它运行在何种cpu、操作系统或者java编译器器上都产生一样的结果。这是不是一个新概念,人们使用c或者c++也产生同样的效果,但是使用c或者c++的人们有太多的选择,在许多细节上它都没有严格的定义。这样就导致了同一段程序在不同的环境下会产生不同意外的结果。而java就不同了,由于严密的语义结构,而使编译器不承担这一职责。

  • java作为一个虚拟机:cpu可移植性
    大多数编译器产生的目标代码只能运行在一种cpu(如Intel的x86系列),即使那种支持多种编译器的目标代码,也不能产生适合多种cpu的目标代码。 而java不一样,java编译器产生的目标代码针对的是一种并不存在的cpu–java虚拟机,而不是一种具体的cpu。java虚拟机能掩盖不同cpu之间的差别,从而使java-code运行在安装有虚拟机的机器上。

  • java作为一种虚拟作系统和图形用户界面:操作系统的可移植。
    即使经过重新编译,大多数的用C和C++编写的Windows程序也不能在Unix或Macintosh系统上运行。这是为什么呢?因为程序员在编写Windows程序时使用了大量的WindowsAPI和中断调用,而Windows程序对系统功能的调用与Unix和Macintosh程序有很大的差别,所以除非将全套WindowsAPI移植到其它操作系统上,否则重编译的程序仍不能运行。JAVA采用了提供一套与平台无关的库函数(包括AWT、UTIL、LANG等等)的方法来解决这个问题。就象JVM提供了一个虚拟的CPU一样,JAVA库函数提供了一个虚拟的GUI环境。

多线程

  • Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。Java 支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的 run() 方法,要执行的方法就写在 run() 方法体内。

动态性

  • Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
  • Java是一种动态的语言,这表示在以下两个方面:
    1) 在Java语言中,可以简单、直观地查询运行时信息;
    2) 可以将新代码加入到一个正在运行的程序中去。

2.简单易用

①Java为什么简单?因为他是面向对象的。为什么面向对象的语言简单?因为一种面向对象的编码语言将执行过程分解为易于处理的小块,简化了软件设计。

② Java 语言的语法与 C 接近,且丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换 。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。

  • Java语言的众多特性使其在众多的编程语言中占有较大的市场份额,Java 语言对对象的支持和强大的 API (Application Programming Interface,应用程序接口)使得编程工作变得更加容易和快捷,大大降低了程序的开发成本。Java 的“一次编写,到处执行”正是它吸引众多商家和编程人员的一大优势。

  • Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,据说允许程序员以优雅的思维方式进行复杂的编程,目前还没有感受到,等我领悟了在说。

Java平台

  • java平台
      Java平台即由Java编程语言所撰写的软件赖以运行的平台,是Java软件和电脑系统的中介,最初被设计用在 Applet 等桌面端程序,不过后来逐渐转移到服务端的运用。
      java是一个可以在不同操作系统(例如windows,unix等)上运行的编程语言,java平台是指运行在各种终端(如pc、服务器、移动设备、嵌入式设备)的系统软件。PC机上的java程序是用javaSE开发出来的,服务器端的java程序是用javaEE开发出来的,移动设备的java程序是用javaME开发出来的。
      
    Java平台由Java虚拟机JVM和Java核心类库组成

  • JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

  • 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

  • 类库是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类。类库可以单独从第三方软件商获得。类库方法从技术上说并不属于某种语言。例如String类不是java语言的内建部分,而是java标准类库的一部分。

为什么学Java?

为了“钱”途命运啊
  出来混当然要有一门吃饭的手艺,软件方面本来就是高薪,就业前景非常不戳,当然付出也多,程序猿压力也不小,能有几个光鲜亮丽的?对于普通人来说,不管你梦想是什么,想从事什么,事实是人生总是要积累第一桶金才有能力追梦的,所以兴趣还是工具也不重要,重要的是学好它,为目的发挥价值。
  就我而言,当年高考失利,还滑档了,补录时我为了学软件工程,高出录取线七十分来边远的普一大学,就为了这个专业,为了证明文凭是实在没有办法证明自身能力时才需要的纸张,软件很公平,Java很公平,就业学历歧视并不严重,能力优先,靠本事吃饭。所以为什么学Java,更应该回答的是为什么不学Python,不学C++等,下面引用了很多方面总结的原因。

  1. Java在编程语言排行榜上基本上一直位列前三,而且Java的使用人数也很多,Java的需求量也很大,牛客网什么招聘网站可以搜着看看,Java是开源的,很多的人开发出很多开源的Java框架,开源的意义就是我们所有人都可以看到他们的源码,看到他们是如何写的,所以这个对于我们学习和开发都很方便。
  2. 说性能,java弱于C,说编码复杂度,java不如py,但Java具备丰富的生态系统,几乎每个功能点,都有相应的解决方案,不需要自己费心费力去创造。
  3. Java的性能比Python的性能好,Java更适合大型项目,易于管理和维护。
  4. 从公司角度出发,虽然PHP快捷 、C高性能、但JAVA安全稳定,而且采用JIT技术后性能与C比也弱不了多少,而且java的项目结构,更适合团队协作,以及后期扩展。

Java能干什么?

Java主要分成三个部分javaSE,javaME,javaEE
Java SE(Java Platform Standard Edition,Java 平台标准版)以前称为 J2SE,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java EE 提供基础,如 Java 语言基础、JDBC 操作、I/O 操作、网络通信以及多线程等技术。 JAVA SE是学习JAVA EE、JAVA ME的基础,也可以做本地的软件,通俗讲就是做单机版的软件;

Java EE(Java Platform Enterprise Edition,Java 平台企业版)以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和 Web 2.0 应用程序。JAVA EE主要是开发基于Web的系统,针对互联网的各种应用和大型复杂的项目给出解决方案

Java ME(Java Platform Micro Edition,Java 平台微型版)以前称为 J2ME,也叫 K-JAVA。 Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。
Java ME 包括灵活的用户界面、健壮的安全模型、丰富的内置网络协议以及对可以动态下载的联网和离线应用程序。基于 Java ME 规范的应用程序 只需编写一次就可以用于许多设备,而且可以利用每个设备的本机功能。 JAVA ME是用来开发游戏、电子设备、手机等方面的软件。

JAVA主要的应用领域

1、 大型网站,主要使用JAVA EE,最有名例子就是电子商务交易平台阿里巴巴,淘宝,京东

2、 大型企业级应用,主要使用JAVA EE,比如大型企业管理系统,CRM系统,ERP系统

2.1 有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是JAVA

2.2 有关金融行的大型企业,所有的银行、证券公司,互联网金融;

2.3 大型管理系统,如:供应链,客户管理系统,物流系统……;

3、 电子政务,主要使用JAVA EE,相关的政府部门绝大多数的信息化系统是JAVA开发的;

4、 游戏,很多手机游戏都是用JAVA开发的。包括大型网游的后台数据统计都是java,电脑上也有Java开发的游戏,最经典的是:《我的世界》(minecraft ,简称MC)

5、 嵌入式设备及消费类电子产品,主要用 JAVA ME,无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是比较热门的Java应用领域,这方面的应用例子有中国联通CDMA 1X网络中基于Java技术的无线
6、现在比较流行的大数据,最主流的大数据框架Hadoop的应用主要用Java开发。Java最大的优势之一就是它在大数据领域的地位,目前很多的大数据架构都是通过Java来完成的

Java学习规划?

  • 上课
    学校里的相关课程,相关语言的学习可以打下很好的一个基础,字节、主函数、类很多概念在语言里是互通的,相比而言学c和c++对后面Java更有帮助。
  • 看视频
    上课和看视频的差异在于,看视频是一个自学的过程,你可以自己把握课程进度,配合完成练习,在我初学Java的阶段,我非常喜欢看视频这种学习方法,很轻松,而且不懂的地方可以反复看,虽然效率不算高,视频质量也参差不齐,但是对新手来说,是很友好的,bilibili上面很多不错的课程慢慢看总有帮助和收获。
  • 上培训班
    培训班和大学上课不一样,整体的教学速度是很快的,并且更加注重实践,毕竟都自称是“速成班”、“包就业”,肯定要保证教学速度,同时尽快培养学员的实践能力。
  • 看CSDN博客相关技术文章
    每天习惯性的点出来看看,也不一定非要看哪方面的,养成一个阅读的习惯是一点,还有就是可以专精一门语言,但也不能太闭塞,其他的各种语言也好,前沿信息等都要有所了解
  • 看书
    看书很重要,书很系统,好的教材事半功倍

《Java从入门到精通(第3版)》:从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识 。
《Java编程语言(第3版)》:该书向熟悉基本编程概念的人讲述Java编程语言。该书解释了Java语言,但不是晦涩的正式介绍,也没有覆盖Java语言的所有方面 。
《疯狂Java讲义》:该书深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制 。
《Java编程思想(第4版)》:以JDK5.0为基础,在第3版的基础上,添加了新的语言特性,并且对第3版的结构进行了调整,使得所有章节的安排更加遵照循序渐进的特点,同时每一章的内容在分量上也都更加均衡,这使读者能够更加容易地阅读本书并充分了解每章所讲述的内容 。
《Java经典实例(第2版)》:本书囊括了许多有用的信息。然而,由于所涉及的主题广泛,不可能对所有主题都进行详尽地阐述。因此,本书还提供了相关的web站点与参考书籍。这也是为了本书的目标读者:想学习更多Java的人 。
《Java语言程序设计》:该书是清华大学出版社《普通高校本科计算机专业特色教材精选》丛书之一,也是普通高等教育“十一五” 国家级规划教材。该教材以培养应用型计算机人才为目标,立足课程改革和教材创新,在总结作者多年来从事Java语言教学工作经验的基础上形成了教材的核心内容。本教材可为普通高等院校计算机专业学生学习使用,也适用于自学 。
我打心底里认为输出知识才是最好的学习方法,写博客最大的好处,就是可以让自己对所写内容学的更透彻,有科学研究表明,把知识教给他人,是让自己掌握这一知识的最有效方法。

  • 写博客
      Java是开源的,是不断发展完善的,Java框架的搭建,某种程度上说我们不完全是站在巨人的肩膀上,更多是站在一代代Java程序员的努力上,我们有义务让Java更火,更多人了解和学习。
      同时输出知识也是很好的学习方法,写博客最大的好处,就是可以让自己对所写内容学的更透彻,有科学研究表明,把知识教给他人,是让自己掌握这一知识的最有效方法。

你可能感兴趣的:(孩子为什么要学JAVA---Java学习规划)