Java入门

  • 语法与C相似
  • 没有指针,内存管理
  • 可移植性,一次编写,到处运行
  • 面向对象

Java初生

图形界面程序Applet

Java 2 标准版(J2SE):桌面端

Java 2 移动版(J2ME):移动端

Java 2 企业版(J2EE):服务器端

Java发展

例如构建工具:Maven,Jekins

应用服务器:Tomcat,Jetty等

Web开发:Struts,Spring,Hibernate,MyBatis

开发工具:Eclipse,Idea等

Hadoop(大数据领域)

Android(手机端)

Java的特性和优势

  • 简单性(没有头文件,指针这些,语法类似于C)
  • 面向对象
  • 可移植性(跨平台)
  • 高性能(即时编译)
  • 分布式(通过URL可以访问网络上的资源,可以通过网络调用方法)
  • 动态性(有反射机制)
  • 多线程(交互更好,比如同时上QQ和打游戏)
  • 安全性(为了满足分布式,需要更大的安全性;会进行内存检查,防止崩溃,还有异常机制)
  • 健壮性

Java三大版本

Write Once,Run Anywhere(JVM跨平台)

JavaSE:标准版(桌面程序,控制台开发…)

JavaME:嵌入式开发(手机,小家电…)

JavaEE:E企业级开发(web端,服务器开发)

JDK,JRE,JVM

JDK:Java Development Kit(Java开发者工具)

JRE:Java Runtime Environment(Java运行环境)

JVM:Java Virtual Machine(Java虚拟机)

JDK vs JRE vs JVM

Java环境搭载

JDK安装目录说明

mac环境下zulu jdk目录

bin目录下有很多可执行文件/应用程序,例如java,javac

include存放了很多头文件

lib里存放了库文件

HelloWorld及简单的语法规则

  1. 新建一个文件夹存放代码
  2. 新建一个java文件
    • 后缀名为.java,命名为Hello.java(与Java的类名相同)
    • windows系统可能不显示后缀,可以显示打开
1
2
3
4
5
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
}
  1. 执行javac Hello.java编译成成.class文件

    编译

生成了.class文件

  1. 执行java Hello命令成功在控制台输出

成功在控制台输出

可能遇到的情况

  • 每个单词的大小写不能出错,Java对大小写很敏感
  • 尽量使用英文
  • 类名和文件名必须保证一致

Java程序运行机制

  • 编译型(compile,用编译器“直接全文翻译“)
  • 解释型(用一下翻译一下)

而Java具有二者的特点。二者一个即时翻译一个需要时间,前者执行速度更快,对操作系统要求较低(如C、C++),后者例如一些网页和服务型脚本可以用,其对速度要求不高。

Java先对源文件进行预编译形成字节码文件,字节码文件放进虚拟类装载器即加载到JVM里,然后校验通过后用解释器提交给操作系统。由于硬件的提升,现在二者速度差距不大。