本集简介
双语字幕
仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。
大家好,欢迎收听《深入Java》播客的首期节目。我是查德·阿里·米拉,这是我的搭档。
Hello and welcome to the first episode ever of the inside Java podcast. My name is Chad Ari Mira and this is my cohost.
嗨,我是大卫·德莱巴西。
Hi. I'm David Delebasi.
在本系列播客中,我们将通过直接对话构建Java平台的专家们,将大家对Java的理解提升到新高度。大卫和我任职于Oracle公司Java平台组的开发者关系团队——这个岗位也常被称为开发者布道师、开发者倡导者,或者任何时下流行的称谓。归根结底,我们致力于维护Java生态与社区的活力。为此我们深入社区,努力理解开发者体验与心声,通过参会交流(现在主要是线上)与开发者保持对话。
And in this podcast series, we're gonna take our understanding of Java to the next level by talking directly to the experts who built the platform itself. David and I work on the developer relations team inside the Java platform group at Oracle. It's also commonly known as developer evangelism, developer advocacy, whatever the name du jour is. At the end of the day, we focus on the vibrancy of the Java ecosystem and community. And we do this by immersing ourselves in the community, trying to deeply understand the developer experience and sentiment, and talking to developers, going to conferences, now mostly virtually.
我们在今年五月推出了inside.java网站。如果你还没看过,访问inside.java就能看到Java团队制作的精选内容。当然还有你正在收听的这档播客,它真正聚焦的是内容背后的创造者们。
We launched inside dot Java back in May. And if you haven't seen it yet, go to inside .java, and you'll see a curated list of content produced by the Java team. And, of course, this podcast that you're listening to, which is really about featuring the people behind the content.
对了查德,你提到GPG(Java平台组)。我们应该解释下这个团队的工作,因为我相信Oracle外部没多少人清楚GPG的具体职能。
So, Chad, you mentioned GPG. We should explain what the Java platform group is doing because I'm pretty sure that there are not a lot of people outside of Oracle that knows what GPG is doing.
没错。这个团队几乎涉及Java的每个领域:从Java虚拟机(这是个运行你Java应用的精密引擎,通常你无需过多关注)及其相关功能特性——垃圾回收、性能优化、可维护性,再到跨平台支持;当然还有语言特性设计,我们拥有世界顶尖的架构师团队,他们不仅思考Java的现状,更规划其未来演进路线。
Yeah. The team here works on almost every aspect of Java, everywhere from the Java Virtual Machine, which is just an incredible piece of machinery that runs your Java application, and you most likely don't have to think much about it. All of the features and functionality that go along with that, the garbage collection, performance, serviceability, all on top of multiple platforms. Of course, there's the language features. We have some of the world's foremost architects that are thinking about not only what Java looks like today, but what it should look like tomorrow and a thoughtful path to get there.
关于语言设计与技术管理我们能聊上几天,不过Mark Reinhold和Brian Goetz的演讲更精彩(我们会放在节目备注里)。此外还有编译器团队、Java语言规范与JVM规范制定者、技术兼容性工具包(TCK)维护者、Java API与工具链开发者(如JLink、JDK飞行记录器、JPackage),以及构建测试基础设施、文档编写和质量保障团队。当然还有负责Oracle JDK长期支持版的维护团队、客户支持部门、产品整合团队,以及我们所在的开发者关系组。
We could spend a ton of time talking about stewardship and language design, but there's some great talks by Mark Reinhold and Brian Goetz, and we'll put those in the show notes. There's the compilers. There's the Java language specification, the JVM specification, the TCK, the Java APIs and the tooling, J Link, JDK, Flight Recorder, JPackage. There's build and test infrastructure, documentation, and QA. And of course, there's the sustaining teams that work on long term support versions of the Oracle JDK and the support groups that manage all of our customers and the product teams that help bring this all together, and our developer relations team.
是的,这个名单还能继续列下去。Oracle有众多工程师在为Java贡献力量。
Yeah. And the list goes on. There are many folks, many engineers behind Java at Oracle.
完全正确。随着六个月发布周期的推进,新功能正以惊人速度涌现。不如你来介绍些正在进行中的项目?
Yeah. Exactly. And with the six month release cadence, there's a lot of new stuff coming out at a pretty fast pace. Why don't you tell us about some of the ongoing projects?
好的。各团队正在推进多个雄心勃勃的长期项目,比如Panama、Valhalla、Loom、Amber等。这些项目要么旨在开发像ZGC这样的大型新功能,要么全面革新Java平台的某些方面——Loom、Valhalla和Amber就是典型代表。以ZGC为例...
Sure. So the different teams are working on multiple ambitious long term projects such as Panama, Valhalla, Loom, Amber and so on. The goal of those projects is either to develop new large features Zegisi is a good example or completely revamped some aspect of the Java platform. Loom, Valala, Amber are good example of such projects. Let's take ZGC for example.
ZGC是一种新型低延迟垃圾收集器。作为并发GC,意味着大部分垃圾回收工作会在Java线程持续运行时完成,这极大限制了GC对应用响应时间的影响。使用ZGC时,停顿时间极短,通常仅几毫秒。但关键在于,即便堆内存增大或存活对象增多,这些停顿时间也不会延长。ZGC能处理从几兆字节到16TB大小的堆内存。
So ZGC is a new low latency garbage collector. It's a concurrent GC meaning that most of the GC work is done while the Java threads continue to run and that really limits the impact the GC has on the application response time. So with ZGC, you will have very short post time, typically just around a few milliseconds. But what's important is that those post time will not increase even with larger heap or increased live set. ZGC can handle a small heap from a few megabyte HIP to very large HIP up to 16 terabyte HIP.
ZGC最初作为实验性功能在GDK 11中引入,当时仅支持Linux平台,后续逐步增加了对其他平台的支持。ZGC将在GDK 15成为标准功能。另一个重要项目是Amber,其目标是提供提升开发效率的Java语言特性,包括简化语法糖、在适当场景简化编码、提升代码可靠性等。
ZGC was introduced as an experimental hotspot feature in GDK 11. Back then it was on Linux only, and since then, support for additional platform has been added. ZGC will be a standard hotspot feature in GDK 15. Project Amber is another one. Amber's goal is to deliver productivity oriented Java language features, so reducing syntactic sugar, write code more easily where it makes sense, improve code reliability, and so on.
Amber已交付多项特性:Java 10的局部变量类型推断、Java 14标准化的switch表达式、GDK 15将标准化的文本块功能、instanceof模式匹配(预计在15版本进行第二次预览)、以及Java 15将作为预览特性引入的密封类。Amber正逐步为Java语言注入新特性。
Amber has already delivered quite some features. We can mention local variable type inference in Java 10, the switch expression now standard in Java 14, TextBlocks which will become standard in GDK 15, pattern matching of instance of, I believe in second preview in 15, sealed class, which will be introduced as a preview feature in Java 15. So Amber is gradually delivering features to the Java language.
别忘了JDK特性对决的最终四强之一。
And don't forget one of the final four of the JDK feature face off.
抱歉,我忘记记录功能了。不过说实话,记录功能对我来说实在太方便,我几乎已经把它当作标准功能了——尽管事实并非如此。
Sorry. I forgot to record. Right. Well, you know what? Record are to me so convenient that I'm basically considering that they're already a standard feature even though that's not true.
记录功能仍处于预览阶段。是的,多亏Amber项目,我们将拥有记录类。
Record are still in preview. Yep. So thanks to Amber, we'll have records.
别担心,我们计划在后续节目中详细探讨所有这些主题。
And don't worry. We have plans to cover all these topics in much more detail in future episodes.
没错。今天只是快速概览,后续节目我们将深入探讨,并与负责这些项目的架构师展开对话。另一个重大项目是Valhalla,其目标是改进Java平台以适应现代硬件。Valhalla将引入内联类——这是一种异构数据聚合体。
Yes. So today, we're just giving a very quick overview, but the goal is to go deeply and discuss with the architects in charge of all those projects later on in the upcoming episode. So another one, and a big one is project Valala. Valala's goal is to evolve and adapt the Java platform to cope with modern hardware. Valala will introduce inline classes, which are heterogeneous data aggregates.
内联类放弃了Java对象的某些关键特性(主要是标识性和可变性),但换来了内存方面的优势:访问速度大幅提升,支持更扁平的内存布局,提高内存密度。这就是所谓的'编码像类,运行像原生',相当于能创建自定义原生类型。
The idea is that inline classes are giving up some key characteristic of Java object, mainly identity and mutability, but in return they get new benefits around memory. Accessing inline classes will be way faster. Inlined classes will also enable a flatter memory layout and improve the memory density. It's the famous code like a class works like an hint. It's kind of being able to create your own primitives.
这几乎会触及平台和语言的每个角落吧?
And will literally touch almost every part of the platform in the language?
没错。Valhalla项目会触及JVM,同时也会影响Java语言本身,因为开发者需要创建那些内联类。因此Javascript编译器也会受到影响。接着还有现有库中API的迁移,比如集合流等,泛型也会被波及,所以这确实是个庞大的工程。
That's correct. Valhalla will touch the JVM but also the Java language as developer will have to create those inline classes. So the Javascript compiler will also be impacted. Then there's the migration of existing API in libraries such as collection streams and so on the generics will also be impacted so it's it's really a huge project another
另一个是Loom项目,旨在降低构建高吞吐量并发应用的复杂度。它通过引入名为VirtualThreads的新Java实体来实现——这些虚拟线程成本极低,你可以轻松创建数百万个,无需再为编写异步代码的取舍问题而困扰。
one is project loom which aims to reduce the complexity of building high throughput concurrent applications. It does this by introducing a new Java entity known as, VirtualThreads. And they're cheap, so you can spit up millions of them. And you don't have to worry about having to make the trade off of writing asynchronous code.
对。接下来是Panama项目,其目标是实现更安全、简便且高性能的原生代码访问。它有两个核心构件:外部内存API和外部链接器API。前者允许Java程序安全高效地访问Java堆之外的外部内存。
Right. Next up is Project Panama. The goal of Panama is to enable safer, easy, and performant access to native code. It has two core building blocks, the Foreign Memory API and the Foreign Linker API. The first one, the foreign memory API will allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
后者则提供对原生代码的安全强类型纯Java访问。两者结合将以比传统JNI更安全、高性能且易用的方式实现对原生数据和函数的访问。Panama初期主要支持x64和AArch64架构的C库,未来预计会扩展更多平台和非C语言编写的外部函数。这两个API是Panama的主要交付成果,但还有额外工作在进行——比如jextract工具能根据原生库头文件自动生成Java调用所需的方法句柄。
Then we have the foreign linker API that will provide a safe, strongly typed pure Java access to native code. So combined together, those two API will provide access to native data and native function in a way that is safer, performant, and easier to use than the old GNI approach. The initial scope of Panama is C libraries on x 64 and Arch 64, And over time, it's expected that Panama will add support for additional platforms and foreign functions written in language other than c. So those two API, the foreign memory API and the foreign linker API constitute the main deliverables of Panama, but there are additional efforts going on. On the tooling side, we have GXtracks who basically takes the header files of a given native library to mechanically generate the native method handles needed to invoke from Java that library.
此外Panama旗下还有向量API,旨在表达向量计算并在运行时编译优化为硬件指令,目标显然是提升性能。简言之,Panama将丰富JVM与外部API的交互方式。
In addition, under the Panama umbrella, we have the vector API whose goal is to express vector computation that will be compiled at run type to optimize vector hardware instruction. The hand goal being obviously to obtain improved performance. So that's Panama. In a nutshell, Panama will enrich the interaction between the Java Virtual Machine and foreign APIs.
是的,Panama最酷的一点是能让Java更好地利用现有的众多AIML库和框架——你可能不知道这些其实大多是用原生代码(C/C++)而非Python写的。
Yeah. And one of the really cool things about Panama is it will better position Java to take advantage of many of the AIML libraries that have been written and frameworks that are out there. What you may not know is a majority of those are actually written in native code, c or c plus plus, not Python.
没错。我们刚聊了Panama、Loom和Valhalla...
Yeah. Let's see. So we've talked about Panama. We've talked about Loom. Valhalla.
还有个最新加入的成员...
We we got the the newest the newest kid on the block.
对,Leyden。这是几周前刚宣布的新项目,将为Java平台引入静态镜像概念,旨在解决Java长期存在的启动慢、达到峰值性能耗时久、应用体积大等问题。
Yeah. Layden. So Layden is a new is a new project. It has been announced a few weeks ago, and Layden will introduce the concept of static image to the Java platform. The goal of a static image and the goal of Layton is to tackle some of the long standing issue that Java is facing.
当然这些问题具有相对性——比如使用jlink工具现在就能显著减小应用体积,但我们还能更进一步。JVM性能团队也一直在优化启动速度,AppCDS就是缩短启动时间的好技术,而Leyden将实现更大突破。
That is the slow startup time, the slow time to peak performance, and also the large footprint of Java application. Now those are issue but this is also relative in the sense that for example if you are using J Link you can already today greatly reduce the footprint of your Java application but still we can go further than that. Slow startup time is also something that is being addressed constantly by the JVM performance team. AppCds for example is a good technique to reduce the startup time. But Laydown is is it will go further than that.
它将引入静态镜像这一概念。静态镜像本质上是一个独立的程序、独立的应用程序。可以将其视为从Java应用程序衍生的一个可执行文件。这个静态镜像仅用于运行你的应用程序,仅此而已。为什么呢?
It will introduce this concept of static image. So a static image is basically a standalone program, a standalone application. So just think an active executable that is derived from a Java application. And that static image will run your application and just that, nothing else. Why?
因为它存在于一个封闭的世界中。正是这种封闭世界的假设,使得我们能够提前将Java应用程序编译成可执行文件。
Because it live in a closed world. And it's this closed world assumption that gives the ability to basically ahead of time compile the Java application into an active executable.
这对于无服务器函数即服务、短生命周期的微服务等工作负载非常有利,因为Java在达到峰值性能时是最强大的语言之一,但有时需要一些时间才能达到这一性能,这正是静态镜像的用武之地。GraalVM在这里扮演什么角色?
And this is great for workloads like serverless functions as a service, short lived microservices because Java is one of the most performant languages out there when it gets to peak performance, but it can take a little while to get there sometimes, which is where static image comes in. Where does GraalVM fit into this?
这是个好问题。当我们提到静态镜像时,你可以联想到GraalVM的原生镜像。两者的概念和最终结果非常相似。Leiden项目将把静态镜像的概念标准化到Java平台中,一旦完成,我们可以期待RealVM会演进以实现这一规范。Leiden项目几周前刚刚宣布,但我们将在未来的播客中更详细地讨论它。
That's a good question. So when we say static image you can think about GraalVM's native image. The concept and the end result are very similar. So Leiden will standardize the concept of static image into the Java platform and once this is done we can expect that RealVM will evolve to implement that specification. So Layden has just been announced a few weeks ago but we will cover Layden in more details in a future episode of this podcast.
嗯,你完全可以说现在有很多事情在同时进行。
Well, you can definitely say there's a lot going on.
是的。这些只是部分项目。还有更多项目,比如Scara。简而言之,OpenGDK从早期就开始使用它作为源代码管理解决方案。
Yeah. And those are just some of the projects. There are more projects. Scara, for example. So in a nutshell, OpenGDK has been using since the early days as the source code management solution.
Skara一直在研究更现代的解决方案,那就是Git。此外,Skara还考察了潜在的Git托管解决方案,最终选择了GitHub。最后,Skara团队还在Git之上开发了额外的工具,以匹配OpenJDK社区当前使用的工作流程。Skara只是我们将讨论的技术话题之一,但显然,我们计划在本播客中讨论的还有很多。
Skara has been investigating a more modern solution, and that is Git. In addition, Skara has also looked at potential Git hosted solution. GitHub has been selected. And finally, the Skara team has also developed additional tooling on top of Git to basically match with the workflow that are used today in the OpenJDK community. So Skara is just one of the technical topics that we will discuss, but, clearly, we have many that we plan to discuss in this podcast.
现在,我们或许应该稍微讨论一下整个Inside Java的努力,以及我们之前启动的Moved by Java倡议。
Now we should probably discuss a little bit about the whole inside Java effort, but also the Move by Java initiative that we started some times ago.
是的,绝对如此。你可能知道,Java今年迎来了25周年。五月时我们举办了一个活动庆祝其20周年,而我们希望全年都在庆祝。
Yeah. Absolutely. As you may know, Java turns 25 this year. And in May, we had an event to celebrate the 20 birthday. And we really wanna celebrate all year long.
因此我们提出了一个名为“Moved by Java”的主题,我们认为这象征着Java对世界的巨大影响以及它如何真正推动世界向前发展。我自己做了一个超级科学的调查,查看了美国财富100强公司的招聘公告,其中98家都在招聘Java开发人员。这一令人难以置信的统计数据证明了Java的普及程度。我们希望“Moved by Java”这一主题能公正地体现这一点,并计划全年围绕这一主题进行庆祝。
So we came up with a theme called Moved by Java, which we think signifies how much of an impact Java has had on the world and how it really helps move the world forward. I did my own super scientific study, and I went to the job boards of the Fortune 100, which is the 100 largest companies in The US. And 98 of them were hiring Java developers. Just an incredible statistic that's a testament to how ubiquitous Java really is. And so we hope that the moved by Java theme does it justice, and we plan on celebrating all year long with that theme.
作为其中的一部分,我们推出了inside.java,这是一个新闻聚合平台。Tevin,不如你来给大家简单介绍一下?
As part of that, we launched inside.java, which is a news aggregator. And why don't you tell us a little bit about that, Tevin?
好的。关于Inside Java。我们发现GPG团队产出了大量技术内容,但这些内容分散在多个渠道。比如邮件列表、专门的博客文章。
Yeah. So Inside Java. So we realized that the GPG team is producing a lot of technical contents, and that content is spread across multiple venues. So we are talking about the mailing list. We are talking about dedicated blog posts.
部分内容存放在Wiki页面,还有些是会议演讲的录像。这些内容非常实用,但同时也很难被找到。因此我们萌生了创建Inside Java的想法,让技术内容更易获取。我们不想复制现有内容,例如《房间状态文档》若已在OpenJDK网站上,就必须保留并持续更新在那里。
Some of that content is on Wiki pages. Also, content is just as a recording of session that was given in a conference. That content is very useful, but that content is also very hard to find. So we came up with the idea of inside Java, make it easy to find that technical content. We didn't want to replicate existing content as, for example, if, let's say, the state of the room document is on the OpenJDK site, it has to stay there and it has to evolve there too.
所以inside.java是个聚合站点,主要汇集GPG员工的技术产出。但现在我们也看到GPG工程师直接在inside.java上撰写博客。简言之,它既聚合现有内容,也承载新内容,同时提升内容可发现性。这是第一步。我们还考虑过做播客——坦白说,其实播客的构思比Inside Java更早出现。
So inside dot Java is a site that is aggregating technical content produced mostly by GPG staff. But now we also see GPG engineers blogging directly on inside dot java. To recap, inside dot java aggregate existing content, it hosts new content, and it also make it easy to locate that content. So that was the first step. We also talked about doing a podcast and to be fully transparent, we first came up with the podcast idea and then the idea of inside Java.
但话说回来,为什么做播客?虽然播客算是比较传统的媒介,但研究显示其人气正持续攀升。更重要的是,播客提供了内容生产和消费的新形式。对我们而言,协调工程师通过Zoom进行一小时主题对话(比如分享某技术的最新进展),比等待会议场合讨论要便捷得多。这远比要求对方筹备会议演讲省时省力。
But anyway, so why doing a podcast? A podcast is now in hold a quite old medium, but studies show that they are getting more and more popular. But more importantly for us, podcasts are very nice because they provide a different way of producing and consuming content. For us, it's sometimes easier to arrange a one hour chat over Zoom with one engineer working on a given topic with the idea of sharing the latest evolution on that particular topic instead of waiting a conference to talk about that topic. So it's easier to arrange that one hour chat instead of asking that person to prepare and deliver a session for a conference.
筹备会议演讲工作量巨大,还要配合会议日程发布更新,并不总是方便。相反,非正式交流近期进展则轻松许多。因此我们认为Java平台播客会非常实用,它能与书面内容、会议演讲等其他形式形成互补。
We know that preparing a conference talk is a lot of work. We are also tied to conference schedule to give some updates and so on, so it's not always that convenient. On the other hand, having an informal chat to discuss some updates, some snapshot updates is something pretty easy to do. So that's why we thought that doing a podcast on the Java platform would be very useful. And clearly, that podcast is something that complements other mediums such as written content and conference session.
当然,我们仍会继续参与线上线下会议。在本播客中,我们会讨论如Project Loam、Amber、Valhalla等新特性,这些将占大量篇幅,但现有功能也不会忽略。比如我们计划用整期探讨安全领域——过去两年Java在安全方面的进展。
And obviously, we will continue to do that too. We'll continue to participate to conference, virtual conference and physical conference when that will be possible. So in this podcast, we will discuss new features such as the one we mentioned earlier, Project Loam, Amber, Valhalla, and so on. Those new projects will get a lot of airtime, but that doesn't mean that we would not look at existing feature. For example, we plan to have an episode dedicated solely on security, what has been done in terms of security over the last two years.
还会有性能专题等。我们也打算介绍近几个版本中鲜为人知但实用的功能,这些对开发者当下就很有帮助。此外还会探讨重要但冷门的话题,例如邀请Javadoc团队成员做专题。
We'll have an episode on performance and so on. We also plan to discuss less known topics that have been added in the Java platform in the in the last few release. Those kind of things that are also quite practical and applicable today for any Java developers. We also plan to discuss topics that are important but but rarely discussed. For example, we are planning an episode with someone from the Javadocs teams.
文档至关重要。我们日夜使用Javadoc,却很少讨论其背后的故事:编写维护Java平台文档的挑战是什么?如何优化Javadoc用户体验?文档体系如何适配语言新特性?
Documentation is a big deal. We are all using Javadocs night and day, but that's the kind of topics that are rarely discussed. What are the challenge of writing and maintaining the Javadocs for the Java platform? What are we doing to improve the Javadocs user experience? How does Javadocs evolve to cope with the new Java language features?
诸如此类。总之这个播客会有丰富话题,最棒的是我们能直接邀请相关工程师深入探讨。
And so on and so on. So in a nutshell, in this podcast, we'll have a a lot to talk about. And the nice thing is that we also have access to the engineers that can discuss those topics in details.
是的。你提到这个播客的一个独特之处在于能接触到Java的构建者们。我认为这一点再怎么强调都不为过。地球上没有哪个团队比这个团队更了解Java了。而这正是《Inside Java》的核心意义——通过直接学习平台构建者的经验与智慧,让我们对Java平台有更深入的理解,成为更优秀的开发者和架构师。
Yeah. You you mentioned one of the differentiators of this podcast is access to the people who who build Java. And I don't think that could be understated. I I don't think there's a team on this planet that knows more about Java than than this team. And that's what Inside Java is really all about, to gain a deeper understanding of the Java platform and to become better developers and architects ourselves by learning directly from the experiences and wisdom of the people who are building the platform.
没错。我们会邀请许多嘉宾。此外,还可能会有特别主持人。比如让德布雷卡托博士主持一期节目不是很酷吗?谁知道呢?
Yep. We'll have many guests. In addition, we might also have special host. Wouldn't it be cool to have, for example, doctor Debrecator hosting an episode? Who knows?
以上就是《Inside Java》和我们新播客的概况。现在该解释下《Inside Java》这个名字的由来了。
So that's inside of Java and our new podcast. Now we should explain where that inside of Java name comes from.
对。Inside Java这个名字源自美国俚语'inside baseball'。这个说法最初是棒球运动中的一种战术风格,但逐渐演变为表示对某个领域的深刻理解。我们觉得这个播客就是要深入理解Java,所以这个名字非常贴切。
Yeah. The name inside Java comes from an American expression known as inside baseball. The expression inside baseball originated as a style of play and a sport of baseball, but it's evolved over time to really mean a deep understanding of a particular topic. And we felt like the point of inside Java and this podcast was to gain a deeper understanding of Java, so the name really just seemed to fit.
是的。作为一个毫无棒球背景的欧洲人,我觉得Inside Java这个名字让我们感觉能窥见Java的内部运作,接触到平台背后的团队。
Yep. And as a European without any baseball background, I can tell you that inside of Java give us the idea that we'll get to see the inner working of Java and have access to the team behind the platform.
完全正确。但这绝不意味着我们不会邀请团队之外的人参与节目。如果你想做客节目,或有任何问题反馈,请随时联系我们。访问inside.java/contact。
Exactly. But that certainly doesn't mean we won't have people on the podcast from, from outside the team as well. So if you would like to be on the show, or have questions or feedback, please just let us know. Go to inside.java forward /contact.
好的。现在该结束我们的首期节目了。我们概述了《Inside Java》和这个播客的计划目标。实际上已经有几期节目可以收听了,请务必在您常用的播客平台订阅我们。
Okay. We should now wrap up our first episode. So we gave an overview of Insider Java, an overview of the inside Java podcast, and what we plan to achieve. And in fact, we already have several episodes that you can listen to. Please make sure to subscribe to the podcast using your favorite podcast application.
就像GitHub一样,我们很看重星级评分。请记得给播客打分。同时请关注Twitter上的Java账号,并订阅《Inside Java》的RSS源。那么查德,有什么结束语吗?
And it's like GitHub. We do like stars. So please make sure to read the podcast. Also, sure to follow at Java on Twitter and to subscribe to the insight of Java RSS feed. So, Chad, any closing words?
有的。我们深感荣幸能为大家带来这个播客。对已规划的节目阵容感到非常兴奋。最近有人告诉我,Java比很长一段时间以来都更具活力。现在确实是成为Java开发者的好时机,我们都应该为身处Java社区而自豪。
Yeah. Only that we are honored and excited to bring this podcast to you. We're really excited about the lineup that we have, and somebody recently told me that Java felt more vibrant than it has in a really long time. And it really does feel like a great time to be a Java developer. And I think all of us can be proud to be in the Java community.
敬请期待更多内容,感谢收听《Inside Java》播客。谢谢,再见。
So stay tuned for more, and thanks for listening to the Inside Java Podcast. Thanks. Bye.
关于 Bayt 播客
Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。