从新开始学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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码