zoukankan      html  css  js  c++  java
  • Java学习笔记-2 Java入门

    根据B站课程《狂神说Java》整理笔记

    Java帝国的诞生

    C & C

    • 1972年C诞生

      • 贴近硬件,运行极快,效率较高

      • 操作系统,编译器,数据库,网络系统等

      • 指针和内存管理 --两把沉重的枷锁

     

    • 1982年C++诞生 --非常复杂,不好学,涉及到很多计算机底层的东西

      • 面向对象

      • 兼容C

      • 图形领域、游戏等

     

     

    反抗

    要建立一个新的语言

    • 语法有点像C

    • 没有指针

    • 没有内存管理

    • 真正的可移植性,编写一次,到处运行

    • 面向对象

    • 类型安全

    • 高质量的类库

    • ......

    一开始命名为C++--,理念是在C++的基础上进行了优化,后来根据门口的橡树命名为oak,但是oak被别人使用了,后来改为Java;

    为了实现真正的跨平台,在每个操作系统之上,又增加了一个抽象层,叫Java虚拟机,统称JVM,只要装了这个环境,Java代码在任何操作系统上都能跑。

     

     

    Java初生

    • 1995年,开发图形界面程序Applet,让网页变得生动,Java火了

    • C语言程序员迅速加入Java领域

     

    • Java 2 标准版(J2SE):去占领桌面

    • Java 2 移动版(J2ME):去占领手机

    • Java 2 企业版(J2EE):去占领服务器 -->weblogic

     

    • 大量巨头的加入

     

    三高问题:高可用、高性能、高并发

     

     

    Java发展

    • 它们基于Java开发了巨多的平台,系统,工具

      • 构建工具:Ant、Maven、Jekins

      • 应用服务器:Tomcat、Jetty、Jboss、Websphere(IBM开发)、weblogic

      • Web开发:Structs、Spring、Hibernate、myBatis

      • 开发工具:Eclipse(IBM开发)、Netbean、intellij idea、Jbuilder

      • ......

    看着服务器端市场被Java王国占领,微软推出.NET来对抗,微软的系统是封闭的,所有的软件都是自家的,开发工具Visual Studio,应用服务器IIS,数据库SQL Serve,只要用了.NET,几乎就绑定了微软,而且微软的系统只能运行在Windows服务器上,Windows服务器在高端市场占有率太低了。

    Ruby诞生,对标Java,但并没有对Java产生威胁,用Ruby搭建大型商业系统非常少见。

    除了Ruby,还有PHP、Python等,这些都适合快速开发不太复杂的Web系统,但是大型的Web系统,都是非常复杂的,只有Java能做到。

    • 2006:Hadoop(大数据领域)

      Java入侵大数据领域,熟悉分布式文件管理系统(MapReduce),很快就能编写处理海量数据的程序。

    • 2008:Android(手机端)

      运行在Android之上的,正是Java

     

    一个伟大的帝国诞生了

     

     

    Java特性和优势

    • 简单性 --C++语法纯净版,没有头文件,没有指针运算,也不用分配内存

    • 面向对象 --是一种程序设计技术,将重点放在对象以及对象之间的接口上,模拟的是人的思维去写程序,学习非常的快

    • 可移植性 --跨平台性,Write Once, Run Anywhere!

    • 高性能

    • 分布式

    • 动态性 --反射机制,让Java具有动态性

    • 多线程

    • 安全性

    • 健壮性 --程序不会崩溃,异常机制

     

     

    Java三大版本

    • Write Once, Run Anywhere --JVM,Java虚拟机,可以跑在所有的平台上,所以Java可以实现跨平台

     

    • JavaSE:标准版(桌面程序,控制台开发...) --整个Java的基础和核心

    • JavaME:嵌入式开发(手机,小家电...) --相当于Java的微缩版本,但目前基本没人用了

    • JavaEE:企业级开发(web端,服务器开发...) --提供了很多企业级开发完整的解决方案

     

     

     

    JDK JRE JVM

    • JDK:Java Development Kit(Java开发者工具),包含JDK和JVM,除此之外,还包含很多自己的工具用于程序开发,比如javac、java用来编译、运行Java程序的,javados可以生成一篇文档,jar可以把java程序打包成一个应用。

    • JRE:Java Runtime Environment(Java运行时环境),包含了JVM,Applet等;JDK就是在JRE基础上扩充了一些开发工具;只要安装JRE,就可以运行java程序了,但是如果要开发,就要安装JDK。

    • JVM:Java虚拟机,相当于在所有的操作系统上模拟了一个小巧的CPU,去处理Java相关的东西,Java以此实现跨平台。

       

    image.png

     

     

     

    搭建开发环境

    • 现在更新到JDK16了,但是高版本在企业中用的并不是很多,每次更新只是增加了一些新特性

    • 企业中用得最多的是JDK7和JDK8,主流是JDK8

     

    卸载JDK的方法

    1. 删除Java安装目录(路径可在环境变量JAVA_HOME下查找)

    2. 删除JAVA_HOME

    3. 删除Path下和Java相关的变量

    4. java -version查看一下

     

    安装JDK

    1. 百度搜索JDK8,找到下载地址

    2. 同意协议

    3. 下载电脑对应版本

    4. 双击安装JDK

    5. 记住安装的路径

    6. 配置环境变量

      1. 我的电脑-->右键-->属性

      2. 环境变量-->在系统变量新建JAVA_HOME,路径填刚才的安装目录 --一定要保证变量名是JAVA_HOME,因为以后很多环境要求是这个名字

      3. 配置path变量:%JAVA_HOME%in,%JAVA_HOME%jrein

    7. 测试JDK是否安装成功

      1. 打开CMD

      2. java -version

     

     

    Helloworld详解

    1. 随便建一个文件夹,存放代码

    2. 新建一个java文件

      • 文件后缀名为.java

      • Hello.java

      • 【注意点】系统可能没有显示文件后缀,需要手动打开

    3. 编写代码

    public class Hello{
    public static void main(String[] args){
    System.out.print("Hello,World!");
    }
    }
    1. 编译:javac java文件,会生成一个class文件

    2. 运行class文件:java class文件(不加后缀)

     

     

    可能遇到的情况

    1. 每个单词的大小写不能出问题,Java是大小写敏感的

    2. 尽量使用英文

    3. 文件名和类名必须保证一致,且首字母习惯大写

    4. 使用了中文符号

     

     

    Java程序运行机制

    • 编译型

    • 解释型

    编译和解释都有“翻译”的意思,它们的区别在于时机不同

    编译型:把整个代码转换成计算机可以执行的代码 complile,负责编译的程序就叫'编译器';编译后的代码执行起来比较快。

    解释型:执行哪里就翻译哪里,如果回头再执行,就再翻译,对性能有一定损失。

    • 程序运行机制

    image.png

    Java语言既有编译型语言的特征,又有解释型语言的特征

    1. java源文件通过Java编译器变成class文件,class文件再去被解释执行,可以理解为Java文件在执行前经过了一次“预编译”,生成的代码是介于机器码和Java源代码之间的一种程序,叫做字节码文件

    2. 字节码文件运行时,会到JVM虚拟机

    3. 字节码校验器就是检查代码写得对不对

    4. 解释器就是逐条翻译运行

     

     

     

    IDEA介绍

    • IDE:集成开发环境

      1. 能编写代码

      2. 及时查错,方便调试

      3. 还有很多其他功能

    • IEDA:一般指IntelliJ IDEA,IDE的一种

      psvm /main、sout

    • Eclipse也是一种IDE

  • 相关阅读:
    python初步学习-查看文档及数据类型转换
    python初步学习-python数据类型-集合(set)
    python初步学习-python数据类型-字典(dict)
    python初步学习-python数据类型-列表(list)
    python初步学习-python数据类型之strings(字符串)
    python初步学习-python数据类型之number(数值)
    python初步学习-python运算符
    python初步学习-pycharm使用 (二)
    python初步学习-pycharm使用
    yarn npm 镜像切换
  • 原文地址:https://www.cnblogs.com/yd-yfb/p/15094298.html
Copyright © 2011-2022 走看看