电话
400 9058 355
News
装饰器在函数定义时就完成包装,即模块加载时执行@decorator等价于func=decorator(func);带参装饰器需三层嵌套,多装饰器按从下到上顺序嵌套,须用functools.wraps保留元信息。
String不可变因其value字段为finalbyte[]且修改方法均返回新对象;这导致循环拼接会频繁创建临时对象,加剧GC压力。
SELECT语句逻辑执行顺序为:FROMJOINWHEREGROUPBYHAVINGSELECTORDERBYLIMIT;别名在SELECT阶段才生成,故WHERE中不可用;非聚合列须出现在GROUPBY中;HAVING过滤分组后结果;ORDERBY作用于最终投影列。
is比较对象身份(内存地址),==调用eq方法比较逻辑相等;None检查必须用isNone;小整数和短字符串缓存属实现细节,不可依赖;自定义类可重载==但无法重载is。
std::string::find返回size_t类型,永不返回负数,未找到时返回std::string::npos(即该类型最大值),应使用==std::string::npos判断失败,禁用==-1或==s.size()。
try-with-resources是编译期语法糖,由javac展开为带finally的传统结构,资源按声明逆序关闭,close异常被抑制或抛出,自定义类须实现AutoCloseable,Java9支持变量复用但有限制,构造失败时close不执行。
必须先读16字节IV,再读全部剩余数据作为密文+tag,用aesgcm.Open解密时需传入正确长度的dst切片,认证失败会返回cipher.ErrAuthFailed而非panic。
Collections.sort()委托Arrays.sort()执行,底层使用Timsort算法;对对象数组排序需O(n)额外空间,稳定且最坏O(nlogn),要求元素实现Comparable或提供Comparator。
邮箱:8955556@qq.com
Q Q:8955556