《Effective Java》: Joshua Bloch访谈

  [color=red]原文地址[/color]:[url=http://java.dzone.com/articles/effective-java-an-interview-wi]Effective Java: An Interview with Joshua Bloch[/url]
  [color=violet]翻  译[/color]:[url=http://eastsun.iteye.com]Eastsun[/url]

  [color=orange]The most anticipated book among Java developers over the past few years has been the second edition of Effective Java by Joshua Bloch. The book was finally launched during JavaONE this year. I caught up with Josh and discussed the book, the changes in industry since the last edition and his thoughts on closures.[/color]
  在最近几年来,Java开发者最期待的技术书籍莫过于Joshua Bloch的《Effective Java》第二版了。该书在今年的JavaOne大会上正式发布。我([url=http://eastsun.iteye.com]Eastsun注[/url]:指James Sugrue)对Josh进行了采访,我们谈到了这本书,自从上一版以来业界发生的变化以及他对闭包的看法。

  [color=blue]James Sugrue: [/color][color=orange]The book was made available at JavaONE. Did you do any technical sessions to coincide with the release?[/color]
  [color=blue]James Sugrue: [/color]这本书是在JavaOne大会上发布的,你是否做了一些技术讲座以配合这个发布?
  [color=blue]Joshua Bloch: [/color][color=orange]I did two sessions. On was directly related to the book. It was called "More Effective Java." It was largely devoted to enum types (Items 30-34, 77), but also included a mnemonic for the use of bounded wildcard types (Item 28) and a guide to lazy initialization (Item 71).[/color]
  [color=blue]Joshua Bloch: [/color]我有两个讲座。一个与这本书直接相关,叫做"More Effective Java"。主要是关于枚举类型(条目 30-34, 77),以及一些关于如何使用通配符(条目 28)。还有一个关于延迟初始化的讲座。(条目 71)

  [color=blue]Sugrue:[/color] [color=orange]What changes have been added to bring to book up to date?[/color]
  [color=blue]Sugrue:[/color] 在该书的新版中有那些变化?
  [color=blue]Bloch:[/color] [color=orange]I added two chapters, one on Generics, and another on Enums and Annotations. Also I added items describing best practices for each of the new language features in Java 5 (for-each loop, autoboxing, varargs, static import). I changed the title of the Threads chapter to Concurrency and rewrote it to reflect programming in the java.util.concurrent era (where the basic abstractions are tasks and executors, rather than threads, wait and notify). There's a table on page 1 that points you to all of this material.

In addition to adding material on features that were added to the platform since the first edition of the book, I added items or modified existing ones to reflect the evolution of best practices. For example, I added an item describing the Builder pattern (Item 2), and one describing the Serialization Proxy pattern (Item 78). I went over every line of every item, and did my best to make sure they were up to date.[/color]
  [color=blue]Bloch:[/color] 我增加了两章。一章是关于泛型,另一章是关于Enum与Annotation;还增加了一些讲述Java5中新增的语言特性最佳实践的条目。我将Threads一章的标题修改为Concurrency,并且针对java.util.concurrent重写了该章。在该书的第一页有一个列表指出了这些变化。
  除了自该书第一版以来Java平台上新添的特性以外,我还增加或修改了一些条目以反映最佳实践的演化。譬如,我增加了一个讲述Builder模式的条目(条目 2)以及一个讲述Serialization Proxy模式的条目(条目 78)。我仔细检查了书里面的每一条的每一行,尽我最大的努力确保它们反映出当前最新的变化。

  [color=blue]Sugrue:[/color] [color=orange]Is it fair to consider this as a whole new book?[/color]
  [color=blue]Sugrue:[/color] 我们是否可以把它看做全新的一本书?
  [color=blue]Bloch: [/color][color=orange]No! I did my best not to change the character of the work. I hope it feels like an old friend to readers of the first edition.[/color]
  [color=blue]Bloch: [/color]不,恰恰相反。我尽量不改变这本书的整体感官,我希望第一版的读者看到该书时就像遇到了老朋友。

  [color=blue]Sugrue:[/color] [color=orange]Since the first book in 2001, what key changes have you observed in Java development?[/color]
  [color=blue]Sugrue:[/color] 自从2001年发布该书的第一版以来,你认为在Java开发领域有那些关键性的变化?
  [color=blue]Bloch:[/color] [color=orange]The biggest changes are the rise of modern IDEs, such as Eclipse, IntelliJ, and NetBeans, and static analysis tools, such as FindBugs. Agile techniques, which were just making inroads in 2001, have become mainstream.[/color]
  [color=blue]Bloch:[/color] 最大的变化是现代IDE的增长,例如Eclipse、IntelliJ以及Netbeans。还有静态分析工具,如FindBugs。敏捷技术在2001年的时候才刚刚起步,而现在已经成为主流。

  [color=blue]Sugrue:[/color][color=orange] Effective Java is seen as one of the most important books for Java. Considering it's popularity, were you wary of making any changes to such a well established book?[/color]
  [color=blue]Bloch:[/color] [color=orange]Very much so. That's why I tried so hard not to change the character of the book. Of course I had to cover all of the new material, and I had to critically examine everything I said in the first edition. But I did everything in my power to make sure that nothing got hurt in the process. I hope I succeeded, but I won't know for sure until I've heard from readers of the second edition.[/color]

  [color=blue]Sugrue:[/color] [color=orange]Every developer should read this book - but some might not be able to make time. For those, if you were to promote just one message from the book what would it be?[/color]
  [color=blue]Sugrue:[/color] 每一个Java开发者都应该阅读这本书,但可能有一些人没有充裕的时间。对于这些人,你能否简单介绍一下你这本书的主旨?
  [color=blue]Bloch: [/color][color=orange]I was asked the same question the very first time I was interviewed about Effective Java, back in June 2001. This is what I replied: Always strive to write simple, clear, and correct programs. It is penny wise and pound foolish to do otherwise. Style does matter. It pays real dividends in terms of correctness, usability, robustness, and maintainability. Also, it's way more fun to write good programs than bad ones.
  I still believe every word.[/color]
  [color=blue]Bloch: [/color]我第一次被采访关于《Effective Java》的时候也被问到了这个问题,那还是2001年。这是我当时的回答:力求写简单、清晰、正确的代码,而不是其它。代码风格很重要,它能在团队中对代码的正确性、可用性、鲁棒性以及可维护性产生实际的效用。同样,写好的代码比差的代码可以带来更多的快乐。
  我依然坚信这些。

  [color=blue]Sugrue: [/color][color=orange]What is the most common fault in Java developers in your opinion?[/color]
  [color=blue]Sugrue: [/color] 你认为Java开发者普遍易犯的错误是什么?
  [color=blue]Bloch: [/color][color=orange]Like most programmers, we have a natural tendency to optimize our code even when we should know better. Our attempted optimizations don't always make the code run faster. Sometimes they just make it more complicated.[/color]
  [color=blue]Bloch: [/color] 大多数程序员都有一个自然的倾向,在开始写代码时就试图优化以提高性能。但我们这种企图并不总是有用,甚至在某些时候只会把程序复杂化。

  [color=blue]Sugrue: [/color][color=orange]The book includes hints for class and interface design. In one paragraph, can you describe a guideline for a good design?[/color]
  [color=blue]Sugrue: [/color] 这本书里有一些关于类与接口设计的建议。你能否简单的讲述一下你对于良好设计的指导准则?
  [color=blue]Bloch:[/color] [color=orange]I apologize if this sounds trite, but each class should do one thing, and do it well. There's a great litmus test: can you, in one short, clear noun phrase, describe what an instance of the class represents? If not, you should probably spend more time thinking about the design.[/color]
  [color=blue]Bloch:[/color] 我讲的东西可能没有什么新意,那就是每一个类只应该做一件事情,并且把它做好。这儿有一个很好的检验方法:你能否用一个简短的、明了的名词短语描述这个类的实例所代表的东西?如果不能,那你可能需要多花一些时间考虑一下你的设计了。

  [color=blue]Sugrue:[/color] [color=orange]Scripting on top of the JVM has become very popular over the past year or so. What do you think of it?[/color]
  [color=blue]Sugrue:[/color] 在这些年来,JVM上的动态语言变得流行起来。你是怎么看待这个现象呢?
  [color=blue]Bloch:[/color][color=orange] I'm a pragmatist. Often it's the easy way to get things done, and that makes it good. Of course you should write your scripts with all the care that you write your programs, because they'll have to be maintained in parallel with the programs.[/color]
  [color=blue]Bloch:[/color] 我是个实用主义者。使用动态语言通常使解决问题变得更加容易,这很好。当然使用动态语言也要注意一些问题,因为它们需要与其他代码共同被维护。

  [color=blue]Sugrue: [/color][color=orange]What is your opinion on the inclusion Closures in Java 7?[/color]
  [color=blue]Sugrue: [/color] 你如何看待Java7中将要引入的闭包?
  [color=blue]Bloch: [/color][color=orange]As readers of the first edition know, I value simplicity and clarity above all else. So it should come as no surprise that I don't want to see anymore major additions to the Java programming language. It's already as complex as a language should be. If Java programmers want to use features that aren't present in the language, I think they're probably best off using another langauge that targets the JVM, such a Scala and Groovy.[/color]
  [color=blue]Bloch: [/color]正如该书第一版读者所了解的那样,我一直将简洁与清晰放到首要位置。因此我不希望看到Java在语言上有太大的变化,Java语言现在已经很好,不应该变得更加复杂。如果Java程序员想使用那些Java语言里面所不具有的特性,我认为他们最好是去使用JVM上的其他语言,譬如[url=http://www.scala-lang.org/]Scala[/url]与Groovy。([url=http://eastsun.iteye.com]Eastsun注[/url]:在[url=http://www.infoq.com/interviews/joshua-bloch]另一个访谈[/url]中Bloch提到他也很喜欢闭包,但是他认为当前流行的那些闭包提议过于复杂,会破坏Java语言的简洁性。事实上,他支持在Java中采用Bob Lee, Doug Lea,Josh Bloch三人所提出的[url=http://docs.google.com/View?docid=k73_1ggr36h]CICE[/url]方式;但Java之父Gosling则希望采用另一个更加彻底同时也更加复杂的实现方式:[url=http://www.javac.info/]BGGA[/url])

  [color=blue]Sugrue:[/color] [color=orange]To Java developers your book is seen as a bible. Can you recommend any other books to sit alongside yours on the developer's bookshelf?[/color]

  [color=blue]Bloch:[/color] [color=orange]Sure. For concurrency, I recommend Java Concurrency in Practice by Goetz, Peierls, et al. For bit twiddling, go with Hacker's Delight, by Henry S. Warren. A couple of classics that only improve with age are Frederic P. Brooks's The Mythical Man Month, and Jon Bentley's Programming Pearls. And every programmer should read Strunk and White's The Elements of Style. Not only will it make you a better writer (which is an important part of being a software engineer) but it will make you a better programmer. Programming and writing have a lot in common: both are about expressing yourself clearly and concisely. [/color]
PCL 从LAS文件中获取点云的颜色【2026最新版】 PCL从LAS文件中获取点云的RGB信息(pcl::PointXYZRGB)并进行可视化。博客长期更新,本文最新更新时间为:2026年5月4日。 阅读详情

相关推荐

SPAD单光子雪崩二极管:从基础原理到前沿应用

本文深入解析SPAD单光子雪崩二极管的基础原理、硬件实现关键及核心性能参数,并探讨其在激光雷达、量子通信和生物医学成像等前沿领域的创新应用。SPAD凭借超高灵敏度和精确的时间分辨率,正在推动自动驾驶、量子技术和医学诊断等领域的革命性发展。

weixin_30335575的博客 664

Joshua Bloch离开Google了,Dart前景堪忧

Joshua Bloch,Java界的传奇人物,如果你没有听过他的名字,也肯定看过他的书(Effective Java,Java Concurrency in Practice, Java Puzzlers)。他在哥伦比亚大学和卡内基梅隆大学分别获得计算机本科和博士学位。先是在Sun公司工作,2004年去了Google,是Google的Chief Java Architect。他主持了无数Ja

广告业的程序员 8730

MediaCodec视频解码流程详解及参考demo

本文主要讲解mediacodec的视频解码流程,及demo参考例子。

分享音视频技术 7877

【Java Interface(接口) 是常量存放的最佳地点吗?(不是)】

Java Interface是常量存放的最佳地点吗?(不是)Java Interface(接口) 是常量存放的最佳地点吗?(不是) Java Interface(接口) 是常量存放的最佳地点吗?(不是) According to Joshua Bloch, author of “Effective Java”: The constant interface pattern is a poor use of interfaces. That a class uses some constants intern

weixin_45374553的博客 279

FPGA实战:手把手教你配置4个Aurora 8B/10B IP核共享时钟(附完整工程文件)

本文详细介绍了在Xilinx FPGA上配置四个Aurora 8B/10B IP核并实现时钟共享的实战指南。从工程规划、IP核基础配置到共享逻辑的实现,再到多核时钟域与复位架构的设计,以及时序约束与调试技巧,提供了完整的解决方案和可复用的工程文件。特别强调了GT参考时钟的共享和复位信号的处理,帮助工程师高效解决多通道高速串行通信的设计挑战。

weixin_30879169的博客 416

避坑指南:OpenWebUI+SearXNG联网搜索的5个常见配置错误及解决方法

本文详细解析了OpenWebUI与SearXNG整合过程中常见的5个配置错误及解决方案,包括JSON格式配置陷阱、国内搜索引擎缺失、连续搜索失效等问题。通过实战验证的优化策略,帮助开发者避免性能下降和功能异常,提升大模型与搜索引擎的协同效率。

jenkins8butler的博客 824

Joshua Bloch使用的“失败原子性”是什么?它对不可变对象有何好处?

Bloch的“失败原子性”意味着,如果方法抛出异常,则该对象之后仍应可用。通常,对象应与调用该方法之前处于相同状态。 对于不可变对象,可以简单地从它是不可变的事实中获得收益。没有可以更改对象状态的操作。对象的所有方法都可以创建从原始对象派生的新对象。 例如,String具有substring(int)方法。它不会更改原始字符串中的任何内容-它会创建一个新对象,其内容是所需原始字符串部分的副本。如果抛出异常,那么您将不会获得新对象-但原始String从未更改。 substring()中没有修改原始String

JavaEdge全是干货的技术号 1491

嵌入式开发:用状态机实现STM32按键消抖,告别阻塞延时

在嵌入式系统开发中,处理异步事件和实时响应是核心挑战。状态机作为一种强大的编程模型,通过定义有限的状态、事件和状态转换规则,将复杂的、非线性的控制逻辑转化为清晰、确定且易于维护的代码结构。其技术价值在于实现逻辑的模块化、异步化和非阻塞化,能显著提升代码的可读性、可扩展性和系统实时性。这一思想广泛应用于协议解析、用户界面交互、传感器数据处理等场景。本文以嵌入式开发中基础的按键处理为例,针对传统“延时消抖”方法会阻塞主循环、影响实时性的痛点,深入讲解如何运用状态机思维重构按键消抖逻辑。通过分析状态机的核心三要素

weixin_33377602的博客 341

Sonar代码规则之TOP30详解

构造函数不应用于实例化"String", “BigInteger”, "BigDecimal"和原始包装类。如果boolean表达式的值是已定的,那么boolean表达式是没有必要的可以移除。a、父类方法是static的而子类方法不是static的。b、子类方法的参数或返回值与父类方法不是同一个包。重写的和实现在方法要加Override标注。以父类方法名字命名的子类方法应该被覆盖。可合并的“if”语句应该合并。未使用的方法参数应该被移除。没用的私有方法应该被移除。无用的私有属性应该被移除。

蓝天⊙白云的博客 7749

51单片机最强模块化封装(3)

本篇文章将带大家继续封装我们的代码。这里我们会封装数码管的操作函数。我们又封装了一个模块啦,不知道现在大家有没有感受到模块化的强大呢。B站。

m0_49476241的博客 4062

基于STM32L4XX、HAL库的E180-ZG120B ZigBee模块驱动程序设计

/ 频率: 470MHz, SF7, BW125kHz, CR4/5, 功率14dBm。// 检查是否收到完整响应(根据实际情况调整)// 每5秒发送一次。PB0 <---> AUX (可选,用于状态检测)// 实际发送命令可能需要根据模块AT指令集调整。PC13 <---> RESET (可选)// 处理接收到的数据。// 缓冲区满,从头开始。// 其他必要的HAL库初始化代码...// 初始化E180模块。// 启动UART接收。// 如果需要等待响应。// 配置LoRa参数。

zhusl6688的博客 381

约书亚·布洛赫(Joshua Bloch):Bumper-Sticker API设计

我的会议如何设计一个好的API及其重要性一直吸引着很多人。 去年,InfoQ上的观看次数排名第三。 当我在OOPSLA 2006上以受邀演讲的形式介绍本次会议时,有机会为会议记录撰写摘要。 我决定代替普通的摘要,尝试一些不寻常的事情:我以乔恩·本特利(Jon Bentley)的经典《 保险杠-贴纸》计算机科学 ( Bumper-Sticker Computer Science)优秀著作中的第6...

cunfu6353的博客 432

基于FPGA的7x7矩阵求逆verilog开发

up目录一、理论基础二、核心程序三、测试结果 矩阵求逆,即求矩阵的逆矩阵。矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷。逆矩阵又是矩阵理论的很重要的内容,逆矩阵的求法自然也就成为线性代数研究的主要内容之一。设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。其中,E为单位矩阵。典型的矩阵求逆方法有:利用定义求逆矩阵、初等变换法、伴随阵法、恒等变形法等。 逆矩阵的求法有多种,其中重要

FPGA/MATLAB学习教程/源码/项目合作开发 3898

Effective Java 的作者Joshua Bloch 跳槽到Google了

新闻链接在这里 。google真是网罗天下英才啊。当年微软迅速发展时也是这样干的,招收了大量高手。比如从DEC挖走VMS设计人David Cutler, 从CMU挖走Mach设计人rich Rashid(于是CMU和IBM的MACH操作系统夭折了),从HP挖走在分布计算方面的大牛Tim Gray( Tim Gray的经典Transaction Processing Concepts and Tec

负暄琐话 4484

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Joshua Bloch

早在1996年,适逢Java刚刚崭露头角,年内好事连连。先是1月份发布JDK 1.0,然后是5月底在旧金山召开首届JavaOne大会,年末又是JDK 1.1紧跟其后。正是在Java技术如火如荼、大展拳脚的背景之下,Joshua Bloch来到了Sun,开始了他带领Java社区步入“迦南美地”的漫长历程。      很快,他被从安全组调入核心平台组,从事底层API设计。至此以后,每逢JDK的重大版

zxiaoy的专栏 793

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《Effective Java》:Java编程圣经,Bloch大师亲授高效优雅编程之道!

《Effective Java》:Java编程圣经,Bloch大师亲授高效优雅编程之道!

商务合作欢迎私信我 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《Effective Java(第2版)》-Joshua Bloch等

第2章 创建和销毁对象 第1条:考虑用工厂方法替代构造器 第2条:遇到多个构造器参数时要考虑用构建器 第3条:用私有构造器或者枚举类型强化Singleton属性 第4条:通过私有构造器强化不可实例化的能力 第5条:避免创建不必要的对象 第6条:消除过期对象引用 第7条:避免使用终结方法 第3章 对于所有对象都通用的方法 第8条:覆盖equals时请遵守通用约定 第9条:覆...

六月二十七的博客 478

Joshua Bloch的Effecitive Java 有2nd Edition了

好久没有跟踪Java方面的书籍了; 昨晚偶然查一本书,到了 http://safari.awprofessional.com , 发现Joshua Bloch的Effecitive Java 有2nd Edition了。 http://safari.awprofessional.com/9780137150021 。     不知道中文版已经有人在翻译了没有。 多年以前一位好友送了我第一版的...

两仪斋主人 170

Effective Java 总结

本专栏文章为《Effective Java》一书内容的总结提炼。该书总结了优秀Java程序员必备的78条经验总结,这些经验总结针对Java程序员每天都会遇到的编程问题提出了最有效、最实用的解决方案。每条经验总结都详细阐明了应该怎么做,不应该怎么做,以及这样做的原因。 同《Java编程思想》一样,本书也是Java编程的必读书目之一,熟练掌握书中的各条经验总结,必将大幅...

Fighting_初心的博客 2797

Josh Bloch

Josh Bloch  编辑 Java 集合框架创办人,Joshua Bloch 领导了很多 Java 平台特性的设计和实现,包括 JDK 5.0 语言增强以及屡获殊荣的 Java 集合框架。2004年6月他离开了SUN公司并成为 Google 的首席 Java 架构师。此外他还因为《Effective Java》一书获得著名的 Jolt 大奖。[1]  外文

evilcry2012的专栏 1238

《Effective Java》如果说我需要一本Java编程的书,那就是它了

前Google首席Java架构师、Java集合框架创办人、卡内基梅隆大学(CMU)软件研究所的兼职教授——Joshua Bloch!如果你还不太了解这位美国著名程序员,让我们一同探索他的编程人生,领悟他的编程智慧……1961年8月28日,Joshua Bloch出生在美国纽约长岛萨福尔克县。这一年,是程序设计语言COBOL问世之际,也是麻省理工学院设计的第一台分系统计算机完成之际。1973年,长岛有一台DEC system-10电脑,供萨福尔克县内所有的学校使用,佛罗里达州纳苏县也有一台。

2401_87034272的博客 937

Effective Java笔记:为后代设计接口

方法的新增行为在实现类中是"隐形的",它可能会在实现类中引入行为变化,而开发或维护人员不一定意识到这些变化。例如,新增的方法可能需要特定的上下文或数据,而某些实现类可能没有这些条件。如果需要在现有接口上扩展新功能,而这个功能对现有实现类的意义不强,可以选择创建一个新接口,并用它补充现有接口。如果需要为接口提供某些通用功能,可以设计一个抽象类来实现接口,同时为需要默认行为的子类提供基本实现。接口应该是一个明确的"契约",只是声明 “对象必须支持的方法”,具体如何实现则由实现类负责。的使用提出了重要的建议。

eclipseC的博客 802

Effective Java Second Edition中文版已出版

http://yulimin.javaeye.com/blog/340464 我自己今天才刚见到书:) 译者序   Java从诞生到日趋完善,经过了不断的发展壮大,目前全世界拥有了成千上万的Java开发人员。如何编写出更清晰、更正确、更健壮且更易于重用的代码,是大家所追求的目标之一。作为经典Jolt获奖作品的新版书,它已经进行了彻底的更新,涵盖了自第1版之后所引入的Java SE 5和Ja

简单就是美! 2479

Effective Java读书笔记一

最近开始读Joshua Bloch的Effective Java的第二版,打算花一些时间把它看完。记得上一次读它的第一版还是在大学的时候,转眼间已经是4年之久了。上次因为各种原因并没有把第一版看完,所以这次一定要好好的读一下它的第二版。废话少说,今天看了它的第二章:Creating and Destroying Objects(第一章是介绍),这一章包含了7个条目:一、使用static factory methods(静态工厂方法)代替构造函数static factory methods和Factory M

netHibernate的专栏 2366

好消息!Effective Java 2nd Edition 将在今年的6月29日出版

Effective Java(TM) Programming Language Guide (2nd Edition) (The Java Series) (Paperback) by Joshua Bloch (Author) Paperback: 256 pages Publisher: Prentice Hall PTR; 2 edition (June 29, 2

溺水的鱼 - Later equals never. 1078

Effective Java 第三版资源下载

Effective Java 第三版资源下载 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到Effective Java第三版的资源下载页面!这里提供的是《Effective Java》最新第三版的电子书资源,该书由知名Java技术专家Joshua Bloch撰写,是Java程序员学习和提高编程技能的必备之作。 资源描述 《Effective Java》第三版于2017...

gitblog_06716的博客 633
上一篇: 金庸小说另类标题
下一篇: Java:进化的尽头
JavaSxy
博客等级 码龄21年 1粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值