java底层
❶ 如何研究java的底层实现原理
首先介绍下如何导入jdk源码,需要下载jdk(不是jre),jdk包中会有一个src.zip,这个就是源码包
直接查看src.zip里面的java源文件非常费劲,可以在idea中查看,新建一个普通的java项目,设置下jdk则会自动把源码导入
随便打开一个jdk类库中的类Character,则可以看到源码了
jdk源码导入进来之后,则可以按照自己的需要进行阅读了,比如想了解HashMap的实现原理、查找效率、算法,则可以打开类搜索框,输入关键字则可以快速打开HashMap类源文件
jdk类库中源码很多,可以先挑几个感兴趣的去看,还可以结合测试代码一起看效果更明显。可以看ThreadLocal实现、线程池ThreadPoolExecutor、各种队列Queue的实现,NIO的实现等等,可以学习和研究的知识很多。
❷ 既然JAVA这么底层,为什么还需要C和C++语言
不依赖操作系统的程序才是最上层的程序,cpu的汇编码还有芯片要求那,你能说他过时??没这个一切都没了,能跨平台是因为他站的太高,抬个腿就过去了,单你却忽视了在他下面的程序是什么开发的,你只知道有虚拟机就能用java ,虚拟机下面还用东西,不是直接占到硬件上的。。。所谓的不依赖操作系统是只是代码不依赖,因为他们的编译代码是中间代码,并非机器码,在运行时才编译成机器码。。。。。
不是所有程序都需要跨平台,比如你玩个魔兽争霸你还要支持手游吗,用java 通常是由跨平台需要,如果没有这个需要,那就会有其他方面考虑,其他方面的优势java未必有,很多软件开发都有需要大量第三方组件,如果java缺乏这些东西,或者效果不好,自然不会用。。。。还有即使一些低端CPU系统非常简单,就不可能去支持虚拟机,甚至连系统都没有,这些程序谁开发。。。微软公司对windows进行优化难道要靠java吗???
编程出发点不同罢了, java不可能取代c和c++ ,就像裁缝不能取代厨子一样。。。。。
还有c++,c只是一种语法,不支持跨平台是因为编的是机器码,如果你做个编译器能把他编译成java的中间码,为什么不能跨平台。。。
❸ 教俺怎么深入到java底层,还有框架底层
我建议结合面试题来夯实基础;当基础知识都掌握扎实后,可以来阅读jdk/hotspot源码,了解JVM的底层原理;在这个过程中,你就会慢慢熟悉网络,操作系统,算法,编译原理相关的东西。始终要记住,上层的东西不论它再怎么牛都离不开底层的支持。
❹ 到底JAVA的底层是什么
java底层,汇编啊。。
有部分库(比如渲染等需要高速运算的)可能是C/C++
而且,这个,java底层这个概念。本来就存在某些问题。因为java是解释型语言啊,应该问他的编译器是啥语言实现的。
❺ 有没有推荐一本java的底层原理的书
不建议买书看,市面上的书种类很多,但是写得都很泛泛,主要还是停留在表面,看完不一定能有多大提高。要了解底层的原理,可以直接把框架的代码下载下来,自己慢慢啃,如果啃不动,可以到网上搜索牛人的博克文章,或者读书笔记,网上的资源还是很实用的。而且技术更新快,书籍里面介绍的东西很多在新版本中已经发生变化了。
概括一下,大概下面这几方面结合起来,效果会比较不错:
1.啃源代码(需要面向对象方面的基础,还有需要了解设计模式,java基础)
2.搜索牛人的博克文章,专栏 (一些平台,网络传课,腾讯网易云课堂,csdn论坛,蛙课)
3.读书笔记
4.动手实践
❻ java的底层是用什么语言编的
JVM的话是C++实现的。而c++则需要考虑效率,任何在windows下运行的程序,底层都是C/C++或者ASM,这是硬件指令系统决定的。
Java类库是Java实现的。java主要面向于实现。
❼ java的顶层,底层什么意思
底层就是硬件驱动,跟硬件最接近的驱动程序。顶层当然就是应用层,例如我想开空调,按开关是顶层, 通电,压缩机启动,抽风等都可以为后台底层.
❽ java是很底层的语言吗
显然不是啊。。。Java是高层语言,运行在一个叫JVM的虚拟机之上。。。跟JAVA最相似的语言,是C#。。。这两门语言,就像英式英语和美式英语的关系一样。。。原理,思想完全一样,语法也差不多。。所以基本掌握其中一门,另一门也就自然懂了七八成
C#依赖的是.net framework。。。而JAVA则依赖JVM虚拟机,这两个是高层语言的代表。
比较底层的语言有C语言和C++,更加底层的是汇编语言。。最底层的,当然就是机器码了(也就是1和0)
❾ java底层类是什么
没有听说过底层类,在java中有封装好的静态类和静态方法,我们可以直接用,比如说:string类,我们可以直接用它的toString()方法。
至于你问的,不知道是什么意思
❿ Java底层是什么计算机底层是什么
JVM 的话是 C++ 实现的。而c++则需要考虑效率,任何在windows下运行的程序,底层都是C/C++或者ASM,这是硬件指令系统决定的。
Java 类库是 Java 实现的。java主要面向于实现。