Java 离 Linux 内核到底有多博雅棋牌官网远!
更新时间: Feb 26, 2021  作者:刘  来源:

在往期的文章中,给大家分享了内核中的重要功能 —— 容器底层 cgroup 的相关知识,不少网友表示内核实在太高深,代码也较难理解。

本期内容我们将站在非内核开发者的角度,给大家介绍应用和系统工程师如何梳理 Linux 内核代码。希望大家读完之后能有所收获,也希望更多的开发者能够关注到内核开发领域,毕竟连祖师爷 Linus 都表示内核维护者要后继无人了呀!

Java 离内核有多远?

测试环境版本信息:

玩内核的人怎么也懂 Java?这主要得益于我学校的 Java 课程和毕业那会在华为做 Android 手机的经历,几个模块从 APP/Framework/Service/HAL/Driver 扫过一遍,自然对 Java 有所了解。

每次提起 Java,我都会想到一段有趣的经历。刚毕业到部门报到第一个星期,部门领导安排我们熟悉 Android。我花了几天写了个 Android 游戏,有些类似连连看那种。

开周会的时候,领导看到我的演示后,一脸不悦,质疑我的直接领导没有给我们讲明白部门的方向。

emm,我当时确实没明白所谓的熟悉 Android 是该干啥,后来 PL 说,是要熟悉 xxx 模块,APP 只是其中一部分。话说如果当时得到的是肯定,也许我现在就是一枚 Java 工程师了。

从 launcher 说起

世界上最远的距离,是咱俩坐隔壁,我在看底层协议,而你在研究 spring如果想拉近咱俩的距离,先下载 openjdk 源码,然后下载 glibc,再下载内核源码。

Java 程序到 JVM,这个大家肯定比我熟悉,就不班门弄斧了。

我们就从 JVM 的入口为例,分析 JVM 到内核的流程,入口就是 main 函数了:

JNIEXPORT intmain(int argc, char **argv){ //中间省略一万行参数处理代码 return JLI_Launch(margc, margv, jargc, (const char**) jargv, 0, NULL, VERSION_STRING, DOT_VERSION, (const_progname != NULL) ? const_progname : *margv, (const_launcher != NULL) ? const_launcher : *margv, jargc > 0, const_cpwildcard, const_javaw, 0);}

JLI_Launch 做了三件我们关心的事。

首先,调用 CreateExecutionEnvironment 查找设置环境变量,比如 JVM 的路径,以我的平台为例,就是 /usr/lib/jvm/java-14-openjdk-amd64/lib/server/libjvm.so,window 平台可能就是 libjvm.dll。

其次,调用 LoadJavaVM 加载 JVM,就是 libjvm.so 文件,然后找到创建 JVM 的函数赋值给 InvocationFunctions 的对应字段:

jboolean LoadJavaVM(const char *jvmpath, InvocationFunctions *ifn){void *libjvm;//省略博雅棋牌官网出错处理 libjvm = dlopen(jvmpath, RTLD_NOW + RTLD_GLOBAL); ifn->CreateJavaVM = (CreateJavaVM_t) dlsym(libjvm, "JNI_CreateJavaVM"); ifn->GetDefaultJavaVMInitArgs = (GetDefaultJavaVMInitArgs_t) dlsym(libjvm, "JNI_GetDefaultJavaVMInitArgs"); ifn->GetCreatedJavaVMs = (GetCreatedJavaVMs_t) dlsym(li

(责任编辑:博雅棋牌app)

本文地址:/liuxue/20210226/15251.html

上一篇:北大迎来3300多博雅棋牌官网名新生

下一篇:云南二建将实行电子化成绩合格证明!

许家印:恒大拟分拆三大产业赴港上市

恒大制定的目标都是会实现的,今年肯定会实现时间过半、任务过半。”对于今年房地产市场,许家印表示,2021年中国房地产市场将进入市场供应规律、价格规律、可支付能力 ...详情

友谊赛阿根廷胜萨尔瓦多 没有“玫瑰”球迷不爽

一场国际友谊赛在美国联邦快递球场举行,梅西和阿圭罗均未出场,伊瓜因和迪马利亚领衔的阿根廷队以2比0取胜萨尔瓦多队,“天使”助攻巴内加打破僵局,替补出场的曼库埃洛小角度 ...详情

中国首家普希金书店打造“中俄文化沙龙”

中国首家以俄罗斯文学之父普希金命名的书店在边境黑河开业。该书店将打造成为中俄文化艺博雅棋牌游戏术沙龙。由该书店打造的中国首家实体书店全民阅读网络电台也同期开播。  ...详情

业内人士:做好预期管理是放松个人外汇管制的关键

央行行长周小川在多个场合表示,2021年将加快推进资本项目可兑换,特别指出将进一步便利境内外个人投资,这预示着个人外汇管制的放松步伐有望加快。  我国个人经常项目下已基 ...详情

“东极”抚远:“共享账户”为贫困户“分红”

集纳兴边富民、扶贫资金和涉农资金红利,让贫困户共享一些政策和公共资源、资产收益,去年为每名贫困人口至少分红1000元。“共享账户”给每名贫困群众分红1000元抚远 ...详情

隰县﹃博雅棋牌官网一颗梨﹄托起小康梦

10.7万人,是国家扶贫开发工作重点县。近年来,隰县围绕“一村一品一主体”和贫困村“五有”产业扶贫新机制,把玉露香梨作为建档立卡贫困户脱贫致富的战略支柱产业来抓 ...详情

应先申请政府赔偿口罩钱

90后小伙孙洪彬今年11月将郑州市政府告上法院,认为后者治霾不作为,并请求判令后者赔偿其购买口罩相关费用32元。 2016年11月20日,孙洪彬在郑州出差时,在该市地标建筑二 ...详情

特朗普:为修美墨隔离墙不惜“关闭政府”

美国总统特朗普22日称,如果推行在墨西哥边界建造隔离墙的计划有需要,他不惜“关闭政府”。 特朗普在亚利桑那州凤凰城举行的“让美国再次伟大”的集会上说,民主党人是反对该 ...详情