转载

Java 学习笔记

参考资料

  • Java程序设计 - 北大 - 唐大仕
  • 零基础学Java语言 - 浙大 - 翁恺
  • 面向对象程序设计——Java语言 - 浙大 - 翁恺

Eclipse

  • 在preference里面,搜索keys,可以查看和修改快捷键
  • Content Assist, 自动补全
  • Format, 代码格式化

1. Java简介

1.1 历史

  • Java 与 Internet 一起发展

    www, 万维网, 所有信息用链接连接起来

    Java, 静态网页 -> 动态网页

  • Java的出现, 1995年, SUN, Stanford University Network, JDK 1.0
  • JDK, Java Development Kit, Java开发工具包

    1995, JDK 1.0
    1998, JDK 1.2, Java2
    2000, JDK 1.3
    2002, JDK 1.4, assert, logging, re
    2004, JDK 1.5, 语法增加
    2006, JDK 1.6, 广泛, Compiler API(动态编译), 脚本语言支持, WebService支持
    2010, Oracle并购SUN
    2011, JDK 1.7, 带资源的try, 重抛异常
    2014, JDK 1.8, 大改进, lambda表达式
    
    注: 从 JDK 1.5 之后, JDK 1.x 也被称为 JDK x, 如 JDK 1.8 也被叫做 Java 8
  • Java的推动力

    JCP, Java Community Process, 社区

    JSR, Java Specification Requests, 规范

1.2 三大平台

  • Java SE, J2SE, Java 2 Platform Standard Edition, 标准版, 桌面引用
  • Jave EE, J2EE, Java 2 Platform Enterprise Edition, 企业版, Web应用
  • Java ME, J2ME, Micro Edition, 微型版, 嵌入式设备

1.3 特点

  • 跨平台, 安全稳定(不易内存溢出), 支持多线程, 丰富的类库
  • 纯的面向对象,(变量和方法都在对象里面)
  • 与 C++ 的区别

    • 无直接指针, 自动内存管理
    • 基本数据类型长度固定
    • 不使用头文件
    • 不支持宏
    • 无多重继承(使用接口)
    • 没有(放在类外面的)全局变量

1.4 三种核心机制

  • Java Virtual Machine, Java虚拟机
  • Code Security, 代码安全性检测
  • Garbage Collection, 垃圾回收

1.5.1 Java的编译与运行(IDE, 以 Eclipse 为例)

  • 打开 Eclipse, 然后左上角 File --- New --- Java Project, 输入工程名 javanote --- Finish
  • 在 Package Explorer 中展开 javanote --- 右键 src --- New --- Class, 在 Name 中输入 Main (首字母大写), 这之后我们会在 Package Explorer 中看到新增的 Main.java
  • 编写 Main.java

    package javanote;
    
    public class Main{
        public static void main(String args[]) {
            System.out.println("hello world");
        }
    }

1.5.2 Java的编译与运行(命令行)

  • 进入新建文件夹 ./javanote , 然后新建源程序文件 Main.java , 注意文件名和 public class 后面的类名一致

    public class Main {
        // 注意 String[] args 不能省略
        public static void main(String[] args){
            System.out.println("hello world");
        }
    }
  • 编译, 将会得到 Main.class 目标文件(obj), 字节码 bytecode , 不是实际机器的最终执行代码

    # c 代表 compiler
    $ javac Main.java
    $ ls
    Main.class  Main.java
  • 运行

    # 注意不是 java Main.class
    java Main

    通过 JVM 读取并处理 class 文件, 最终转化成 CPU 的指令. JVM for Win/*nix/ 模拟了一个操作系统/接口

原文  https://segmentfault.com/a/1190000019024444
正文到此结束
Loading...