首页 > 编程语言 >Java语言初识

Java语言初识

时间:2023-07-11 17:46:09浏览次数:64  
标签:JRE JAVA 语言 代码 程序 初识 Java 运行

Java语言入门

Java的特性和优势

简单性 :就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。由于语法基 于c,因此学习起来完全不费力。

面向对象 :面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。模拟人的思维写程 序,万物皆对象!

可移植性(跨平台性) :这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操 作系统和硬件环境。 “一次编写,随处运行”:“write once, run anywhere” JAVA在设计时就很注重移植和跨平台性。比如:JAVA的Int永远都是32位。不像c++可能是16,32,可 能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

高性能 :JIT(JUST IN TIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时 候重新调用。这样的话,使JAVA程序的执行效率大大提高,某些代码甚至接近c++的效率。随着这种技 术的一天天完善,也许有一天会超越编译代码的效率。

分布式:JAVA是为internet的分布式环境设计的,因为他能够处理tcp/ip协议。事实上,通过url访问一个网络资 源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,remote method Invocation),使程序 能够通过网络调用方法。

动态性 :就是在需要时将某些代码添加到正在运行的程序中。反射机制。当需要把某些代码添加到正在运行的程 序中时,动态性是一个非常重要的特性。Java的动态特性是其面向对象设计方法的扩展。它允许程序动 态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的

多线程: 多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言 的主要原因之一。

安全性: Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以构建防 病毒,防篡改的系统。

健壮性 Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内 存的申请与释放等)。Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它 是合法的,而且不致引起任何问题。不过,即使Java程序也可能有错误。如果出现某种出乎意料之事, 程序也不会崩溃,而是把该例外抛弃。再通过异常处理机制,程序就会发现这类例外,并加以处理。

​ 学习这门语言,最初的目的,是因为使用的人多,我们需要去掌握学习,但是当我们慢慢的越来越深入的时候,也许你就会爱上他,发现他的无穷魅力并为之沉醉!

Java三大版本

JAVA最大的特点:

​ Java的主要优势在于其做出的WORA:即一次编写(Write Once)、随处运行(Run Anywhere)。简 单来讲,这意味着开发团队能够利用Java编写一款应用程序,并将其编译为可执行形式,而后将其运行 在任何支持Java的平台之上。这显然能够极大提高编程工作的实际效率,这种优势来源于Java Virtual Machine(JAVA虚拟机的缩写),JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在 实际的计算机上仿真模拟各种计算机功能来实现的。JAVA语言的一个非常重要的特点就是与平台的无关 性,而使用Java虚拟机是实现这一特点的关键。

JAVA的三大版本:

JAVA SE:它是JAVA的标准版,是整个JAVA的基础和核心,这是我们主要学习的一个部分,也是 JAVAEE和JAVAME技术的基础,主要用于开发桌面应用程序。学会后可以做一些简单的桌面应用 如:扫雷,连连看等。

JAVA ME:它是JAVA的微缩版,主要应用于嵌入式开发,比如手机程序的开发。目前来说就业范围 不是很广,在一些城市可能相对的不好找工作。

JAVA EE:也叫JAVA的企业版,它提供了企业级应用开发的完整解决方案,比如开发网站,还有企业的一些应用系统,是JAVA技术应用最广泛的领域。主要还是偏向于WEB的开发,而JAVA EE的基 础就是JAVA SE,所以我们在学习JAVA SE的时候,基础一定要打好,因为这是最基本的,也是最核心的。

Java SE:

JDK 和 JRE

JDK Java 2 SDK (Development Kit)包含:JRE的超集,包含编译器和调试器等用于程序开发的文件

JRE Java Runtime Environment (JRE) 包含:Java虚拟机、库函数、运行Java应用程序和Applet所必须文件

Java运行环境的三项主要功能:

  • 加载代码:由class loader 完成;

  • 校验代码:由bytecode verifier 完成;

  • 执行代码:由 runtime interpreter完成。

区别和联系:

sdk(也就是jdk)是JRE的超集,是在jre的基础上增加了编译器及其他一些开发工具。

