JAVA简介-程序员宅基地

技术标签: java  

JAVA简介

java是一种高级的面向对象的程序设计语言,使用java编写的的程序可以在任何计算机、操作系统和支持java的硬件设备上运行。

什么是java

java语言的发展历程

Java是于1995年由Sun公司推出的一种极富创造力的面向对象的程序设计语言,可跨越多平台、可移植性高,由有Java之父之称的James Gosling (詹姆斯高斯林)设计。自诞生以来,Java凭借其易学易用、功能强大的特点得到了广泛的应用。其强大的跨平台特性使Java程序可以运行在大部分系统平台上,甚至 移动电话、嵌入式设备及消费类电子产品等都可以运行Java程序,真正做到“一次编写,到处运行”。

Java是一种通过解释方式来执行的语言,其语法规则和C++类似。与C++不同的是,Java语言简洁得多,而且提高了可靠性,除去了最大的程序错误根源,此外它还有较高的安全性;由于Java可以跨平台,所以Java常被应用于企业网络和Internet环境。

1991年,美国SUN微系统公司为了开发一种能够在消费类电子产品上进行交互式操作的分布式系统框架成立了一个名为Green Team的小组,小组的领导者是James Gosling(Java之父),项目开始之初,小组准备采用C++进行开发,但是鉴于C++的一些弊端,于是开发出一种全新的编程语言,这个语言就是Java的前身OAK(橡树)。

随着项目投标失败,项目组解散,OAK也随之停滞。

1993年,随着Internet互联网的发展以及世界第一个网页浏览器Mosaic的诞生,James Gosling认为OAK的特性与Internet不谋而合,便使用OAK编写了运行与Interne平台上的高交互性网页程序,这便是Java applet的前身。

1995年,OAK正式改名Java,并与5月对外发布jdk1.0,由此,Java语言正式诞生;1997年,发布jdk1.1,实现三周内22万人次下载。

1999年,SUN公司根据应用范围不同发布了Java平台的三个版本:J2SE、J2ME、J2EE。

2005年,SUN发布JDK6.0,同时将J2SE更名为JavaSE、J2ME更名为JavaME、JavaSE更名为JavaEE。

2009年,甲骨文收购SUN公司,同时获得了Java的版权,并与2011年7月发布了Java7正式版。

java语言的特性

简单性

完全的面向对象(类、接口、继承等)

分布式(支持分布式应用开发)

安全性(java提供有安全管理机制以防恶意代码的攻击,类加载器的安全校验以及java虚拟机的沙箱运行模式)

可移植性(java程序在java平台被编译,然后可以在实现这个java平台的任何系统中运行)

健壮性(java的异常处理、垃圾回收、强类型转换等)

多线程(java支持多个线程同时执行,并提供多个线程之间的同步机制)

java三大平台

java SE:java标准版本,主要包含JDK、JRE、JVM和java核心类库,也是java基础学习的内容,能用于开发桌面系统。

java EE:java企业级版本,以SE为基础,提供了一整套服务、API接口和协议,能够开发企业级分布式系统、web应用等。

java ME:java微型版本,随着智能手机(IOS、Android)的普及,目前应用不多,可用于开发汽车导航系统等。

java运行机制

1、需要我们编写带有后缀名为java的文件;

2、使用命令将我们编写的java文件进行编译,编译成.class文件,即字节码文件;

3、使用命令将.class文件交给虚拟机,让虚拟机去执行;

4、虚拟机会做出相应的合法安全检查判断;

5、通过检查后,然后就有虚拟机解释执行为不同平台计算机对应的机器码去执行;

6、如果不能通过合法性的检测,虚拟机就会执行相应的异常程序;

意义在于实现了跨平台,强调是我们的java程序跨平台,而不是虚拟机跨平台

终点在于了解java虚拟机的概念以及JDK、JRE、JVM的关系

java开发环境搭建:

JDK(Java Development Kit) 可以认为就是java的开发环境

JRE(Java Runtime Environment) java的运行环境

JVM(Java Virtual Machine)java虚拟机,运行java的工具

三者之间的关系是JVM包含在JRE中,JRE包含在JDK中,所以我们安装的时候仅仅需要安装JDK就行

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52021660/article/details/124304931

智能推荐

