【Java基础】Java总览

news2024/11/15 21:43:17

一、what-什么是Java?

      Java是一种面向对象的编程语言,其他面向对象的编程语言还有C#,C++,Python,Python,golang,VB等。

1、和其他语音对比

对比项\语言CC++Java
上线时间1972年1979年1995年
特点面向过程面向对象面向对象
特点

不需要任何运行环境;

编译简单,产生少量机器码;

移植性;

丰富的数据结构;

丰富的运算符;

完全兼容C语言;

数据封装和隐藏;

继承;

多态;

适合大型软件的设计和开发;

一次编译,到处执行;

封装;

继承;

多态;

简单;

自动垃圾回收;

缺点

(三种语言对比)

不适合大型项目;

封装性差,复用性差,不安全;

语法限制不严格;

对数组下标越界不作检查;

指针,可操作硬盘,不安全;

手动释放内存;

支持多继承;

学习成本相较Java较高;

手动释放内存;

运行速度相对较慢(多一层jvm)但随着对jvm的优化,性能已经提升;

不能直接操作底层;

没有指针,不够灵活;

* 缺点这一栏,主要想突出该语言的特点在一些情况下可能产生的问题。个人认为缺点和优点都是相较的,最适合研发场景需要的就是最好的。

2、Java语言的特点

        Java是用C++实现的,保留了C++的优点,如面向对象;丢弃了指针等容易使程序崩溃的内容,提升了语言的健壮性;去掉了头文件,指针,结构,联合等,学习起来更简单;通过jvm实现平台无关性;支持数据分布和操作分布,提供一整套网络类库,开发人员可以利用类库进行网络程序设计,方便地实现Java语言的分布式特性;对数组和字符串访问越界检查,并提供异常处理,可靠性高;天然支持多线程;支持网络编程;Java的编译器将源码(.java)编译成字节码(.class),字节码(.class)由解释器翻译成二进制码,使程序执行。同时Java支持即时编译JIT(把热点代码编译成本地相关的机器码保存下来,下次可减少编译时间,直接执行)。 

 3、JDK,JRE

JDK:Java development kit -Java开发工具,包含Java语言、Java虚拟机、Java类库,是支持Java程序开发的最小环境。

JRE:Java runtime environment -Java运行环境,包含JavaSE中核心类库API和Java虚拟机,简单理解为JVM+核心类库API。

JVM(Java Virtual Machine)Java虚拟机,运行于各种操作系统Linux,Windows,Solaris等之上,执行编译好的Java字节码class文件

JDK= JRE+一些工具类

4、Java基础 (后面的文章会一一讲到)

语法基础;

面向对象;

Exception;

Array;

基础类;

I/O Stream;

Collection /Generic;

Thread;

TCP、UDP;

GUI;

Meta data;

Regular Expression;

5、Java的发展体系

       JDK初步:作为其他方向的基础;

       JavaWeb编程:针对Web程序;

       J2EE:企业级应用

二、where-用在什么地方?

 

三、when-什么时候用?

        任何时候,都可以考虑使用Java作为开发语言。

四、who-什么人使用?

        有一定计算机基础,理解能力。

五、why-为什么用Java?

        1、面向对象;

        2、具备平台无关性,提供程序运行的解释环境,一次编译,导出执行-JVM;

        3、健壮性,吸收了C/C++的特点,去掉了影响健壮性的部分(如指针,内存申请和释放)-垃圾收集;

        4、内置安全;

        Java的核心机制:JVM,垃圾收集机制。

        JVM屏蔽了底层运行平台的差异,使开发专注在应用开发。JVM将源代码编译成.class文件,由JVM将字节码编译成对应的操作系统能执行的文件,该操作系统只需要安装对应的JVM即可,实现一次编译,到处执行。对比C/C++,只能一次将代码编译成对应的操作系统能执行的文件,操作系统不一样时,需要重新编译。JVM就相当于Java程序的操作系统,JVM的可执行文件是.class文件。需要注意的是,JVM为Java程序屏蔽了操作系统的差异,但不同的操作系统需要运行不同的JVM。

