• Java Part 001( 01_01_Java概述 )


    Java作为编程语言, 甚至超出了语言的范畴, 成为一种开发平台, 一种开发规范.

    Java语言相关的JavaEE规范里, 包含了时下最流行的各种软件工程理念, 学习Java相当于系统的学习了软件开发的相关知识, 而不仅仅是完成了一门编程语言.

     

    1.1 Java语言的发展史

    Java是由Sun Microsystems公司于1995年5月23日推出的Java面向对象程序设计语言和Java平台的总称. 由James Gosling(詹姆斯·高斯林)和同事们共同研发,并在1995年正式推出.

    Oak ---> Java;    Sun ---> Oracle

    版本 -> 1.2, 1.4, 1.5, 1.6, java8, java10

    历史上最重要的版本: JDK1.2
    
      1998年12月, JDK1.2发布, 一同发布的还有JSP/Servlet、EJB等规范; 并将Java分成了下面三个版本
    
      1.JavaSE: 整个Java技术的核心和基础, 它是J2ME和J2EE的编程基础
    
      2.JavaME: 主要控制移动设备和信息家电等有限存储设备
    
      3.JavaEE: 提供了企业应用开发相关的解决方案
    
    JDK历史上最成熟的版本: JDK1.4
    
      2002年2月, JDK1.4发布, 大量基于Java语言的开源框架涌现(Struts Hibernate Spring等); 大量应用服务器开始涌现(Weblogic WebSphere JBoss等)
    
    JDK1.5
    
      2004年10月, JDK1.5发布, J2EE更名为JavaEE
    
      JDK1.5增加了泛型, 增强for循环, 可变参数, 注释, 自动拆装箱等功能
    
    JDK1.6
    
      2006年4月

    1.2 Java的竞争对手及各自优势

       Java是面向对象编程语言, 与Java类似的语言有C#, Ruby, Python等

    Python的简介和优势

    2017年左右因为人工智能的发展Python的知名度开始迅速升高, 初始Python了解不是很多, 自己总结一下( 进不去这个行业, 也只能了解一点皮毛而已 )
    Python的岗位: PythonWeb开发, 自动化运维, 自动化测试, 爬虫, 数据挖掘, 数据分析, 人工智能(我觉得C才是重点)
    Python的缺点: 对于以上能实现的领域来说, Python可能会偏重于使用者的数学、算法等能力
    Python的框架: Flask, Django
    个人分析: 2018-2019年, 学历至少统招本科, 且最好是数学或计算机相关专业, 否则找工作还是很困难的, 另外PythonWeb开发的面试机会大约为Java开发的十分之一

     

     

     

     1.3 Java程序运行机制

      Java语言是一种特殊的高级语言, 它既具有解释型语言的特性, 也具编译型语言的特性, 因为Java程序要经过编译和解释两个步骤.

     

    计算机高级语言的执行方式: 编译型语言和解释型语言

    编译型语言: 源码一次性编译为该平台硬件执行的机器码(如.c --> .exe)
    
        移植性差, 机器码和平台相关, 需要根据源码在不同平台生成相应的机器码
    
    解释型语言: 源码, 编译生成字节码文件, 解释器将字节码解释为机器码执行
       
        跨平台性强, 处理速度慢, 字节码文件通过不同平台的解释器处理得到的效果是相同的 

     

    Java程序的执行原理

     

    1.4 开发Java的准备

      需要准备如下环境: 编辑器(编写源码程序),   JDK(编译程序, 解释并执行java程序)

    编辑器: 学习前期可以使用记事本/EditPlus/Notpad++

    JDK/JRE/JVM

    JRE: Java运行时环境( 包含Java开发工具包, JRE )
    
    JDK: Java开发工具包( 包含JVM )
    
    JVM是一个抽象的计算机, 和实际的计算机一样, 它具有指令集并使用不同的存储区域. 它负责执行指令, 管理数据/内存/寄存器
    JVM的相关细节( 指令集, 寄存器, 类文件的格式, 栈, 垃圾回收堆, 存储区 )


    环境搭建(JDK)

    1.安装JDK
    
        Java分为三个版本,这三个版本都存在对应的JDK, 如果是进行JavaEE开发,就选择JavaEE的JDK
    
        傻瓜式安装, 注意(1)安装路径不能含有空格等特殊字符, (2)不需要安装独立的JRE(安装快结束时会有安装独立JRE的提示)
    2.配置环境变量 JAVA_HOME D:softwarejavajdkjdk1.8.0_162_001 path %JAVA_HOME%in; 3.检查环境变量 C:UsersAdministrator> java -version java version "1.8.0_162"Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    C:UsersAdministrator> javac -version javac 1.8.0_162

    1.5 第一个Java程序

    1. 编写Java源代码( Hello.java )

    public class HelloWorld {
        //定义一个主函数, 作为程序的入口
        public static void main(String[] args) {
            //打印一个字符串 HelloWorld
            System.out.println("HelloWorld");
        }
    }

    2. 编译Java程序

    D:codefjkjavase001day001>javac HelloWorld.java
    
    执行后生成HelloWorld.class

    3. 运行Java程序

    D:codefjkjavase001day001>java HelloWorld
    
    执行后输出: HelloWorld

    4. 根据CLASSPATH环境变量定位类

    暂时未用到过, 忽略

    1.6 Java程序的基本规则

    1. Java程序的组织形式

    Java程序是一种纯粹面向对象的设计语言, 因此Java程序必须以类的形式存在, 类是Java程序的最小单位.

    class HelloWorld {
        //最简单的Java程序
    }

     

    2. Java源文件的命名规则

    后缀名必须是.java
    
    文件名必须与public修饰的类的类名相同
    
    实际开发中, 一个有且只有一个public类, 且该类类名和文件名相同

    1.7 垃圾回收机制

      Java语言不需要程序员直接控制内存的回收, Java程序的内存分配和回收都是由JRE在后台自动进行的.

      JRE会负责回收那些不再使用的内存, 这种机制成为垃圾回收(Garbage Collectio, 也成为GC).

    1.8 本章小结

      本章简单介绍了Java的发展史, Java的运行机制, Java的垃圾回收机制. 

    本章练习

      1. 搭建自己的Java开发环境

      2. 用Java语言编写HelloWorld

  • 相关阅读:
    ReentrantReadWriteLock源码探究
    ReentrantLock源码探究
    CyclicBarrier源码探究 (JDK 1.8)
    ThreadLocal源码探究 (JDK 1.8)
    CountDownLatch源码探究 (JDK 1.8)
    ConcurrentHashMap源码探究 (JDK 1.8)
    备忘录模式
    variable precision SWAR算法
    建造者模式
    Spring MVC 解决乱码
  • 原文地址:https://www.cnblogs.com/jkfeng/p/11840541.html
Copyright © 2020-2023  润新知