《第一行代码》(第二版)广播的问题及其解决_代码里的广播错误-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏13次。1)5.2.1弹出两次已连接或者未连接这是因为你同时打开了流量和WiFi,他就会发出两次广播。2)5.3.1中发送自定义广播问题标准广播未能弹出消息:Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");sendBroadcast(intent);上述已经失效了。修改:Intent intent=new Intent("com.example.broadcasttest...._代码里的广播错误

K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)-程序员宅基地

文章浏览阅读249次。作者 |平名 阿里服务端开发技术专家导读:Kubernetes 作为云原生时代的“操作系统”,熟悉和使用它是每名用户的必备技能。本篇文章概述了容器服务 Kubernet..._k8知识库

TencentOS3.1安装PHP+Nginx+redis测试系统_tencentos-3.1-程序员宅基地

文章浏览阅读923次。分别是etc/pear.conf,etc/php-fpm.conf, etc/php-fpm.d/www.conf,lib/php.ini。php8安装基本一致,因为一个服务期内有2个版本,所以注意修改不同的安装目录和端口号。可以直接使用sbin下的nginx命令启动服务。完成编译安装需要gcc支持,如果没有,使用如下命令安装。安装过程基本一致,下面是安装7.1.33的步骤。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。_tencentos-3.1

urllib.request.urlopen()基本使用_urllib.request.urlopen(url)-程序员宅基地

文章浏览阅读3.1w次,点赞21次,收藏75次。import urllib.requesturl = 'https://www.python.org'# 方式一response = urllib.request.urlopen(url)print(type(response)) # <class 'http.client.HTTPResponse'># 方式二request = urllib.request.Req..._urllib.request.urlopen(url)

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?-程序员宅基地

文章浏览阅读1.5k次,点赞12次,收藏15次。如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

RS485总线常识_rs485 差分走綫間距-程序员宅基地

文章浏览阅读1.2k次。RS485总线常识 2010-10-12 15:56:36| 分类: 知识储备 | 标签:rs485 总线 传输 差分 |字号大中小 订阅RS485总线RS485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A,B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所_rs485 差分走綫間距

随便推点

移植、制作uboot、Linux(一)_uboot制作-程序员宅基地

文章浏览阅读621次。u-boot、linux烧录_uboot制作

windows下安装git和gitbash安装教程_64-bit git for windows setup.-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏44次。windos上git安装,git bash安装_64-bit git for windows setup.

环形链表(算法java)_java 实现环形链表-程序员宅基地

文章浏览阅读196次。环形链表(算法java)的两种解决方法_java 实现环形链表

docker部署Airflow(修改URL-path、更换postgres -->myslq数据库、LDAP登录)_airflow docker-程序员宅基地

文章浏览阅读5.7k次。Airflow什么是 Airflow?Airflow 的架构Airflow 解决哪些问题一、docker-compose 安装airflow(postgres)1、创建启动文件airflow-docker-compose.yml.1.1、添加挂载卷,需要修改airflow-docker-compose.yml的位置2、创建本地配置文件airflow.cfg2.1、如果想修改WEB URL地址,需要修改airflow.cfg中以下两个地方3、之后up -d直接启动即可web访问地址:二、存储数据库更换post_airflow docker

计算机毕业设计springboot高校教务管理系统532k79【附源码+数据库+部署+LW】-程序员宅基地

文章浏览阅读28次。选题背景:随着社会的发展和教育的普及,高校教务管理系统在现代高等教育中扮演着至关重要的角色。传统的手工管理方式已经无法满足高校日益增长的规模和复杂的管理需求。因此,开发一套高效、智能的教务管理系统成为了当今高校管理的迫切需求。选题意义:高校教务管理系统的开发具有重要的意义和价值。首先,它可以提高高校教务管理的效率和准确性。通过自动化处理学生选课、排课、考试安排等繁琐的事务,大大减轻了教务人员的工作负担,提高了工作效率。同时,系统可以实时更新学生信息和课程信息,减少了数据错误和冗余,保证了管理的准确性

javaint接收float_Java Integer转换double,float,int,long,string-程序员宅基地

文章浏览阅读132次。首页>基础教程>常用类>常用 Integer类Java Integer转换double,float,int,long,stringjava中Integer类可以很方便的转换成double,float,int,long,string等类型,都有固定的方法进行转换。方法double doubleValue() //以 double 类型返回该 Integer 的值。flo..._java integet接收float类型的参数

推荐文章

热门文章

相关标签