健壮性

java语言的优点

非 Y 不嫁゛ 提交于 2020-03-03 23:57:37
1. java是面向对象的语言 直接反应现实生活中的对象 2. 平台无关性 、可移植性 java语言具有“一次编译、到处运行”的特点。Windows、Linux、MacOS平台都能对java程序进行编译并执行编译后的代码。java为解释型语言,编译器会把Java代码变成中间代码然后在java虚拟机上解释执行。由于中间代码与平台无关,因此,java语言可以很好的跨平台执行,具有很好的可移植性。 3. java提供很多内置的库类 通过类库,开发人员的程序设计工作得到简化,同时缩短了项目开发时间。 4. 提供了对web应用开发的支持 例如,Applet、Servlet和JSP可以用来开发web应用程序;Socket、RMI可以用来开发分布式应用程序的类库。 5. 具有很好的安全性和健壮性 java语言提供一个防止恶意代码攻击的安全机制(数组边界检测和Bytecode校验等)。Java的强制性机制、垃圾回收器、异常处理和安全检查机制使得Java程序具有很好的健壮性。 6. 去除了很多C++语言中难以理解、容易混淆的特征 例如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等、使得程序更加严谨、简洁。 来源: https://www.cnblogs.com/leejalen/p/12405477.html

golang服务健壮性---(异常处理)

笑着哭i 提交于 2019-12-05 00:23:05
在程序开发时我们都会认为外部提供的接口或者数据都是不可信的。比如函数总是要检查入参的正确性,在做单元测试的时候要把外部提供的接口给屏蔽掉等。之所以都会这么做,主要还是很难保证自己还是其他人可以提供一个没有任何缺陷的接口。既然接口是人写的,那么多少会有些考虑不到的地方,这时候接口在被调用的时候就有可能发生错误或者异常。这里讨论golang中的异常处理机制,其实就是panic和recover这两个接口的运用,类似于C++中的try和catch。 1、golang中的panic panic,中文解释为恐慌。举个例子,单代码中出现这样的语句的时候,相信所有开发人员在产品上线的时候都会恐慌: var MakecoreData * int = nil *MakecoreData = 10000 如果不做任何处理的时候,这个golang出现如果跑到这里的时候就会出现这样的结果。 panic: runtime error : invalid memory address or nil pointer dereference [signal 0xc0000005 code= 0x1 addr= 0x0 pc= 0x5d0676 ] 然后重新就退出了,这个结果其实跟C/C++中的core是一样的。 当然这个例子可能不会有人会犯这种低级错误,但是如果这两个语句中间加上一段复制的逻辑

JOIN和GROUP BY

匿名 (未验证) 提交于 2019-12-03 00:34:01
关系型数据库:基于关系代数理论 缺点:表结构不直观,实现复杂,速度慢 优点:健壮性高(通过二维表键的外键,由数据库系统保证健壮性),社区庞大 JOIN与GROUP BY: product表 category表 左外连接,使product表里的categoryId为null也能显示出来。 使用了聚合函数,算出每种类型里有几中商品 把nike添加到shoe类后 每个类型商品有几个 找出每个类型商品最便宜的价格是多少 找出每个类型商品中最便宜价格对应的商品名称的错误示范 会显示出一条productName,但不一定是对应的那个 如果能把product的价格和每个category下最便宜的价格对应起来则可以查出来 因此 只要product表和categoryName就好 文章来源: JOIN和GROUP BY

代码健壮性浅析

匿名 (未验证) 提交于 2019-12-03 00:30:01
健壮性是指程序可以适应正常和非正常的运行环境,都可以正确地运行;随着业务量的增加,不会出现阻塞和不可用的情况(官方概念)。 对比过来,就是如果一个程序很健壮,那么他在遇到感冒的时候(比如,想要打开的文件不存在),也能够很快恢复(处理异常情况,输出错误信息等),然后继续运行下去,而不至于一遇到感冒就die了。 正常运行的代码 . 首要追求高效性 这个 " 高效性 " 如果从逻辑的角度来解释 , 那么一方面是 " 高效 " 地对正确的数据执行正确的算法 ( 方法 / 策略 ), 另一方面是 " 高效 " 地找出异常 , 然后丢给异常处理代码去处理 . 处理异常的代码 . 首要追求健壮性 . 就是程序必须能从异常中自我恢复 . 由于代码多数时间跑的是 " 正常 " 逻辑 , 少数情况下才不得不处理 " 异常 ", 所以 " 异常 " 处理的代码中 , 首要任务是健壮 , 跑不死 , 而高效性则是次要的 . //或者使用try catch 方式 if (判断传入参数的类型是否匹配) { //"正常运行代码" //匹配,走正常处理流程, 直接把返回值传给上层逻辑处理 } else { //"异常处理代码" //不匹配,走异常处理流程,重新扫描传入的数据,或者给出提示 } 健壮性的运用: Bool 型,也会有代表实际结果的 Str 或者 Int 等类型。这样的函数在外部调用时痛苦非常

使用const 提高函数的健壮性

随声附和 提交于 2019-11-30 17:15:14
11.1 使用const 提高函数的健壮性 看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件 反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的 魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保 护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 11.1.1 用const 修饰函数的参数 如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引 用传递”,都不能加const 修饰,否则该参数将失去输出功能。 const 只能修饰输入参数: �� 如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地改动该指针, 起到保护作用。 例如StringCopy 函数: void StringCopy(char *strDestination, const char *strSource); 其中strSource 是输入参数,strDestination 是输出参数。给strSource 加上const 修饰后,如果函数体内的语句试图改动strSource 的内容,编译器将指出错误。 ��

Java鲁棒性(健壮性)

前提是你 提交于 2019-11-26 04:30:39
鲁棒性(Robust,即健壮性) Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生 的错误。通过集成的面向对象的例外处理机制,在编译时,Java揭示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外, Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。 感觉B选项虽然描述也对,但是,不应该把它归结于鲁棒性,B选项主要是体现Java的由于虚拟机,实现了一次编译,到处运行,跨平台性的特点。因此,我选B。 下列不属于java语言鲁棒性特点的是 A.java能检查程序在编译和运行时的错误 B.java能运行虚拟机实现跨平台 C.java自己操纵内存减少了内存出错的可能性 D.java还实现了真数组,避免了覆盖数据的可能 正确答案: B 来源: https://www.cnblogs.com/xhlwjy/p/11316073.html