摘要:
1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的f 阅读全文
摘要:
1.中文文本预处理操作步骤实例 1.1读取txt文件到数组中 1.2去除指定无用的符号 1.3让文本只保留汉字 1.4对文本进行结巴分词 1.5去除停用词 1.6将文本转为tfidf向量并输入到算法中 1.7用lsi向量来保证向量的维度一致 1.8把gensim计算的tfidf向量格式转为array 阅读全文
摘要:
1.深浅copy的定义 1.浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制。 2.深拷贝:对象,对象内部的引用均复制。 1.1浅拷贝图示 为了更好的理解它们的区别我们假设有一个对象A,它包含有2对象对象A1和对象A2,如图: 对象A进行浅拷贝后,得到对象B但是对象A1和A2并 阅读全文
摘要:
1. B树 1.1 B树的定义 这里的B树,也就是英文中的B-Tree,一个 m 阶的B树满足以下条件: 1.每个结点至多拥有m棵子树; 2.根结点至少拥有两颗子树(存在子树的情况下),根结点至少有一个关键字; 3.除了根结点以外,其余每个分支结点至少拥有 m/2 棵子树; 4.所有的叶结点都在同一 阅读全文
摘要:
一、IOC(Inversion of Control):控制反转 (1)Spring Core最核心部分 (2)需要先了解依赖注入(Denpendency Injection)/把底层类作为参数传递给上层类,实现上层对下层的“控制” 1.IOC、DI、DL的关系: 2.IOC容器的优势 (1)避免在 阅读全文
摘要:
1.TCP三次握手 TCP三次握手过程: (1):客户端发送SYN包到服务器,并进入SYN_SEND状态; (2):服务器收到SYN包,必须确认客户端的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器计入SYN_RECV状态; (3):客户端收到服务器的SYN+ACK包,向服务器发 阅读全文
摘要:
1.进程和线程 (1)进程是资源分配的最小单位,线程是程序执行的最小单位。 (2)进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多 阅读全文