《Effective Java》学习笔记5

《Effective Java》学习心得——优雅而安全地构建Java对象 读了《Effective Java》这本书,感触良多。它刷新了我对Java语言的认识,纠正了原来的许多编程坏习惯。感叹Java的世界原来是如此丰富,内功对于一名技术人员是多么重要!本文记录本书的第2条建议——用构建器(Builder)优雅、安全地构建对象。 阅读详情
方法
23,检查参数的有效性
24,需要时使用保护性的拷贝
25,谨慎设计方法的原型
26,谨慎地使用重载
27,返回零长度的数组而不是null
28,为所有导出的API元素编写文档注释
LangFlow开源神器:拖拽构建AI Agent与MCP协议集成实战 LangFlow 15万星开源神器:拖拽搭建 AI Agent,一键部署 API / MCP / JSON 在AI应用开发领域,传统编码方式往往需要处理复杂的API调用、数据处理和流程编排,这让很多开发者望而却步。LangFlow作为GitHub上获得15万星的开源项目,通过可视化拖拽的方式彻底改变了AI Agent的开发体验。本文将完整介绍如何使用LangFlow快速构建功能强大的AI Agent,并实现API、MCP协议和JSON配置的一键部署。 1. LangFlow与AI Agent核心概念解析 1 阅读详情

相关推荐

QtWebApp的使用【在Qt中搭建HTTP服务器】(一)