JRE:就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行 java程序.

如果只是要运行JAVA程序,之需要JRE就可以。 JRE通常非常小,也包含了JVM.

如果要开发JAVA程序,就需要安装JDK。

标签:JRE,JAVA,语言,代码,程序,初识,Java,运行
From: https://www.cnblogs.com/Eric-zheng/p/17545466.html

相关文章

  • 七月十一号Java学习
       ......
  • Go语言中的性能测试
    单元测试测试单元的结果是否符合预期//go_test.goimport( "fmt" "testing")funcAdd()int{ fmt.Println("AAAAAAAAAAAAAA") return5}funcSub()int{ fmt.Println("SSSSSSSSSSSSSSSS") return5}funcTestFun1(t*testing.T){......
  • java基础
    java注:本笔记是对以前学习内容的总结,因此,很容易出现一些多线程,JVM,框架,@Component注解等。如果你无法理解,可以前往元动力官网,这个网站的两位老师很厉害,本文就是基于他们的笔记来写的。序章计算机基础知识二进制的存储计算机中,所有数据都是以二进制来进行存储的,在这些之中1b......
  • 第二节 Java基础概念
    题目1:(选择)下列关于java变量声明那个是错误的:A.intx=5;B.doubled=3.14;C.chargrade=‘C’;D.Stringname=‘黑马程序员’;讲解:D字符串需要用双引号引起来题目2:(看代码说结果)看代码说结果,不要去运行。doublemoney=10.0;money=money+5;money-=2.......
  • ZeroMQ: Java 请求/响应和发布/订阅模式的简单实现
    转载于:https://blog.csdn.net/weixin_47951400/article/details/119142454 文章目录POM一、请求响应模式(ZMQ_REQ+ZMQ_REP)1.REP2.REQ3.测试REPREQ测试结果二、发布/订阅模式(ZMQ_PUB+ZMQ_SUB)1.PUB2.SUB3.测试PUBSUB测试结果 POM ......
  • java连接mqtt总是自动断开的问题排查及解决
    问题描述最近在做一个视频监控平台,要同步下级平台的摄像头信息数据,是通过其他同事写的c++服务往mqtt里推数据,我这边通过java连接mqtt监听主题获取摄像头信息。刚开始写完都还好,但是测试过一段时间,发现javaclient连接总是会自动断开,并且还会有丢失消息的情况。一开始怀疑是网络......
  • java Fegin x-www-form-urlencoded 类型请求
    spring发送content-type=application/x-www-form-urlencoded和普通请求不太一样。@FeignClient(name="ocr-api",url="${orc.idcard-url}",fallbackFactory=OcrClientFallbackFactory.class)publicinterfaceOcrClient{@PostMappi......
  • R语言代做编程辅导ASSIGNMENT FOUR - RANDOM GRAPHS(附答案)
    全文链接:https://tecdat.cn/?p=33183PROBLEM1)CreatingRandomAdjacencyMatricesScriptName:adjMatrixInput:n...Thenumberofverticesinthegraphp...Probablitytwoverticesareconnectedplot...whetherornotthematrixshouldbeplottedasagraph......
  • finshell 连接不到服务器,报Session.connect: java.net.SocketException: Connection r
    用finshell一段时间了,非常不错,但是有段时间突然连接不上服务器,各种重装,重启服务器都不行,在网上搜方法也没有好的办法。在我一次实在烦的不得了的时候,让我发现一个好的解决方案。先上图: 是不是出现这个问题,那么我的解决方案是啥呢?看我的手速,就是点击红色的闪电图标,一般连续点击......
  • 生成式AI:大语言模型ChatGPT交互的机制
    与ChatGPT有效交互的快速工程随着生成式人工智能的普及,特别是ChatGPT,提示已成为人工智能世界中越来越重要的技能。制作提示,与大型语言模型(LLM)(如ChatGPT)交互的机制,并不是它最初看起来的简单语法任务。在与ChatGPT的第一次交换的新颖性之后,很明显需要练习和考虑才能迅速掌握。因......