当前位置: 首页 > news >正文

漫步Java------初识java

一、 Java语言概述

  • 语言:是人与人之间用于沟通的一种方式。
    • 例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
  • 计算机语言(编程语言):
    • 人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java,PHP等。

二、Java程序运行机制

1、核心机制—Java虚拟机(Java Virtual Machine)

  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。
  • 负责执行指令,管理数据、内存、寄存器。
  • JVM 用于运行 Java 应用程序
  • 对于不同的平台,有不同的虚拟机。
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

 

2、核心机制—垃圾回收(Garbage Collection)

  • 垃圾回收:将不再使用的内存空间进行回收。
  • 在 C/C++ 等语言中,由程序员负责回收无用内存。
  • Java 不需要程序员负责回收无用的内存:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
  • 垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。

三、JDK和JRE(JDK包含JRE)

1、JDK(完成 java 程序的开发)

  • 常用工具
    • javac 是用来编译源代码的命令。
    • java 是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。
    • appletviewer 命令允许在万维网浏览器的环境之外运行 Applet。
  • 安装
    • bin:一些执行文件,Java的编译器、解释器和工具。
    • demo:各种演示的实例。
    • lib:保存库文件。
    • include:Win32子目录,都是本地方法文件。
    • jre:Java程序运行环境的根目录。

2、JRE(运行开发好的 Java 应用程序)

  • 包含:
    • Java虚拟机(JVM:Java Virtual Machine)
    • Java 程序所需的核心类库等,

附:如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

四、Java语言的特点

1、特点

  • 面向对象(主要特点)             
  • 简单性                   
  • 分布式与安全性                     
  • 解释和编译特性           
  • 多线程                           
  • 动态执行                
  • 自动废区回收性                     
  • 丰富的API文档和类库   
  • 健壮性                             
  • 跨平台性

2、两个基本概念:

  • 对象

3、三大特性:

  • 封装
  • 继承
  • 多态

五、Java 的API文档

  API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。

  Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。

六、Java开发环境的配置

1、系统环境变量的设置

  • 定义:

    环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些程序使用此信息确定在何处放置和搜索文件。

  • JDK相关的环境变量
    • path:告诉操作系统到哪里去查找所需要的执行的文件
    • classpath:告诉JDK 工具到哪里去查找类文件(.class 文件)。 

2、环境变量Path的设置

  • 我的电脑→属性→高级系统设置→系统属性→环境变量→选中系统环境变量path→编辑按钮→对环境变量path进行修改→添加“;c:\java\jdk7\bin”→确定

3、环境变量classpath的设置

  如果环境变量中不存在该变量,则新建它,如果存在则编辑它. 在classpath对应的变量值中添加Java类文件(.class 文件)所在的路径,假定要用到的类文件存放在D:\JavaTest目录下,把D:\JavaTest添加到变量值对应的编辑框中,然后单击“确定”按钮,即可完成对classpath环境变量的设置。

七、一个简单Java应用程序---Hello Word

【例】编程输出字符串:Hello world!

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello world!");
    }
}

说明:

  • 存储文件时源文件的扩展名必须为Java,且源文件名必须与程序中声明为public class的类的名字完全一致(包括大小写一致)。
  • 程序中public class HelloWorld声明要建立一个名为HelloWorld的类,关键字class说明一个类声明的开始。类声明由类头和类体组成,类体部分的内容由一对大括号括起来,在类中不能嵌套声明其它类。类体内容包括属性和方法,具体内容将在在第3章中介绍。
  • Java应用程序可以由若干类组成,每个类可以定义若干个方法。但其中必须有一个类中包含有一个且只能有一个public static void main(String args[])方法,main是所有Java应用程序执行的入口点,当运行Java应用程序时,整个程序从main方法开始执行。
  • System.out是Java提供的标准输出对象,println是该对象的一个方法,用于向屏幕输出。

八、注意点

  • Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本类中的HelloWorld类。
  • 一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包3)含一个public类,则文件名必须按该类名命名。
  • Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String[] args)  {...}
  • Java语言严格区分大小写。
  • Java方法由一条条语句构成,每个语句以“;”结束。
  • 大括号都是成对出现的,缺一不可。

九、面试题

  • Java为什么可以跨平台:
    • 在不同的操作系统下都有不同的虚拟机,Java将源程序转化为与平台无关的class的字节码文件。

转载于:https://www.cnblogs.com/hahayixiao/p/9829887.html

相关文章:

  • Web负载均衡
  • 关于VSCode自动缩进/格式化复制粘贴的代码
  • 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)
  • Vulnhub Breach1.0
  • Python配置处理ini文件-configparser
  • Children's Game UVA - 10905
  • 搭建ssh框架项目(三)
  • 汇编实验二
  • vant ui 在vue中的安装和使用
  • mongo源码学习(四)服务入口点ServiceEntryPoint
  • Python h5py
  • System.Threading.Thread的使用及传递参数等总结
  • Hanoi Factorys
  • 1嵌入式作业io
  • 【Java】模拟Sping,实现其IOC和AOP核心(二)
  • Apache的80端口被占用以及访问时报错403
  • input的行数自动增减
  • java8-模拟hadoop
  • SpringCloud集成分布式事务LCN (一)
  • 计算机常识 - 收藏集 - 掘金
  • 今年的LC3大会没了?
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 思否第一天
  • puppet连载22:define用法
  • 带你开发类似Pokemon Go的AR游戏
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #FPGA(基础知识)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Note)C++中的继承方式
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (十一)手动添加用户和文件的特殊权限
  • (算法)Travel Information Center
  • .cn根服务器被攻击之后
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 中创建支持集合初始化器的类型
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .NET正则基础之——正则委托
  • @Autowired和@Resource装配
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C#][DevPress]事件委托的使用
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [LeetCode]—Permutations II 求全排列(有重复值)
  • [na]wac无线控制器集中转发部署的几种情况
  • [OpenGL(Win32)] - 3D 轮廓字体
  • [RoarCTF 2019]PHPShe
  • [Swift] Enum 好用, Enum 可以更易用
  • [WinForm]DataGridView通过代码新增行问题