用Qt和QtWebApp能够实现在C++中开发HTTP Web服务器应用程序。 首先,需要先安装Qt的软件开发工具包。点此下载 其次,下载最新的QtWebApp库。点此下载 下载并解压缩QtWebApp ZIP文件。你将会看到: 如何使用QtWebApp 1)将QtWebApp.zip文件解压到文件夹中,并创建一个名为“ MyFirstWebApp”的新Qt控制台项目。然后,建立如下文件结构: 2)将以下行添加到MyFirstWebApp项目的项目文件中: QT += network include(

饭的笔记本 2万+

《Effective Java》学习笔记——第5部分 泛型的使用

Effective Java》共有多个章节,每个章节提供了若干条建议或最佳实践,整理了对应章节关键的实践内容,用于自己后续代码开发过程中,参考对照,自查代码习惯,从而提升输出的代码质量。《Effective Java》第5部分“泛型”主要讲如何在 Java 中正确有效地使用泛型。泛型是 Java 5 引入的重要特性,它增强了类型安全性、减少了类型转换的需求,并且使得代码更加通用和灵活。但是,泛型的使用不当也可能导致程序的错误或性能问题。掌握泛型的使用技巧和最佳实践,对于提升个人代码能力非常重要。

weixin_37693760的博客 812

On the convergence of FedAvg on non-iid data

On the convergence of FedAvg on non-iid data

Lyn_S的博客 7081

Effective Java 学习笔记(5)

尽量复用对象,而不是创建新的对象,特别是当一个对象是immutable(不可改变)的时候。 如String对象, String s= new String(“String”);   千万不要这样做,因为这里实际上创建了两个对象。 要避免出现这样的情况, 1是可以用静态工厂函数,来解决,如类库中的Boolean.valueOf(“true”),这种方式要优于new Boolean(“true

沐青桦的专栏 406

SMRATS(一) SMARTS+PPO baseline运行教程

python类方法 class Agent: @classmethod def from_function() python typing 含义 为防止弱类型python出现忘记变量类型的问题,python3.5及之后版本增加了对应的类型提示。 输入和输出类型 函数接受并返回一个字符串,注释像下面这样: def greeting(name: str) -> str: return 'Hello ' + name 常用的typing类型 int,long,float: 整型,

Freshduke的博客 1414

基于Playwright和反爬虫规避技术的雪球股票讨论数据采集方案

随着量化投资和社交投资的兴起,雪球作为中国领先的投资社交平台,其用户讨论数据成为研究市场情绪的重要来源。本文将详细介绍如何使用最新的Playwright技术和反爬虫规避策略,构建一个高效、稳定的雪球股票讨论爬虫系统。本文详细介绍了基于Playwright的雪球股票讨论爬虫实现方案,涵盖了从基础配置到高级反爬虫策略的各个方面。AI驱动的反爬虫对抗更智能的请求调度算法区块链技术在数据溯源中的应用联邦学习在数据采集中的运用。

2201_76125261的博客 1009

《Effective Java》学习笔记5 Prefer dependency injection to hardwiring resources

本栏是博主根据如题教材进行Java进阶时所记的笔记,包括对原著的概括、理解,教材代码的报错和运行情况。十分建议看过原著遇到费解地方再来参考或与博主讨论。致敬作者Joshua Bloch跟以杨春花为首的译者团队,以及为我提供可参考博文的博主们。另外,本条目是《Effective Java 3rd Edition》中的新条目,此后笔记多基于新一些的第三版。 用依赖注入代替硬编码 硬编码 首先说明...

欢迎访问 花落的速度 的博客 634

黑猫带你学UFS协议第12篇:UFS标志(Flags)和属性(Atrributes)详解

UFS中的标志其实就是一些开关,布尔型,非0即1,打开或者关闭。这些标志可以用来使能或者禁止UFS设备的一些功能、模式或者状态。 简单来说,flag和attribute、discriptor一样,都是ufs的寄存器罢了。只不过spec将这些寄存器分类了,分成这三种大的类型了而已。 标志可以被清除、复位、设置、触发、读。 主机也是通过设备管理器的Query Request UPIU来读取或者写标志。

黑猫奥利奥的博客 2083

Effective Java(第三版) 学习笔记 - 第二章 创建和销毁对象 Rule5~9

Effective Java(第三版) 学习笔记 - 第二章 创建和销毁对象 Rule5~9 本文主要介绍了对象创建和销毁相关的内容

weixin_44453385的博客 295

使用Open3D进行RGB-D图像点云处理

在本文中,我们将使用Open3D来处理RGB-D图像,提取点云并进行一些基本的操作。总结起来,本文介绍了如何使用Open3D库处理RGB-D图像并提取点云。我们展示了如何读取RGB-D图像,创建RGB-D图像和点云,并显示点云。除了显示点云,Open3D还提供了许多其他功能,如点云滤波、点云配准、表面重建等。在创建RGB-D图像时,我们需要指定深度图像的缩放因子和截断值,以及是否将RGB图像转换为强度图像。希望本文能够帮助您入门Open3D,并在处理RGB-D图像和点云数据时提供一些指导。

QfcaLinux的博客 445

【人工智能论文发表】基于医学病例文本和多模态大模型的医疗影像分割方法研究

摘要:本研究提出MMS-Former,一种基于级联多模态Transformer的文本引导医学图像分割框架。该模型创新性地将临床文本信息深度融入图像分割全过程,通过SwinUNETR提取视觉特征,ClinicalBERT编码病历文本,并在解码器的每个上采样阶段通过交叉注意力模块实现多级文本特征融合。实验表明,相比纯视觉模型,MMS-Former在Dice系数和IoU指标上分别提升3%以上,在处理边界模糊目标时表现尤为突出。模型还设计了结合Dice损失和图文对比损失的复合目标函数,确保分割精度与语义对齐。代码实

u012133341的博客 141

Effective Java学习笔记之第5条 避免创建不必要的对象

第5条 避免创建不必要的对象   一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的对象。 反面例子:     String s = new String("stringette"); // DON'T DO THIS!   对于同时提供了静态工厂方法和构造器都不可变类,通常可以使用静态工厂方法而不是构造器。例如,静态工厂方法Boolean.valueOf(...

weixin_30794499的博客 90

15、基于最优传输的协作多视图聚类框架

本文提出了一种基于最优传输理论的协作多视图聚类框架,通过引入协作学习机制在不同视图间建立先验交互,以提升共识聚类的质量。框架包含两种新方法:协作共识投影方法(CoCP)和基于新表示的协作共识方法(CoCNR)。CoCP在全局空间中整合多视图信息并进行共识投影,而CoCNR则通过协作编码生成新的数据表示以实现更优聚类。方法利用熵正则化的Wasserstein距离与Wasserstein重心,有效捕捉数据分布间的几何结构,并通过聚合步骤获得统一模型。实验结果表明,所提方法在多个数据集上均优于现有方法,具有良好的

gpt4scribbler的博客 85

《Effective Java》学习笔记 - (5) 优先考虑依赖注入来引用资源

依赖注入在这里的含义就是把一个类当作参数传入到另一个类中。在这一节提到,如果是想要在一个类中使用另一个类的资源,那么最好就是使用依赖注入。

Jwasx的博客 406

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Effective Java 学习笔记第5条 --- 消除过期的对象引用

     垃圾回收器不会对“过期引用”(永远不会在被解除的引用)的对象进行回收。如:数组中的元素先增加再减少这种情况,下标大于size()的那一部分就是过期引用的对象。 解决方法:   public Object pop(){ if(size == 0){ throw new EmptyStackException(); } Obje...

schumee的博客 112

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Effective Java 第三版 中文翻译

effective-java-third-edition 介绍 Effective Java 第三版全文翻译,纯属个人业余翻译,不合理的地方,望指正,感激不尽! 目录 推荐序 前言 致谢 第一章 引言 第二章 创建和销毁对象   本章涉及创建和销毁对象,包括何时以及如何创建它们,何时以及如何避免创建它们,如何确保它们被及时销毁,以及如何管理在销毁之前必须进行的清理操作。 第1项:考虑静态工...

Coloured_Glaze的博客 3861

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Effective java 第2版 中文版 学习笔记一

Effective java 第2版 中文版 学习笔记一 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 ...

wanglei9876开发人生 345

《Effective Java》学习笔记——第7部分并发

Effective Java》第7部分“并发”介绍了如何编写高效、安全的多线程程序。随着多核处理器的普及,Java 的并发编程变得更加重要。本部分的内容涵盖了并发编程中的一些常见问题,并提供了一些最佳实践和技巧,以帮助开发编写出更加可靠且高效的并发程序。

weixin_37693760的博客 1171

《Thinking In Java》 VS 《Effective Java》 VS 《深入理解Java虚拟机》

今天刚考完试,在5天以前的前4个月时间里,我很庆幸自己选了一个看书的学习途径。从上个学期的暑假到现学期的11周里面,读了《Thinking In Java》、《深入理解Java虚拟机》和《Effective Java》,感悟颇多。首先先说明一下,我以前是看视频学习的,就做过两三个学校的网站,都已经上线在使用。没做过什么特别高大上的东西,所以我是处在新手的角度去读书的,我也知道自己的理解很浅,不

小浩子的博客 2万+

5天带你读完《Effective Java》(一)

Effective Java》是Java开发领域无可争议的经典之作,连Java之父James Gosling都说:“如果说我需要一本Java编程的书,那就是它了”。它为Java程序员提供了90个富有价值的编程准则,适合对Java开发有一定经验想要继续深入的程序员。本系列文章便是这本著作的精华浓缩,通过阅读,读者可以在5天时间内快速掌握书中要点。为了方便读者理解,笔者用通俗易懂的语言对全书做了重新阐述,避免了如翻译版本中生硬难懂的直译,同时对原作讲得不够详细的地方做了进一步解释和引证。

长三月的游戏开发 2932

《Effective Java》学习笔记——第6部分枚举和注解

Effective Java》第6部分“枚举和注解”详细讲了如何在 Java 中使用枚举(enum)和注解(annotation)这两个重要特性。枚举和注解自 Java 5 引入以来,极大地增强了 Java 的表达能力和类型安全性。正确地使用它们可以提高代码的可读性、可维护性和可靠性。原因:自定义注解可以用于标记类、方法、字段等,允许开发者在编程时嵌入特定的元数据。这些元数据可以通过反射 API 来读取,从而实现一些额外的功能,如代码检查、日志生成、配置读取等。

weixin_37693760的博客 815

effective java 学习笔记

最近看了下《effective java》,非常热评的一本入门级别的java类书籍。借此机会,将上面的知识点结合我的一些看法按照item的形式一一列出,希望一直在编程中牢记这些规则,并且熟悉运用。 规则如下: 1. 用静态工厂代替构造函数,尽量避免类的无必要的创建,并且需要遵循一些,静态方法的命名规则,如valueOf,getInstatnce 2. 避免创建重复对象...

attis_wong的博客 152

Effective Java

Effective Java 由于书本内容太枯燥,看不下去,只能对着抄。。加油ヾ(◍°∇°◍)ノ゙ 文章目录第一章 引言第二章 创建和销毁对象第1条 用静态工厂方法代替构造器第2条 遇到多个构造器参数时要考虑构建器第3条 用私有构造器或者枚举类型强化Singleton属性第4条 通过私有构造器强化不可实例化的能力第5条 优先考虑依赖注入来引用子源第6条 避免创建不必要的对象第7条 消除过期的对象引用第8条 避免使用终结方法和清除方法第9条 try-with-resources优先于try-finally第

lyw4631的博客 471

Effective java学习笔记

Effective java学习笔记使用静态方法代替构造方法 使用静态方法代替构造方法 //静态工厂方法举例 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 优点: 1. 静态工厂方法有自己的名字,比起构造方法,使用时更易区分。 2. 不需要每次调用时都创建一个新对象,方法使用频繁的情况下,性能比使用构造方法更好 3.静态工厂方法可以返回其返回类型的任何子类型的对象。 4.静态工厂

qq_38022739的博客 1877

Effective Java 学习总结

Effective Java 作为 Java 四大名著之一,聚焦于 Java 语言习惯和高效的用法。EJ 告诉读者如何更好地构建代码,以便代码能够更好地工作;也便于其他人能够理解这些代码,便于修改和改善;程序也会因此变得更加令人愉快,更加优雅。全书共90条,接下来笔者将逐条进行总结。不应该使用常量接口。一个类在内部使用某些常量是实现细节,常量接口会把这样的实现细节泄露到该类的导出 API 中标记接口:不包含方法声明的接口,它只是指明一个类实现了某种属性的接口。

Alioth4J的博客 2255

Effective Java 学习笔记--第18、19条继承与复合

介绍继承与复合的设计以及两者的优劣分析

weixin_50353846的博客 1088
上一篇: 《Effective Java》学习笔记4
下一篇: 《Effective Java》学习笔记6
elastos
博客等级 码龄20年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值