2025腾讯犀牛鸟开源人才培养计划—Tencent KonaJDK
腾讯犀牛鸟开源人才培养计划
欢迎广大高校学子及开发者加入2025腾讯犀牛鸟开源人才培养计划!犀牛鸟开源人才培养计划同教育部计算机类专业教学指导委员会、教育部软件工程专业教学指导委员会、教育部电子信息类专业教学指导委员会、中国信息通信研究院一起作为联合指导单位,腾讯开源和腾讯高校合作联合主办,开发者通过参与腾讯全链路技术栈15个明星项目的学、练、赛研学,有机会获得腾讯颁发的荣誉证书、现金奖励以及腾讯特色礼包,获得“优秀学生”即可优先获得腾讯面试机会。
期待同学们在本次研学旅程中,和腾讯一起探索未知、学习技术,让开源伴你成长,收获满满一夏!
项目简介
Java长期位列编程语言前三名,JDK是编写Java代码及运行Java程序的基石。腾讯KonaJDK青出于OpenJDK,针对大数据,机器学习和云计算场景进行了独特的优化,在高性能及安全性方面多有建树。腾讯KonaJDK团队拥有多位OpenJDK社区Reviewer,Committer和Author,在国内JDK团队中首屈一指。而OpenJDK开源社区活跃且成熟,它的协作模式也是开源项目中的典范,无论对于初识的爱好者,还是长期的贡献者都十分友好。参与OpenJDK的开发,不仅可以领略世界级基础软件的设计理念与实现细节,还可以积累开源项目的贡献经验。
项目导师
江莎,OpenJDK Reviewer
导师寄语
江莎:经过三十年的发展,JDK积累的特性已经很多了,甚至可以说是繁杂。有些特性也因为不合时宜,不得不抛弃它们了。深入OpenJDK,了解其特性的演进过程,让我们认知新特性带来的危与机。
培养概览
1️⃣ 参与“腾讯开源基础课程” 完成考试可获得《腾讯开源研学结课证书》
2️⃣ 参与“腾讯开源issue实战” 完成任意issue即可获得专属《腾讯开源实战证书》+ 腾讯周边精美礼包一套。其中issue难度对应礼包大小
3️⃣ 参与“腾讯开源课题实战” 任务奖金从6K、8K到12K不等、腾讯犀牛鸟研学专属《优秀学生证书》或《优秀开发者证书》、全球限量《腾讯开源贡献者证书》 *获得《优秀学生证书》,即可优先获得腾讯面试机会
4️⃣ 彩蛋玩法:分享有礼、帮带有礼
【玩法1-分享有礼】 在任意社交平台(知乎/b站/掘金/CSDN等)分享你在【本届犀牛鸟研学的心得+犀牛鸟官网】,在9月10日前把分享记录填写在【分享有礼登记表】表中,分享量Top 10即可获得鹅厂周边礼包!🎁
【玩法2-帮带有礼】: 你可以在项目社群、项目repo页面、项目研学基地【我要提问】区域三个位置回答其他同学提出的问题,在9月10日前,我们会综合导师意见,对积极且正确帮助他人解答问题的幸运同学送出鹅厂周边礼包!🎁
如何贡献
参与“腾讯开源issue实战”
进入“研学基地”,参与“腾讯开源issue实战”,选择你感兴趣项目的 Issue 任务,认领和完成它。7月10日开放 issue ,学生及开发者可无门槛参与和认领
1、如果你愿意解决issue,请在腾讯开源研学基地的【3️⃣issue认领任务大厅】领取issue任务 2、Fork 到个人的仓库下 3、在个人仓库解决完对应的任务后,提交 PR 至 Issue 所在仓库的 master 分支 4、PR提交后,项目导师将进行 code review, PR 被合并后即视为任务完成 5、如有任何疑问可以在评论区留言或者邮件至联络人
参与“腾讯开源课题实战”
时间安排:6月20日至7月28日为活动报名期,8月1日公布入围名单,8月2日至9月10日为课题实战期,通过筛选的学生即可参与此模块。
初阶任务: 构建Tencent Kona JDK 17,并编写一个JMH程序用于测试EC和RSA密钥对生成器的性能。 背景:由于后续任务需要修改JDK的源代码,所以学会构建JDK是完成任务的一项基本技能。由于后面的实战任务会关注于性能改进,所以使用JMH编写微基准性能测试程序也是一项必需。 目标:提交一份报告用于描述完成该任务的细节。需要展示构建JDK的命令,JMH代码,以及执行JMH测试之后得到的结果。
中阶任务: 基于JNI和OpenSSL提升EC和RSA密钥对生成器的性能。 背景:纯Java实现的EC和RSA密钥对生成器的性能并不高,尝试使用JNI调用OpenSSL接口对它们进行加速。 目标:向Tencent Kona JDK 17项目提交PR,在其中展示优化前后的性能差异。
高阶任务: 探索如何进一步提升基于JNI和OpenSSL实现的Java密码学算法的性能。分析Amazon Correto Crypto Provider(ACCP)的实现,指出值得学习借鉴的地方。 背景:使用JNI调用OpenSSL接口看似不难,但在编码上也需要注意可能的陷阱。ACCP也是使用OpenSSL(一个变种)加速Java密码学算法,但性能更高,但也要注意它可能存在的问题。 目标:给出一份报告,展示在使用JNI和OpenSSL实现Java密码学算法时需要注意的点。给出ACCP的实现细节,尤其要展示可能的提升性能的方式,但也要指出它可能的问题。
参考资料: Building the JDK:https://openjdk.org/groups/build/doc/building.html Java Microbenchmark Harness:https://github.com/openjdk/jmh Java Security Developer’s Guide:https://docs.oracle.com/en/java/javase/17/security/index.html Java Native Interface:https://docs.oracle.com/en/java/javase/17/docs/specs/jni/index.html OpenSSL:https://github.com/openssl/openssl OpenSSL EVP:https://docs.openssl.org/3.5/man7/evp/ ACCP:https://github.com/corretto/amazon-corretto-crypto-provider
联系导师
💁🏻♀️ 欢迎加入腾讯开源犀牛鸟官方微信群:官方通知及解答、最新腾讯开源动态
💁🏻♀️欢迎加入Tencent KonaJDK项目官方交流群,导师在线为你答疑解惑!