首页 > 编程语言 >java的诞生

java的诞生

时间:2024-08-01 21:30:33浏览次数:14  
标签:JRE java JDK 诞生 开发 JVM

java的诞生

C语言

C语言(1972诞生)

  • 优点:贴近硬件,运行极快,效率极高
  • 操作系统,编译器,数据库,网络系统等都使用C语言开发
  • 缺点:指针和内存管理

C++

C++(1982诞生)

  • 面向对象
  • 兼容C
  • 图形领域、游戏等

java

java(1995诞生)

  • 简单性
  • 面向对象
  • 可移植性(write once,run anywhe)
  • 高性能(即时编译)
  • 分布式
  • 动态性(反射机制)
  • 多线程
  • 安全性

java版本

  • javaSE 标准版:桌面程序、控制台开发···
  • javaME 移动版:手机、小家电···
  • javaEE 企业版:web端,服务器开发···

基于java开发了许多的平台、系统、工具

  • 构建工具:Ant,Maven,Jekins
  • 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
  • Web开发:Struts,Spring,Hibernate,myBatis
  • 开发工具:Eclipse,Netbran,intellij idea,Jbuilder
  • ···

java专有名词

  1. JDK(java Development Kit)java开发者工具

    JDK是一套用于开发Java程序的开发工具包。JDK提供编译、运行java程序所需要的各种工具及资源,包括java开发工具、java运行时的环境以及java的基础库类

  2. JRE(java Runtime Environment)java运行时环境

    JRE是运行java程序所依赖的环境集合,包括类加载器、字节码校验器、java虚拟机、java API

  3. JVM(java Virtual Machine)

    JVM是一个虚构出来的计算机,可以跑在所有的平台上,是通过在实际的计算机上仿真模拟各种计算机功能来实现的

  4. SDK:SDK软件开发工具包

  • JVM、JRE和JDK三者有非常紧密的联系,从范围上来看是从小到大的关系,如下图

/i/ll/?i=20210508183720895.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIzNTg3NzA5,size_16,color_FFFFFF,t_70

标签:JRE,java,JDK,诞生,开发,JVM
From: https://www.cnblogs.com/GreyMi/p/18337593

相关文章

  • Java面试题合集(持续更新)
    1、redis缓存穿透,缓存击穿以及缓存雪崩问题和对应的解决方案缓存穿透:当客户端访问一个不存在的数据,这个数据在缓存和数据库中都不能命中,如果有大量的这种穿过缓存直接访问数据库的请求,就会给数据库带来很大压力。解决思路:缓存空对象:当发现数据库中也没有该数据时,我们把这......
  • 全网最强Java面试题 很详细了!!!
    一、缓存面试官:什么是缓存穿透 ?怎么解决?候选人:(穿透无中生有Key,布隆过滤NULL隔离)嗯~~,我想一下缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。这种情况大概率是遭到了攻......
  • Java/SpringCloud/RabbitMq/无感实现消息携带用户信息 --- 逻辑讲解、代码实现、图形
    一、需求:依据黑马商城hmall为例,用户下单创建订单后,交易服务trade-service向交换机topic发送消息,交换机topic路由到队列,购物车服务cart-service监听此队列,实现自动清空购物车。改造下单功能,将基于OpenFeign的清理购物车同步调用,改为基于RabbitMQ的异步通知:定义t......
  • Java基础知识分享(二)相关练习题
    写在前面大家前面的方法和数组学的怎么样了,快来看看这些题你能不能快速地说出答案,数组和方法在Java学习中还是非常重要的,快来检测你的薄弱点在哪,及时查漏补缺!填空题1.数组会在内存中开辟一块连续固定大小的空间,每个空间相当于之前的一个变量,称为数组的元素。数组的长度一经确定......
  • Socket网络编程:Java中的实现与应用
    Socket网络编程:Java中的实现与应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Socket网络编程是实现网络通信的基础,通过它可以在不同的计算机之间传输数据。Java的java.net包提供了强大的网络编程功能,支持各种网络协议。本文将深入探讨Java中Socket编......
  • Java多线程编程详解:从基础到高级
    Java多线程编程详解:从基础到高级大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Java的多线程编程允许程序同时执行多个任务,提高了应用的性能和响应能力。本文将从基础到高级,全面介绍Java中的多线程编程,包括线程的创建、线程池、同步机制及并发工具的使用......
  • Java串口编程:与硬件通信的实现
    Java串口编程:与硬件通信的实现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!串口编程在与硬件设备通信时扮演着重要角色,尤其是在工业自动化、嵌入式系统和其他硬件设备的控制中。Java虽然在串口编程上并不直接支持,但通过第三方库(如JavaSerialPortAPI......
  • Java堆栈详解:内存管理与优化
    Java堆栈详解:内存管理与优化大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Java的内存管理系统由堆(Heap)和栈(Stack)两部分组成,这些部分负责管理Java程序运行时的数据。理解Java堆栈的内存管理以及如何优化这些资源对于开发高效的Java应用至关重要。本文将......
  • Calendar类在Java中的使用与技巧
    Calendar类在Java中的使用与技巧大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Calendar类是Java中处理日期和时间的重要工具。虽然Java8引入了更现代的java.time包,但Calendar类依然在许多现有项目中广泛使用。本文将介绍Calendar类的基本用法、常见技......
  • javascript学习 - 函数介绍
    函数简介编程时,可能会定义许多相同或者功能相似的代码,此时我们每需要使用一次,就需要重写编写一次。虽然利用循环结构也能够实现一些简单的重复操作,但是功能较为局限。此时,我们就需要使用到JavaScript中的函数。所谓函数,就是通过将一段可以重复调用的代码块进行封装,从而......