当前位置: 首页 > 后端技术 > Java

ApacheCNJava翻译合集20211012更新

时间:2023-04-01 20:43:13 Java

EffectiveJava中文第三版1.考虑使用静态工厂方法代替构造函数2.构造函数参数过多时使用构建器模式3.使用私有构造函数或枚举类实现Singleton属性4.使用私有构造函数进行非实例化5.依赖注入优于硬连线资源(hardwiringresources)6.避免创建不必要的对象7.消除过期对象引用8.避免使用Finalizer和Cleaner机制9.使用try-with-resources语句替换了try-finally语句10.重写equals方法时遵循一般约定11.重写equals方法时,也重写hashcode方法12.始终重写toString方法13.重写clone方法仔细14.考虑实现Comparable接口15.最小化类和成员的可访问性16.在公共类中使用访问器方法而不是公共属性17.最小化可变性18.组合优于继承19.要么设计继承并提供文档,要么禁用继承20.抽象类之上的接口21.为后代设计接口22.接口仅用于定义类型23.标签类之上的类层次结构24.支持使用静态成员类而不是非静态类25.将源文件限制为单个顶级-级别类26.不要使用原始类型27.消除未检查的警告28.优先使用列表而不是数组29.优先使用泛型30.优先使用泛型方法31.使用限定的通配符以增加API的灵活性32.合理结合泛型和可变参数33.优先考虑类型安全的异构容器34。使用枚举类型而不是整数常量35。使用实例属性而不是ordinals36。使用EnumSets而不是位属性37。使用EnumMap而不是序号索引38。使用接口来模拟可扩展枚举39.命名模式上的注释40.始终使用覆盖注释41.使用标记接口来定义类型42.Lambda表达式而不是匿名类43.方法引用而不是lambda表达式44.更喜欢使用标准功能接口45.明智地使用Stream46。优先考虑streams47中没有副作用的函数。首选Collection而不是Stream作为方法返回类型48。谨慎使用流并行性49。检查参数是否有效50.必要时制作防御副本51.谨慎设计方法签名52.明智地使用重载53.明智地使用可变参数54.返回空数组或集合,不要返回null55.明智地返回可选56.为所有公开的API元素编写文档注释57.最小化局部变量的范围58.For-each循环优于传统的for循环59.了解和使用库60.如果需要精确答案,请避免使用float和double类型61.原始数据包装类上的类型62.当其他类型更合适时避免使用字符串63.当心字符串连接引起的性能问题64.通过接口引用对象65.反射上的接口66.明智和谨慎的本地方法67.明智地优化68。遵循广泛接受的命名约定69。仅对特殊情况使用例外70。对可恢复的情况使用检查异常,对编程错误使用运行时异常71。避免不必要地使用已检查的异常72.首选标准异常73.抛出与抽象相对应的异常74.方法抛出的每个异常都需要创建文档75.在详细消息中包含故障捕获信息76。保持失败的原子性77.不要忽略异常78.同步对共享可变数据的访问79.避免过度同步80.优先执行器、任务和流而不是线程81.并发工具优于等待和通知82.文档应包括线程安全属性83.明智地使用惰性初始化84.不要依赖线程调度程序85.首选Java序列化替代方案86.非常小心地实现Serializable87.考虑使用自定义序列化形式88.保护性地编写readObject方法89.例如控件,枚举类型优于readResolve90。考虑使用序列化代理而不是序列化实例1.4方案的重用1.5继承:重用接口1.6多态对象的可互换使用1.7对象创建和生命周期1.8异常控制:解决错误1.9多线程1.10持久性1.11Java和互联网1.12分析和设计1.13JavaStillC++Chapter2一切皆对象2.1用引用操作对象2.2所有对象都必须必须创建2.3永不清除对象2.4新数据类型:类2.5方法、参数和返回值2.6构建Java程序2.7我们的第一个Java程序2.8注释和嵌入式文档2.9编码风格2.10总结2.11练习第3章控制程序流程3.1使用Java运算符3.2执行控制3.3总结3.4习题第四章初始化和清理4.1使用构造函数自动初始化4.2方法重载4.3清理:结语和垃圾收集4.4成员初始化4.5数组初始化4.6总结4.7练习第五章隐藏实现过程5.1包:库单元5.2Java访问指示符5.3接口与实现5.4类访问5.5总结5.6习题第六章类重用6.1组合语法6.2继承语法6.3组合与继承的组合6.4选择组合或继承6.5受保护6.6累积开发6.7向上转型6.8final关键字6.9初始化与类加载6.10小结6.11实践篇第七章多态性7.1向上转型7.2深入理解7.3重写与重载7.4抽象类与方法7.5接口7.6内部类7.7构造函数与多态性7.8通过继承进行设计7.9小结7.10习题第八章对象的包含8.1数组8.2集合8.3枚举器(迭代器)8.4集合类型8.5排序8.6通用集合库8.7新集合8.8总结8.9练习9异常错误控制9.1基本异常9.2异常捕获9.3标准Java异常9.4创建你自己的异常9.5异常限制9.6清除withfinally9.7构造函数9.8异常匹配9.9总结9.10实践篇第十章JavaIO系统10.1输入输出10.2添加属性和有用的接口10.3缺陷:RandomAccessFile10.4文件类10.5IO流的典型应用10.6StreamTokenizer10.7Java1.1IO流10.8压缩10.9对象序列化10.10小结10.11练习第11章运行时类型识别11.1对于RTTI11.2RTTI语法11.3反思:运行时类信息11.4小结11.5练习第12章传递和返回对象12.1传递引用12.2制作本地副本12.3克隆控制12.4只读类12.5小结12.6习题第13章创造构建窗口和程序13.1为什么使用AWT?13.2基本程序13.3制作按钮13.4捕获事件13.5文本字段13.6文本区域13.7标签13.8复选框13.9单选按钮13.10下拉列表13.11列表框13.12布局控件13.13动作选择13.14程序的限制13.15.WindowAWT13.16新的应用程序13.15.Windowed13用户界面API13.18可视化编程和Bean13.19Swing入门(注⑦)13.20总结13.21习题第14章多线程14.1响应式用户界面14.2共享有限资源14.3阻塞14.4优先级14.5审查runnable14.6总结14.7练习第15章网络编程15.10机器识别15.1练习15.2套接字15.3为多个客户端提供服务15.4数据报15.5一个Web应用程序15.6Java和CGI??之间的通信15.7使用JDBC连接到数据库15.8远程方法15.9总结第16章设计模式16.1模式的概念16.2观察者模式16.3模拟垃圾回收站16.4改进设计16.5抽象应用16.6多重分布16.7访问器模式16.8RTTI真的有害吗16.9总结16.10练习第17章项目17.1文字处理17.2方法查找器17.3复杂性理论17.4总结17.5练习附录A使用非JAVA代码附录B比较C++和Java附录CJavaProgrammingRulesAppendixDPerformanceAppendixESomeWordsAboutGarbageCollectionAppendixF推荐阅读Java8ABriefTutorialJava8AConciseTutorialJava8DataflowTutorialJava8NashornTutorialJava8ConcurrencyTutorial:ThreadsandExecutorsJava8ConcurrencyTutorial:SynchronizationandExecutors锁Java8并发教程:原子变量和ConcurrentMapJava8API示例:字符串、数字、算术和文件在Java8中避免空检查使用IntellijIDEA解决Java8中的数据流问题在Nashron中使用Backbone.jsJava设计模式最佳实践零,前言一,从面向对象到函数式编程二,创建模式三,行为模式四,结构模式五,功能模式六,开始响应式七,响应式设计模式八,应用架构发展趋势九、Java最佳实践Java编程问题零、前言一、字符串、数字与数学二、对象、不变性和开关表达式三、使用日期和时间四、类型推断五、数组、集合与数据结构六、JavaI/O路径、文件、缓冲区、扫描和格式化7.Java反射类、接口、构造函数、方法和字段8.函数式编程-基础与设计模式9.函数式编程-深入研究10.并发-线程池、Callable对象与同步器11.并发深入探索12.可选13.HTTPClient与WebSocketAPIJava项目百科0.前言1.Java11简介2.第一个真正的Java程序-SortNames3.优化排序代码4.Mastermind-创建游戏5.扩展游戏-并行运行,运行更快6.专业化我们的游戏-使其成为Web应用程序7.使用REST应用程序构建业务Web8.扩展我们的电子商务应用程序9.使用反应式编程构建一个会计应用程序第2节:Java的构建块IV,异常处理V,字符串,输入/输出和文件VI,数据结构,泛型和流行工具VII,Java标准和外部库VIII,多线程和并发处理IX,JVM架构和垃圾收集十、管理数据库中的数据十一、网络编程十二、JavaGUI编程第三部分:高级Java十三、函数式编程十四、Java标准流程十五、响应式编程十六、微服务十七、JavaMicro-BaselineHarness十八、最佳编写高质量代码的实践十九、Java新特性二十、答案精通Java11零、前言一、Java11环境二、探索Java11三、Java11基础四、用Java115构建模块化应用。将应用程序迁移到Java116。试试JavaShell7。使用默认的G1垃圾收集器8。JMH的微基准应用9。使用流程API10。细粒度堆栈跟踪11。新工具和工具增强12.并发增强13.安全增强14.命令行标志15.Java平台的其他增强16.未来的发展方向17.为Java平台做贡献18.Java答案自动化测试初学者实用指南0.前言1.Java编程第一步2.理解Java中的类、对象及其用法3.InJava处理字符串及其函数4.Java程序——循环和条件的构建块5.关于接口和继承你需要知道的一切6.知道关于数组的一切7.理解Java11中的日期类和构造函数8.super和this的重要性Java9中的关键字和异常了解集合框架10.final关键字、包和修饰符的重要性提高生产力和加速应用程序的工具3.多线程和反应式编程4.微服务5.使用新API改进代码6.测验答案频道-类和接口3.模块化编程4.函数式风格5.流和管道6.数据库编程7.并发和多线程编程8.更好地管理操作系统进程9.使用springboot的RestfulWeb服务10.网络11.内存管理和调试12.使用JShell的读取、评估和打印循环(REPL)13.使用新的日期和时间API14.测试15.Java10和Java11的新编程方法16.将JavaFX用于GUI编程精通JUnit5软件测试零、前言1、软件质量和Java测试回顾2、JUnit5的新特性3、JUnit5标准测试4、使用高级JUnit特性简化测试5、JUnit5与外部框架的集成6、从需求到测试用例七、测试管理Java测试驱动开发零,前言一,我为什么要关心测试驱动开发?2.工具、框架和环境3.红绿重构——从失败到成功,直至完美4.单元测试——关注你做了什么,而不是你做了什么5.设计——如果不可测试,那就是设计不佳6.Mock-移除外部依赖7.TDD和函数式编程-完美匹配8.BDD-与整个团队合作9.重构遗留代码-让它再次年轻10.功能切换-将部分完成的功能部署到生产环境11.将它们放在一起12.通过实施持续交付来利用TDDJava云原生应用程序0.前言1.云原生简介2.编写第一个云原生应用程序3.设计您的云原生应用程序4.扩展云原生应用5.测试云原生应用6.云原生应用部署7.云原生应用运行时8.平台部署-AWS9.平台部署-Azure10.SetBecomeaService十一、API设计最佳实践十二、数字化完全指南TransformationJava代码面试零,前言第1节:面试的非技术部分1,从哪里开始以及如何准备面试2.什么是大公司的面试3.常见的非技术问题和答案4.如何应对失败5.如何应对编码挑战第二部分:概念6,面向对象编程7,BigO算法分析8.递归和动态编程9.位运算第3节:算法和数据结构10.数组和字符串11.链表和映射12.栈和队列13.树和图14.排序15、数学与谜题第4节:奖励——并发与函数式编程16、并发17、函数式编程18、单元测试19、系统可扩展性Java基础0、前言1、Java简介2、变量、数据类型与运算符3.控制流4.面向对象编程5.深入OOP6.数据结构、数组和字符串7.Java集合框架和泛型8.Java高级数据结构9.异常处理十、附录JavaFX基础零、前言一、JavaFX8简介二、JavaFX8基础知识和创建自定义UI三、开发JavaFX桌面和Web应用程序四、为Android开发JavaFX应用程序五、为iOS开发JavaFX应用程序六、在RaspberryPi上运行JavaFX应用程序七、使用JavaFX监控Arduino8.使用JavaFX交互式LeapMotion应用程序9.成为JavaFX高手Java编程介绍0.前言1.计算机上的Java虚拟机(JVM)2.Java语言基础3、你的开发环境搭建4.你的第一个JavaProject5.Java语言元素和类型6.接口、类和对象构造7.包和可访问性(可见性)8.面向对象设计(OOD)原则九、运算符、表达式和语句十、控制流语句十一、JVM进程和垃圾收集十二、Java标准和外部库十三、Java集合十四、托管集合和数组十五、托管对象、字符串、时间和随机数16、数据库编程17、Lambda表达式和函数式编程18、流和管道16、ReactiveSystemJava7并发秘籍0、前言1、线程管理2、线程基础同步3、线程同步工具4、线程执行器5、Fork/JoinFramework6、并发7、自定义并发类8、测试并发应用Java9和JShell0、序言1、JShell-Java9Read-Evaluate-PrintCycle2、通过Java9JShell将现实世界的对象转换为UML图3、类和实例4、数据封装5、变量和不可变类6、继承、抽象、扩展和专精7.成员继承与多态8.使用接口的契约编程9.使用接口的高级契约编程10.使用泛型最大化代码重用11.高级多态12.面向对象和函数式编程以及Lambda表达式十三、Java9中的模块化十四、练习答案Java初学者编程0,前言1,Java入门2,理解类型化变量3,分支4,数据结构5,函数6,Java面向对象建模七,更多Java面向对象八,有用的Java类九,文件输入和输出十、基础图形用户界面开发十一、XML精通Java8并发编程零、前言一、第一步——并发设计原则2.管理大量线程——执行器3.最大化利用执行器4.从中获取数据tasks-Runnable接口和Future接口4.分阶段运行任务-phaser类6.优化分而治之方案——Fork/Join框架7.用并行流处理海量数据集——映射和归约模型8.处理海量数据集withparallelstreams——映射和收集模型9.深入学习并发数据结构和同步工具10.Fragments集成和替代实现十一、测试和监控并发应用Java7新特性秘籍零、前言一、Java语言改进二、使用路径定位文件和目录三、获取文件和目录信息四、管理文件和目录五、管理文件系统六、Java7中的流IO七、图形用户界面改进八、事件处理九、数据库、安全和系统增强10.并发处理11.杂项Java9编程蓝图0.前言1.介绍2.使用Java管理进程3、清理重复文件4、日期计算器5、Sunago-社交媒体聚合器6、Sunago-Android终端7、使用邮件过滤器管理电子邮件和垃圾邮件8,使用PhotoBeans管理照片910.使用Monumentum做笔记10.无服务器Java11.DeskDroid——Android手机的桌面客户端12.下一步是什么?JavaSE7编程学习指南0,前言1,Java简介2,Java数据类型及其使用3,决策结构4,数组和集合的使用5,循环结构6,类,构造函数和方法7,继承与多态81.处理应用程序中的异常9.Java应用程序10.测验你的知识——答案JavaLambda学习指南0,前言1,简介2,Lambda简介3,深入Lambda4,字节码Java网络编程学习指南0,前言1。网络编程入门2.网络寻址3.NIO对网络的支持4.Client/server开发五、对等网络六、UDP和组播七、网络可扩展性八、网络安全九、网络互操作性Java8反应式编程学习指南零、前言一、反应式编程简介二、函数使用Java8结构三、创建并连接可观察对象、观察者和主题4.转换、过滤和积累您的数据5.组合器、条件和错误处理6.使用调度程序获得并发性和并行性7.测试RxJava应用程序8、资源管理和RxJava扩展下载Dockerdockerpullapachecn0/apachecn-java-zhdockerrun-tid-p:80apachecn0/apachecn-java-zh#访问http://localhost:{port}PYPIpipinstallapachecn-java-zhapachecn-java-zh#访问http://localhost:{port}npmnpminstall-gapachecn-java-zhapachecn-java-zh#访问http://localhost:{port}投稿指南本项目需要校对,欢迎大家提交PullRequest,请勇敢翻译并改进翻译。虽然我们追求卓越,但我们并不期望您是完美的,所以请不要担心翻译出错——在大多数情况下,我们的服务器已经记录了所有翻译,因此您不必担心被翻译错误为你的错误而受到惩罚。到无法弥补的损害。(改编自维基百科)组织介绍请访问我们的主页。通过平台自带的打赏功能赞助我们,或者点击这里。