首页 > 编程语言 >Java基础知识篇——Java基本介绍

Java基础知识篇——Java基本介绍

时间:2024-03-11 19:11:55浏览次数:23  
标签:... Java 语言 JDK void 介绍 基础知识 多线程

一、什么是 Java

Java 是 Sun Microsystems 于 1995 年首次发布的一种编程语言和计算平台。编程语言还是比较好理解的,什么是计算平台呢?

计算平台是电脑中运行应用程序(软件的环境),包括硬件环境和软件环境。一般系统平台包括一台电脑的硬件体系结构,操作系统、运行时库。

Java 是快速,安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联网,Java 无处不在!Java 分三个版本

  • JavaSE (J2SE) (Java2 Platform Standard Edition java平台标准版)
  • JavaEE (J2EE) (Java2 Platform,Enterprise Edition, java平台企业版)
  • JavaME (J2ME) (Java 2 Platform Micro Edition, java平台微型版)

二、Java 的特点

1、Java 是一门面向对象的编程语言

什么是面向对象?**面向对象 (Object Oriented) **是一种软件开发思想。他是对现实世界的一种抽象,面向对象会把相关数据和方法组织成为一个整体来看待

相对的另外一种开发思想就是面向过程的开发思想,什么面向过程? 面向过程 (Procedure0riented) 是一种以过程为中心的编程思想。举个例子:比如你是个学生,你每天去上学需要做几件事情?
起床、穿衣服、洗脸刷牙,吃饭,去学校。一般是顺序性的完成一系列动作。

class student{
    void student_wakeUp(){...}
    void student_cloth(){...}
    void student_wash(){...}
    void student_eating(){...}
    void student_gotoSchool(){...}
}

而面向对象可以把学生进行抽象,所以这个例子就会变为

class student{
    void wakeUp(){...}
    void cloth(){...}
    void wash(){...}
    void eating(){...}
    void gotoSchool(){...}
}

可以不用严格按照顺序来执行每个动作。这是特点一

  • Java 摒弃了C++中难以理解的多继承、指针、内存管理等概念;不用手动管理对象的生命周期,这是特点二

  • Java 语言具有功能强大和简单易用的两个特征,现在的企业级开发,快速敏捷开发,尤其是各种框架的出现,使Java 成为一门越来越火的一门语言,这是特点三。

  • Java 是一门静态语言,静态语言是指就是在编译期间就能够知道数据类型的语言,在运行前就能够检查类型的正确性,一旦类型确定后就不能再更改,比如下面这个例子

    public void foo(){
        int x = 5;
        boolean b = x;
    }
    

    静态语言主要有 Pascal, Perl,C/C++,JAVA,C#,Scala

相应的,动态语言没有任何特定的情况需要指定变量的类型,再运行时确定的数据类型。比如有 Lisp,Perl, Python、Ruby、JavaScript 等。

从设计的角度来说,所有的语言都是设计用来把人类可读的代码转换为机器指令。动态语言是为了能够人程序员提高编码效率,因此你可以使用更少的代码来实现功能。静态语言设计是用来让硬件执行的更高效,因此需要程序员编写准确无误的代码,以此让你的代码尽快的执行。从这个角度上来说,静态语言的执行效率要比动态语言高,速度更快。这是特点四。

2、Java 具有平台的独立性和可移植性

Java 有一句非常著名的口号: Write once,run anywhere ,也就是一次编写、到处运行。为什么 Java 能够吹出这种牛批的口号来?核心就是 **JVM **。我们知道,计算机应用程序和硬件之间会屏蔽很多细节,它们之间依靠操作系统完成调度和协调,大致的体系结构如下

图片

那么加上 Java 应用、JVM 的体系结构会变为如下

图片

Java 是跨平台的,已编译的 Java 程序可以在任何带有 JVM 的平台运行,你可以在 Windows 平台下编写代码,然后拿到 Linnx 平台下运行,该如何实现呢

首先你需要在应用中编写 Java 代码;

Eclipse 或者 javac 把 Java 代码编译为 .class 文件

然后把你的 .class 文件打包成 .jar 文件

然后你的 .jar 文件就能够在 Windows 、Mac OS X、Linux 系统下运行了。不同的操作系统有不同的 JVM 实现,切换平台时,不需要再次编译你的 Java 代码了。这是特点五

3、Java 能够容易实现多线程

Java 是一门高级语言,高级语言会对用户屏蔽很多底层实现细节。比如 Java 是如何实现多线程的。从操作系统的角度来说,实现多线程的方式主要有下面这几种

在用户空间中实现多线程

在内核空间中实现多线程

在用户和内核空间中混合实现线程

而我认为 Java 应该是在 用户空间 实现的多线程的,内核是感知不到 Java 存在多线程机制的。这是特点六

4、Java 具有高性能

我们编写的代码,经过 javac 编译器编译称为 字节码(bytecode),经过 JVM 内嵌的解释器将字节码转换为机器代码,这是解释执行,这种转换过程效率较低。但是部分 JVM 的实现比如 Hotspot JVM 都提供了 **JIT(Just-In-Time) **编译器,也就是通常所说的动态编译器,JIT 能够在运行时将热点代码编译机器码,这种方式运行效率比较高,这是编译执行。所以 Java 不仅仅只是一种解释执行的语言。这是特点七。

