`
TonyLian
  • 浏览: 402116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【第30条】了解和使用库

阅读更多

    Java语言的丰富多彩,很大程度上是体现在丰富的类库上的。加之其开源,不计其数的各种第三方包就更不胜枚举。面对这些前人的财富,我们没有理由“装看不见”,而一定是要为我所用的。

 

    第三方包姑且不论,只说JDK中的类库,我们应该掌握。只是到知道都有哪些功能的地步,用的时候可以再细查文档。最怕那些“乃不知有汉”的程序员。

 

    还有一种程序员并非“乃不知有汉”型,而是无视既有的类库,属于“科研”型。其实,通过使用标准类库,你可以充分利用这些编写标准类库的专家的知识,以及在你之前其他人的使用经验。所以,不必浪费时间为那些与你工作关系不大的问题提供特别的解决方案,你应该把时间花在你的应用上,而不是底层的细节上。

 

    举一个反例,一个项目中,BOSS在白板上给几个主要技术人员讲解他昨晚苦思冥想后得出的外部排序算法,并要求他们实现。参会的还有一位同行评审专家,以及我以QA身份参加。技术人员们马上就几处细节问题向BOSS发问并讨论起来。这时我以QA的身份建议项目组停止这些违背验证过的、不知正确与否的、效率未知的、实现难度未知的“研发”,因为“外部排序”算法“自古有之”,教科书上、互联网上算法甚至源码都有,拿来使用即可。最后,在同行专家的支持下终于说服了BOSS。几个技术人员还因而请我吃了冰棍儿(要不他们几个可就惨了)

 

    书上本条中有一个随即数函数的例子。另外作者还建议大家在庞大的标准库中,至少应该熟悉java.lang和java.util,还有一些java.io的内容。

 

 

 

【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208

 

分享到:
评论

相关推荐

    C++轻量级桌面GUI库FLTK的简单使用的代码demo

    在本文中,我们将深入探讨如何使用C++中的轻量级桌面图形用户界面(GUI)库——FLTK(Fast Light Tool Kit)。FLTK以其简洁、高效和跨平台的特性,成为许多开发者快速创建GUI应用程序的首选工具。让我们通过一个简单...

    兆易创新单片机MCU,GD32F30x国产替换ST,GD32F30x固件库

    5. **版本控制**:"V2.1.2"表示这是固件库的第2个大版本,第1个小版本,第2次修订。随着MCU的更新和错误修复,固件库也会定期发布新版本,确保开发者能获取到最新的功能和性能优化。 使用兆易创新的GD32F30x固件库...

    c开发库cJSON库

    在C语言环境下,虽然原生不支持JSON,但有很多第三方库提供了对JSON的支持,其中cJSON库是一个广泛使用的轻量级选项。 cJSON库是由Dave Gamble开发的一个开源项目,其设计目标是提供一个简单、小巧且高效的C语言...

    微软企业库5.0学习之路

    ### 微软企业库5.0学习之路 #### 第一步:基本入门 企业库是由微软提供的一...通过以上十个步骤的学习,开发者不仅可以掌握企业库5.0的核心功能,还能深入了解如何将其应用于实际项目中,以提高开发效率和软件质量。

    C++11/14高级编程 Boost程序库探秘 中文版 第三版 高清完整

    《C++11/14高级编程 Boost程序库探秘 中文版 第三版》是罗剑锋先生的力作,由清华大学出版社出版。这本书详细介绍了C++11和C++14标准的新特性和Boost程序库的深度应用,旨在帮助广大的C++程序员和爱好者提升技能,更...

    SLAM十四讲CH7第三方包(库)

    SLAM(Simultaneous Localization and Mapping,同时定位与建图)是机器人领域中的关键...通过阅读《SLAM十四讲》的第七章并动手实践,我们可以深入了解这些库的工作原理和使用技巧,进一步提升在SLAM领域的专业能力。

    Java面试小抄第一版 By 库森.pdf

    在《Java面试小抄第一版》中,作者库森详细整理了一系列Java编程语言和相关技术栈的面试知识点,这些知识点覆盖了Java基础、面向对象、异常处理、数据结构、集合框架、泛型、反射、序列化等多个方面,是Java开发者...

    皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程

    SkinSE只用到了windows几个底层的核心库,没有用到(MFC/ATL等第三方库),采用 纯API编写,采用C语言导出方式,增强可移植性。 4.3.4 DotNetSkin DotNetSkin的用法和IrisSkin差不多。此外,网站提供了几个免费的很...

    Android JSON 解析库的使用

    4. **社区支持**:由于Gson是Google的产品,因此拥有更广泛的社区支持和丰富的第三方扩展。 在选择JSON解析库时,开发者需要根据项目需求和性能要求进行权衡。对于小型项目或性能要求不高的应用,Fastjson可能是更...

    altium designer 元件库2

    Altium Designer的元件库管理功能强大,用户不仅可以使用内置库,还可以创建自定义库,导入第三方库,或者共享和更新社区中的公共库。库文件通常以.schlib(原理图库)、.pcblib(PCB封装库)和.3DLIB(3D模型库)...

    《微型计算机原理》试题库及答案.pdf

    6. 三态门:了解三态门的定义和输出状态,了解高电平、低电平和高阻状态的概念。 7. ASCII 码:了解ASCII 码的定义和表示形式,了解字符“A” 和“E” 的ASCII 码。 8. 机器数表示形式:了解机器数的定义和表示...

    完整版数据仓库与数据挖掘全套课程课件 共117页.ppt

    第三讲 云计算及其影响 第四讲 物联网及其影响 第五讲 数据挖掘方法与技术 第六讲 粗糙集 第七讲 人工神经网络 第八讲 分类数据挖掘 第九讲 关联规则挖掘 第十讲 聚类模式挖掘 第十一讲 web 数据挖掘 第十二讲 数据...

    SLAM十四讲(第二版)所有第三方库库.zip

    这个压缩包文件提供了书中所涉及的一些第三方库,这些库在实现SLAM算法时扮演着至关重要的角色。 1. **Ceres Solver**:Ceres Solver是一个开源的非线性优化库,专门用于解决最小二乘问题。在SLAM中,我们需要最小...

    python标准库

    Python标准库是Python语言的一部分,它包含了各种模块和函数,这些模块和函数可以直接导入使用,无需安装第三方库。标准库的目的是为Python程序员提供一套丰富的基础工具集,以应对各种常见的编程任务,如文本处理、...

    官方GNU C函数库手册

    第三十一章列出了许多系统配置参数,如系统最大文件描述符数、最大文件大小等,对于调整系统性能和限制有一定的参考价值。 31. **DES加密与密码学(DESEncryption and Password)** 最后一章虽然只提及DES加密和...

    人脸库免费使用orl-faces.zip

    标签"免费"和"开源"进一步确认了这个资源库的开放性,使用者无需支付费用,且可以查看源代码或数据,这为学术研究和商业应用提供了便利条件,降低了进入门槛。 压缩包内的文件名称列表包括s37、s13、s30、s23、s21...

    《CAD字体字库》-目前市场上最全面的字体库

    6. 字体版权:在使用第三方字体库时,需注意字体的版权问题。部分字体可能受到版权保护,未经授权的商业使用可能会引起法律纠纷。因此,了解并遵守字体的使用许可是非常重要的。 7. 字体管理:为了便于查找和管理...

    第7章第二节自动化立体库的规划设计.pptx

    首先,自动化立体库是指通过使用多层甚至数十层高的货架系统,并配以自动化仓储设备进行货物的存取作业,从而极大程度上提升空间利用率的仓库。它由几个基本组成部分构成:包括建筑主体、货架理货区、管理区、以及一...

    arduino Time.zip

    本文将详细介绍这个库的使用和背后的原理。 首先,我们要了解的是`TimeLib.h`和`Time.h`这两个头文件。它们定义了库的主要类和函数,是整个时间库的核心。`TimeLib.h`提供了日期和时间的结构体以及各种操作时间的...

Global site tag (gtag.js) - Google Analytics