JAVA基本类库是用什么写的

SilentHunter460 2020-06-02 11:59:42
就像 JFrame jf = new JFrame();
JFrame类用什么写的呢??
...全文
471 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京天很蓝 2020-06-12
  • 打赏
  • 举报
回复
引用 4 楼 qybao 的回复:
[quote=引用 3 楼 qq_39936465 的回复:]


jdk大多数都是用java写的, 你可以理解有误,真正和本地系统相关的是java虚拟机 jre


LS的,你能找到哪个java的类不是用java写的吗?你自己查看源码,看看哪个类是用别的语言写的?就算某个类本身有本地方法,它也是用java的class定义的,否则哪来的.class文件?如果java的类可以不是java写的,那是不是我用c++写个类,java里也可以new了?
我觉得你是搞混了jdk和jvm(java虚拟机不是jre,是jvm),LZ明明要讨论的java的基本类库,你却来说jvm,jvm是java类库吗?jre怎么了?jre的核心类库不也是.class文件吗?你自己解压看看jre的jar包是不是都是.class文件?如果不是java写的,这些.class文件怎么来的?

java的基本类库也是.class文件(否则类加载器读取的不是.class文件岂不崩溃了?)构成的,有.class文件就是java写的,这个没什么可质疑的,你用别的语言写个类,然后生成.class文件试试?不要以为用了本地方法就不是java写的,本地方法只是提供了一个java调用别的语言的手段(也就是在java中调用其它语言),并不代表这个类就是由其它语言写的(其它语言只是辅助java语言完成类的功能)。

[/quote]理解很深刻啊
qq_39936465 2020-06-04
  • 打赏
  • 举报
回复
引用 4 楼 qybao 的回复:
LS的,你能找到哪个java的类不是用java写的吗?你自己查看源码,看看哪个类是用别的语言写的?就算某个类本身有本地方法,它也是用java的class定义的,否则哪来的.class文件?如果java的类可以不是java写的,那是不是我用c++写个类,java里也可以new了? 我觉得你是搞混了jdk和jvm(java虚拟机不是jre,是jvm),LZ明明要讨论的java的基本类库,你却来说jvm,jvm是java类库吗?jre怎么了?jre的核心类库不也是.class文件吗?你自己解压看看jre的jar包是不是都是.class文件?如果不是java写的,这些.class文件怎么来的? java的基本类库也是.class文件(否则类加载器读取的不是.class文件岂不崩溃了?)构成的,有.class文件就是java写的,这个没什么可质疑的,你用别的语言写个类,然后生成.class文件试试?不要以为用了本地方法就不是java写的,本地方法只是提供了一个java调用别的语言的手段(也就是在java中调用其它语言),并不代表这个类就是由其它语言写的(其它语言只是辅助java语言完成类的功能)。
jre就是java 运行环境的简称,我直接把jre说成java虚拟机可能不准确,但jre包含了jvm。
qybao 2020-06-04
  • 打赏
  • 举报
回复
当然,不排除现在有些语言也能生成.class文件,如果Android的kotlin
但是目前来说,java的基本类库,还是用java开发的,这个10年前就有答案了,后续的版本会不会变就不知道了
https://bbs.csdn.net/topics/340013952
qybao 2020-06-04
  • 打赏
  • 举报
回复
引用 3 楼 qq_39936465 的回复:
jdk大多数都是用java写的, 你可以理解有误,真正和本地系统相关的是java虚拟机 jre


LS的,你能找到哪个java的类不是用java写的吗?你自己查看源码,看看哪个类是用别的语言写的?就算某个类本身有本地方法,它也是用java的class定义的,否则哪来的.class文件?如果java的类可以不是java写的,那是不是我用c++写个类,java里也可以new了?
我觉得你是搞混了jdk和jvm(java虚拟机不是jre,是jvm),LZ明明要讨论的java的基本类库,你却来说jvm,jvm是java类库吗?jre怎么了?jre的核心类库不也是.class文件吗?你自己解压看看jre的jar包是不是都是.class文件?如果不是java写的,这些.class文件怎么来的?

java的基本类库也是.class文件(否则类加载器读取的不是.class文件岂不崩溃了?)构成的,有.class文件就是java写的,这个没什么可质疑的,你用别的语言写个类,然后生成.class文件试试?不要以为用了本地方法就不是java写的,本地方法只是提供了一个java调用别的语言的手段(也就是在java中调用其它语言),并不代表这个类就是由其它语言写的(其它语言只是辅助java语言完成类的功能)。

qq_39936465 2020-06-03
  • 打赏
  • 举报
回复
引用 2 楼 qq_16774199 的回复:
[quote=引用 1 楼 qybao 的回复:] 都是用java写的,只有调用jni本地方法的地方才会用c来写个本地方法。 lz可以自己下载jdk源码来看看
import java.lang.*; import java.io.*; import java.util.*; 这些核心类库也是java写吗?[/quote] jdk大多数都是用java写的, 你可以理解有误,真正和本地系统相关的是java虚拟机 jre
SilentHunter460 2020-06-02
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
都是用java写的,只有调用jni本地方法的地方才会用c来写个本地方法。 lz可以自己下载jdk源码来看看
import java.lang.*; import java.io.*; import java.util.*; 这些核心类库也是java写吗?
qybao 2020-06-02
  • 打赏
  • 举报
回复
都是用java写的,只有调用jni本地方法的地方才会用c来写个本地方法。 lz可以自己下载jdk源码来看看

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