首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/743734

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

《阿里巴巴Java开发手册》码出高效详解(三)- 磨人的空指针问题解析

1 引导语 话不多说,先看手册指引的规范 手册已经帮助我们总结了常见问题场景,但我们还需要深入研究空指针问题,才能做到发过程中得心应手。 2 问世间空指针为何物 2.1 官方解析 应用需要一个对象时却传入了 null,包含如下场景: 调用 null 对象的实例方法 访问或者修改 null 对象的属性 获取值为 null 的数组的长度 访问或者修改值为 null 的二维数组的列时 把 null 当做 Throwable 对象抛出时。 比如说手册中提到的可归类于 case4 如《手册》中的: 可归类于 case1,因为每一层都可能得到 null。 因此,当在开发中遇到这些场景时,务必注意代码处理,防止空指针。 2.2 继承图 可以清晰地看到 NPE 继承自 RuntimeException ,又属 Exception 的子类。 3. 空指针案例展示 3.1 基本的 bug 生产场景 @Test public void test() { Assertions.assertThrows(NullPointerException.class, () -> { List<UserDTO...

PaddlePaddle 核心架构深入解读

PaddlePaddle(中文名:飞桨,PArallel Distributed Deep LEarning 并行分布式深度学习)是一个深度学习平台,具有易用、高效、灵活和可伸缩等特点,它是中国第一个开源深度学习开发框架。 飞桨框架的核心技术,主要包括前端语言、组网编程范式、核心架构、算子库以及高效率计算核心五部分。下边分别分析这几部分。 核心架构 飞桨核心架构采用分层设计,如下图所示,前端应用层考虑灵活性,采用Python实现,包括了组网 API、IO API、OptimizerAPI和执行 API等完备的开发接口;框架底层充分考虑性能,采用C++来实现。 框架内核部分,主要包含执行器、存储管理和中间表达优化;内部表示方面,包含网络表示(ProgramDesc)、数据表示(Variable)和计算表示(Operator)几个层面。框架向下对接各种芯片架构,可以支持深度学习模型在不同异构设备上的高效运行。 前端语言 为了方便用户使用,飞桨选择Python作为模型开发和执行调用的主要前端语言,并提供了丰富的编程接口API。Python作为一种解释型编程语言,代码修改不需要重新编译就可以直...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

用户登录
用户注册