Java为什么没有被时代所淘汰?

简介: Java为什么没有被时代所淘汰?

20200201145216393.png


1.java为什么没有被时代所淘汰

Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展。然而90年代,Internet却进入了爆发式发展阶段,一夜之间,大家都在忙着将自己的计算机连接到网络上。这个时侯,遇到了一个大的问题。人们发现连接到Internet的计算机各式各样,有IBM PC、苹果机、各种服务器等等,不仅硬件CPU不同,操作系统也不同,整个的网络环境非常复杂。这个时候,程序员们希望他们编写的程序能够运行在不同的机器,不同的环境中,这需要一种体系中立的语言(即跨平台)。Java的研发小组忽然发现他们用于小范围的语言也可以适应Internet这个大环境。


 跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的“第一大语言”,是计算机界的“英语”。


 虽然,目前也有很多跨平台的语言,但是已经失去先机,无法和Java强大的生态体系抗衡。Java仍将在未来几十年成为编程语言的主流语言。


 JAVA虚拟机是JAVA实现跨平台的核心。事实上,基于JAVA虚拟机(JVM)的编程语言还有很多种:


基于JAVA生态建立的产品将会越来越多;基于JAVA虚拟机的编程语言也将会越来越多;生态系统的强大,是JAVA能长盛不衰的根本。


2.Java跨平台原理(字节码文件、虚拟机)

   Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。

   字节码文件不面向任何具体平台,只面向虚拟机。

   Java虚拟机是可运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口。

   Java语言具有一次编译,到处运行的特点。就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。但是性能比C/C++要低。

   Java的跨平台原理决定了其性能没有C/C++高

aHR0cHM6Ly93d3cuc3h0LmNuLzM2MHNob3AvUHVibGljL2FkbWluL1VFZGl0b3IvMjAxODEyMjkvMTU0NjA3NjYwNDM4MzE5MC5wbmc.png


目录
相关文章
|
6月前
|
设计模式 缓存 分布式计算
|
6月前
|
缓存 算法 Java
数据结构~缓存淘汰算法--LRU算法(Java的俩种实现方式,万字解析
数据结构~缓存淘汰算法--LRU算法(Java的俩种实现方式,万字解析
|
6月前
|
存储 缓存 Java
java如何实现一个LRU(最近最少使用)缓存? 要求:设计一个LRU缓存,支持get和put操作。当缓存满时,需要淘汰最近最少使用的元素。要求使用双向链表+哈希表的数据结构来实现,并保证get和put操作的时间复杂度为O(1)。
java如何实现一个LRU(最近最少使用)缓存? 要求:设计一个LRU缓存,支持get和put操作。当缓存满时,需要淘汰最近最少使用的元素。要求使用双向链表+哈希表的数据结构来实现,并保证get和put操作的时间复杂度为O(1)。
64 1
|
缓存 NoSQL 算法
Java 最常见的面试题:redis 淘汰策略有哪些?
Java 最常见的面试题:redis 淘汰策略有哪些?
|
NoSQL Java Redis
|
缓存 NoSQL 前端开发
盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!
大家好啊,今天栈长给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过。
盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!
|
存储 缓存 算法
昨天面试被问到的 缓存淘汰算法FIFO、LRU、LFU及Java实现
在高并发、高性能的质量要求不断提高时,我们首先会想到的就是利用缓存予以应对。 第一次请求时把计算好的结果存放在缓存中,下次遇到同样的请求时,把之前保存在缓存中的数据直接拿来使用。 但是,缓存的空间一般都是有限,不可能把所有的结果全部保存下来。那么,当缓存空间全部被占满再有新的数据需要被保存,就要决定删除原来的哪些数据。如何做这样决定需要使用缓存淘汰算法。 常用的缓存淘汰算法有:FIFO、LRU、LFU,下面我们就逐一介绍一下。
312 0
|
Java 开发工具 git
7年Java游戏后端,被淘汰辛酸史
本人Java开发6年半不到7年的样子。 英语专业,临毕业跟着隔壁专业去培训了四个月Java。 跟他们一起来了北京找工作,一找就是5个多月,面试100多家公司。最终还是隔壁专业的同学介绍到他们公司才就业了。
1627 1
|
Java 程序员 应用服务中间件
技术变化那么快,Java程序员如何做到不被淘汰?
写了这么久的代码,你是否曾经有过这样的迷茫和困惑:技术发展日新月异,奋力追赶的我们,究竟是技术的主人还是技术的奴隶? 技术人真的挺辛苦,除了在办公室高强度、高压力搬砖外,还要时刻关注最新的市场信息、技术动态、行业信息等等。
1581 0
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。