5、Java 语言具有强壮性

Java 的强类型机制、异常处理、垃圾的自动回收集等是 Java 程序强壮性的重要保证,这也是 Java 与 C 语言的重要区别

6、很容易开发分布式项目

Java 语言支持 Internet 应用的开发,Java 中有 net api,它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的 RMI(远程方法激活) 机制也是开发分布式应用的重要手段。这是特点九。

三、Java 开发环境

1、JDK

JDK(Java Developmet Kir)称 Java 开发包或 Java 开发工具,是一个编写 Java 的 Applet小程序和应用程序的程序开发环境。JDK 是整个Java的核心,包括了 Java运行环境(Java Runtime Environment),一些 Java 工具Java 的核心类库(Java API)

图片

我们可以认真研究一下这张图,它几乎包括了 Java 中所有的概念,我使用的是 jdk1.8 ,可以点进去 Description of Java Conceptual Diagram , 可以发现这里面包括了所有关于 Java 的描述

Oracle 提供了两种 Java 平台的实现,一种是我们上面说的 JDK,Java 开发标准工具包,一种叫 JRE,叫做 Java Runtime Environment,Java 运行时环境。JDK 的功能要比 JRE 全很多。

2、JRE

JRE 是个运行环境,JDK 是个开发环境。因此写 Java 程序的时候需要 JDK,而运行 Java 程序的时候就需要 JRE。而 JDE 里面已经包含了 JRE。因此只要安装了了 JDK,就可以编辑 Java 程序,也可以正常运行 Java 程序。但由于 JDK 包含了许多与运行无关的内容,占用的空间较大,因此运行普通的 Java 程序无需安装 JDK,只需要安装 JRE 即可。

标签:...,Java,语言,JDK,void,介绍,基础知识,多线程
From: https://www.cnblogs.com/baiye123/p/18066835

相关文章

  • ElasticSearch架构介绍及原理解析
    前言在当今大数据时代,数据的快速增长使得有效地管理、检索和分析数据成为企业发展的关键。Elasticsearch(以下简称ES)作为一种开源的分布式搜索和分析引擎,在这个领域中扮演着重要的角色。它不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关......
  • Java学习笔记——第十二天
    面向对象高级(三)内部类内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。比如:汽车类中的发动机类,发动......
  • 解决Java中文显示乱码问题的原因与方案
    简介在Java编程中,经常会遇到中文显示乱码的问题,这给开发者带来了不少困扰。本文将深入探讨Java中文显示乱码问题的原因,并提供一些解决方案以帮助开发者解决这一问题。问题中文显示乱码通常表现为输出的中文字符变成了一些无法识别的符号或者乱码字符,这给程序的可读性和用户体......
  • Java的结构、equals字符串判断与反编译
    顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构代码举例publicclas......
  • 熟悉又陌生的JavaWeb 第4天
    传送门JSP和JavaBean认识JavaBean在JSP中使用JavaBean为了好看,jsp里只有xml标签,也就是后来的jspx后缀文件的基础很不易读,不建议这么写<jsp:useBeanid="tagNewObj"class="com.lazyking.Student"/><jsp:setPropertyname="tagNewObj"property="id"param......
  • Java 8 新特性
    Java8Java8允许您通过::关键字传递方法或构造函数的引用。Lambda表达式List<String>names=Arrays.asList("banana","apple","orange","fruit","grape");//老版本Java排列字符串Collections.sort(names,newComparator<String>......
  • 一文学会JDBC实现java和mySQL的数据连接(尚硅谷学习课程代码+笔记+思路总结)
    JDBC是指数据库连接技术,用于java连接mySQL等数据库。本文详细介绍了尚硅谷课程中JDBC的学习内容和补充知识。概述java语言只提供规范接口,存在于java.sql.javax.sql包下,然后数据库软件根据java提供的规范实现具体的驱动代码(jar)jar包是java程序打成的一种压缩包格式,只要导入就......
  • Cobra 的介绍与使用
    介绍cobra是一个用来构建现代CLI工具的库。相比flag标准库,它提供更多方便的特性和功能。Cobra由Go项目成员和hugo作者spf13创建,已经被许多流行的Go项目采用,比如GitHubCLI和DockerCLI。源码地址:[https://github.com/spf13/cobra],截止到2024-2-21Star35.3K特......
  • Java多线程基础用法
    线程创建线程创建的三种方式:Thread(继承Thread类)自定义线程类继承Thread类重写run()方法。编写线程执行体创建线程对象,调用start()方法启动线程packagecom.lily.demo01;publicclassTestThreadextendsThread{@Overridepublicvoidrun(){for......
  • Java登陆第三十四天——使用Vite创建工程化的Vue3项目
    VueVue是基于标准HTML、CSS和JavaScript构建的前端框架,可以更高效地开发前端页面。ViteVite是Vue团队开发的项目管理工具。Maven的主要功能引入依赖项目管理使用Maven可以工程化的管理后端代码。npm的主要功能:引入依赖vite的主要功能:项目管理使用npm+vit......