从新开始学JAVA - 基础背景知识1

计算机发展:

  • 初代:底层语言,即低级语言,又称之为计算机语言。是由0于1组成的、使用二进制进行表达的语言。可以直接被计算机理解、加载。
  • 二代:汇编语言,即用简单的英文来替代指令,编写起来更易高效易懂。汇编语言不属于计算机语言,所以需要依赖汇编程序将其中的符号(比如ADD代表加号)翻译为二进制的计算机语言。针对不同硬件会有不同的汇编程序。因为是直接对硬件下达指令,所以此语言运行效率非常高,常运用于硬件。
  • 三代:高级语言,C语言就是鼻祖。属于编译语言。
  • 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
  • 编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。如今大多数的编程语言都是编译型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。
C语言的痛点:
  • 指针难用
  • 需要手动进行内存管理(并且在编写的时候不会报错,只有真正运行的时候才会,所以很费时费力)
  • 可移植性差,理论上来讲,一次编写可以直接在不同电脑上编译即可使用。但事实是,在不同电脑、硬件、环境、平台上运行时,需要针对性的对细节进行调整,并且往往一个小差错就会导致运行失败。

C++语言的提升:

  • 面向对象
  • 添加了一部分静态的例行检查
  • 兼容C语言
  • 图形领域、游戏
  • 比C语言更复杂
Java的提升:
  • 语法类似于C语言
  • 没有指针
  • 没有内存管理
  • 可移植性,编写一次,多处运行(利用JVM,即Java虚拟机)
  • 面向对象
  • 类型安全
  • 高质量的类库

三高:

  • 高可用
  • 高性能
  • 高并发

Java相关平台、系统、工具:

  • 构建工具:Ant,Maven,Jekins
  • 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
  • Web开发:Struts,Spring,Hibernate,myBatis
  • 开发工具:Eclipse,Netbean,intellij IDEA,Jbuilder

Java优势:

  • 简单性
  • 面向对象
  • 可移植性(利用JVM)
  • 高性能
  • 分布式
  • 动态性(反射机制)
  • 多线程
  • 安全性
  • 健壮性

Java三大版本:

  • JavaSE:标准版(桌面程序,控制台开发)
  • JavaME:嵌入式开发(手机,小家电)(几乎每人学了现在)
  • JavaEE:E企业级开发(web端,服务器开发)

JDK、JRE、JVM:

  • JDK:Java Development Kit
  • JRE:Java Runtime Environment
  • JVM:Java Virtual Machine

 

posted @ 2022-10-26 13:57  重生之开局就学写代码  阅读(36)  评论(0编辑  收藏  举报