六、how-如何使用?

        具体安装流程,网上的优秀文章多,本文将不再赘述。可以阅读:

Java基础:Java开发环境下载以及安装【详细】_jdk1.8.0_251_1024de小shen的博客-CSDN博客 等博客。

        值得注意的是,在配置时,关于path和classpath。

        path:系统路径,Windows系统执行命令查找路径;

        classpath: 类路径,Java文件编译和执行查找class文件命令的查找路径;

         

        以上就是我对Java总体上的了解,感谢大家的阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/452627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[pgrx开发postgresql数据库扩展]3.hello world全流程解析

数据库的扩展开发框架 一般来说,数据库的扩展开发主要有的目的就是扩展数据库引擎的能力(不管是用pgrx还是其他的框架都一样): 例如PostgreSQL上最著名的扩展PostGIS,就是扩展了PG数据库的空间数据支持能力&#xff…

Linearx配置环境

代码地址 gitssh.dev.azure.com:v3/linearx/PowerDDS/PowerDDS LinearX-5G Wifi pwd: 50186058 Windows报错可以搜索错误代码找官方给出的解决方案 最新版本cmake:ubuntu 20.04安装(升级)cmake - 知乎 (zhihu.com) gtest:gtest的安装_liuzubing的博客…

图论 Kruskal 最小生成树算法

前置知识 关于最小生成树 先说「树」和「图」的根本区别:树不会包含环,图可以包含环 树就是「无环连通图」 生成树是含有图中所有顶点的「无环连通子图」 你要保证这些边: 1、包含图中的所有节点。 2、形成的结构是树结构(即不…

NFS共享存储服务

目录 一、NFS简介二. NFS工作原理实验:准备一台服务器,一台客户端。实现共享目录服务器上发布共享目录配置操作客户端配置操作 总结 一、NFS简介 NFS(Network File System 网络文件服务) NFS 是一种基于 TCP/IP 传输的网络文件系…

五一国际劳动节知多少!祝五一劳动节快乐! Happy International Workers‘Day!

五一国际劳动节简称五一节,在每年的5月1日,它是全世界劳动人民的共同节日。5.1 International labor Days call 5.1 sections, May 1 in every year. It is the whole world labor common festival of the people. 劳动是人类的幸福之源。 Work is the t…

JQuery-原理示意图-- 选择器-- 选择器综合代码--jQuery 的 DOM 操作--增删改查节点--常用遍历节点方法--多选框应用--全部综合代码

目录 JQuery 基本介绍 jQuery 的原理示意图 JQuery 基本开发步骤 说明: jQuery简单示例 jQuery 对象和 DOM 对象 什么是 jQuery 对象 DOM 对象转成 jQuery 对象 应用实例 jQuery 对象转成 DOM 对象 代码演示 jQuery 选择器 jQuery 选择器介绍 jQuery 选择器的优…

Adaptive AUTOSAR 文档官方如何阅读

目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如直接看官方文档更全面深入。 Adaptive AUTOSAR 文档官方下载地址 Adaptive Platform AUTOSARhttps://www.autosar.org/standards/adaptive-platform About The AUTOSAR Adaptive Platform impl…

JavaScript 教程---菜鸟教程

文章目录 JavaScript 教程JavaScript 输出JavaScript 对象JavaScript 函数JavaScript 事件 JS 函数JS 类JS HTML DOMJS 高级教程JS 浏览器 BOMJS 库 JavaScript 教程 JavaScript 输出 JavaScript 可以通过不同的方式来输出数据 使用window.alert()弹出警告框。 <script&…

物联网产品的开发的难点,致命点是什么?

物联网产品的开发的难点&#xff0c;致命点是什么&#xff1f; 当下是万物互联的时代&#xff0c; 物联网产品本身的难度因行业而异。但是物联网设备上云通信交互就成了各个行业需要首先解决的问题。 物联网通信问题从产品设计一开始&#xff0c;如果不能很好的解决&#xff0c…

C++引用详解

1.引用概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a; 这是简单的引用 注意&#xff1a;引用类型必须和引用实体是同一种类型。 2.…

数据仓库技术与Hive入门

文章目录 数据仓库基本概念场景案例主要特征主流开发语言-SQL数仓开发语言概述SQL语言介绍结构化数据SQL语法分类 Apache Hive入门Apache Hive 安装部署元数据 Hive SQL语言 数据仓库 基本概念 数据仓库(Data Warehouse,简称数仓、DW)&#xff0c;是一个用于存储&#xff0c;分…

FMC128:具有出色的同步性能-8通道同步采集

板卡概述 FMC128 是一款 8 通道 250MHz 采样率 16 位 AD 采集 FMC子卡&#xff0c;符合 VITA57 规范&#xff0c;可以作为一个理想的 IO 模块耦合至 FPGA 前端&#xff0c;8 通道 AD 通过高带宽的 FMC 连接器&#xff08;HPC&#xff09;连接至 FPGA 从 而大大降低了系统信号…

八、vue_options之computed、watch属性选项

一、computed计算属性使用 &#xff08;1&#xff09;复杂data的处理方式 &#xff08;2&#xff09;computed 计算属性 computed计算属性初体验&#xff1a; 在我们通过Vue调用createApp方法传入一个对象的时候&#xff0c;我们之前写了data属性、methods属性&#xff0c;这…

关于一个C++项目的总结与反思:bosot搜索引擎

文章目录 写在前面关于这个项目的收获简单的项目介绍整体逻辑与第三方库每一步的具体细节util.hppparser.ccindex.hppsearcher.hpphttp_server.hpp其他模块 项目地址&#xff1a;boost_searcher: 项目&#xff1a;boost站内搜索 (gitee.com) 写在前面 这个项目是用C写的&…

聚焦能源 | 赛宁网安亮相2023年中国能源网络安全大会

​​4月21日&#xff0c;2023年中国能源网络安全大会&#xff08;以下简称“大会”&#xff09;在江苏南京成功落幕&#xff01;为贯彻国家网络强国战略&#xff0c;加强能源网络安全技术创新、成果应用、人才培养与技术交流&#xff0c;大会推出主旨论坛、案例交流、展览展示等…

python:根据灰度值检查成像是否存在黑图情况

一、需求描述 1、摄像机在拍照的时候&#xff0c;会打开闪光灯进行拍照&#xff0c;假如闪光灯在拍照之后打开&#xff0c;就会产生黑图 2、因此&#xff0c;我们需要摄像机采集很多图片&#xff0c;检查是否每次拍照都是正常的 3、我们可以通过人眼进行查看&#xff0c;但是…

SpringCloud入门实战(七)-Hystrix服务熔断入门案例

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术&#xff0c;都可以先去官网先看看&…

Mysql 学习(七)独立表结构存储 一

独立表空间结构 InnoDB有很多类型表空间&#xff0c;这边主要是介绍独立表空间结构&#xff0c;因为这种会用的比较多讲之前我们先思考一个问题&#xff0c;如果我们以页为单位来分配存储空间的话&#xff0c;那两个页之间的物理距离可能很远&#xff0c;因为这是随机的&#…

2023有哪些适合学生用蓝牙耳机?300左右最好的蓝牙耳机推荐

2023年了&#xff0c;蓝牙耳机常常伴随手机出现在人们的日常生活当中&#xff0c;不管是听歌、运动、甚至玩游戏&#xff0c;大多数人都会选择戴蓝牙耳机。那么&#xff0c;有哪些适合学生用的蓝牙耳机&#xff1f;针对这个问题&#xff0c;我来给大家推荐几款300左右最好的蓝牙…

故障分析 | 从 Insert 并发死锁分析 Insert 加锁源码逻辑

作者&#xff1a;李锡超 一个爱笑的江苏苏宁银行 数据库工程师&#xff0c;主要负责数据库日常运维、自动化建设、DMP平台运维。擅长MySQL、Python、Oracle&#xff0c;爱好骑行、研究技术。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得…