收藏 分享(赏)

计算机及通信类的易混知识点.doc

上传人:kpmy5893 文档编号:9258978 上传时间:2019-07-31 格式:DOC 页数:9 大小:75.65KB
下载 相关 举报
计算机及通信类的易混知识点.doc_第1页
第1页 / 共9页
计算机及通信类的易混知识点.doc_第2页
第2页 / 共9页
计算机及通信类的易混知识点.doc_第3页
第3页 / 共9页
计算机及通信类的易混知识点.doc_第4页
第4页 / 共9页
计算机及通信类的易混知识点.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、1、 一个函数名后面加 const 表示什么意思?a) 补充: 1、 const 只能声名 member function 2、 const member function 不能修改对象的任意成员 3、 const member function 不能调用非 const member functionb) const 用在成员函数后 主要是针对类的 const 对象 如: class Text public: void printconst(void)constcout 这个东西是无符号的右移,最高位补 03、 0的 ASCII 码为 04、 CDMA2000 的信道编码有 卷积码和 Turb

2、o 码,卷积码主要用于语音业务,Turbo 码由于编码效率比较高,但时延比较大,主要用于数据业务。5、 若有 int a48, int (*p)8=a;则a+1 指向 a【0】【1】, 参 数 表 : lpSystemInfo wProcessorArchitecture: Word; 处 理 器 的 体 系 结 构 wReserved: Word; 保 留 dwPageSize: DWORD; 分 页 大 小 lpMinimumApplicationAddress: Pointer;最 小 寻 址 空 间 lpMaximumApplicationAddress: Pointer;最 大 寻

3、址 空 间 dwActiveProcessorMask: DWORD; 处 理 器 掩 码 ; 031 表 示 不 同 的 处 理 器 dwNumberOfProcessors: DWORD; 处 理 器 数 目 dwProcessorType: DWORD; 处 理 器 类 型 dwAllocationGranularity: DWORD; 虚 拟 内 存 空 间 的 粒 度 wProcessorLevel: Word; 处 理 器 等 级 wProcessorRevision: Word); 处 理 器 版 本 指 向 一 个 供 函 数 返 回 信 息 的 SYSTEM_INFO 结 构

4、 体 。 ( 所 以 成 员 都 是 公 有 的 ) 返 回 值 : 这 个 函 数 不 返 回 任 何 值 。 22、 函 数 名 和 对 函 数 名 取 地 址 是 一 样 的 , 都 是 函 数 的 地 址23、 C+支持多种程序设计风格,其中就包括对面向对象设计的支持。我们今天在这里将会为大家详细介绍一下各种 C+继承方式的具体应用方法,希望能够帮助大家对这方面的知识有一个深入的认识。C+继承方式总共分为以下几种:public、private、protected 三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。(1) public(公有继承): 继承时保持基类中各成员

5、属性不变,并且基类中 private 成员被隐藏。派生类的成员只能访问基类中的 public/protected 成员,而不能访问 private 成员;派生类的对象只能访问基类中的 public 成员。(2) private(私有继承): 继承时基类中各成员属性均变为 private,并且基类中 private 成员被隐藏。派生类的成员也只能访问基类中的 public/protected 成员,而不能访问 private 成员;派生类的对象不能访问基类中的任何的成员。(3) protected(保护性继承):继承时基类中各成员属性均变为 protected,并且基类中 private 成员被

6、隐藏。派生类的成员只能访问基类中的 public/protected 成员,而不能访问 private 成员;派生类的对象不能访问基类中的任何的成员。24、 #pragma pack(2)/设置以多少字节对齐。空类因系统自动添加的一个隐藏字节而占 1 个字节空间,静态和全局量不占用空间,函数不属于实例所独占,不占用空间25、 线程与进程 同步方法:1.临界区: 通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2.互斥量: 为协调共同对一个共享资源的单独访问而设计的。 3.信号量: 为控制一个具有有限数量用户资源而设计。 4.事 件: 用来通知线程有一些事件已发生,从而

7、启动后继任务的开始进程间的通信方式:1.管道(pipe)及有名管道(named pipe):管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。2.信号(signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致的。3.消息队列(message queue):消息队列是消息的链接表,它克服了上两种通信方式中信号量有限的缺点,具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限得进程则可以从消息队列中读取信

8、息。4.共享内存(shared memory):可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据得更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。5.信号量(semaphore) :主要作为进程之间及同一种进程的不同线程之间得同步和互斥手段。6.套接字(socket);这是一种更为一般的进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。26、 Free 指针后,应将指针设成 NULL,否则指针就是野指针,http:/ 正则匹配,单问号是优先匹配,双问号是优先不匹配28、 所谓守护线程就是运行在程序

9、后台的线程,程序的主线程 Main(比方 java 程序一开始启动时创建的那个线程)不会是守护线程 2.Daemon thread 在 Java 里面的定义是,如果虚拟机中只有 Daemon thread 在运行,则虚拟机退出。 虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是 main()线程。3.Main 主线程结束了(Non-daemon thread), 如果此时正在运行的其他 threads 是 daemonthreads,JVM 会使得这个 threads 停止,JVM 也停下如果此时正在运行的其他 thread

10、s 有 Non-daemonthreads,那么必须等所有的 Non daemon 线程结束了,JVM 才会停下来4.总之, 必须等所有的 Non-daemon 线程都运行结束了,只剩下 daemon 的时候,JVM 才会停下来,注意 Main 主程序是 Non-daemon 线程默认产生的线程全部是 Non-daemon 线程。5.JVM 的资源回收线程就是这类线程。6.在该类线程中产生的其他线程不用设置,默认都是守护线程。5.Thread.setDaemon()用法使用: 1. setDaemon 需要在 start 方法调用之前使用2. 线程划分为用户线程和后台(daemon)进程, s

11、etDaemon 将线程设置为后台进程3. 如果 jvm 中都是后台进程,当前 jvm 将 exit。(随之而来的,所有的一切烟消云散,包括后台线程啦)4. 主线程结束后,1)用户线程将会继续运行2) 如果没有用户线程,都是后台进程的话,那么 jvm 结束另外:setDaemon 方法把 java 的线程设置为守护线程,此方法的调用必须在线程启动之前执行。只有在当前 jvm 中所有的线程都为守护线程时,jvm 才会退出。如果创建的线程没有显示调用此方法,这默认为用户线程。29、 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发

12、送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化30、 RequestDispatcher.forward()方法和 HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 Request Dispa

13、tcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 HttpServletResponse.sendRequest()方法。31、 Java 中的字符串引用比较,比较的是引用本身,不是指向单元的内容32、 静态代码块在 main()函数开始前执行33、 Java 的字符类型采用的是 UTF-16 编码方式对 Unicode 编码表进行表示。其中一个 char 类型固定 2Bytes(16bits )。34、 JDBC: 简 单 地 说 , JDBC 可 做 三 件 事 : 与 数 据 库 建 立 连 接 、 发

14、 送 操 作 数 据 库的 语 句 并 处 理 结 果 。装 载 驱 动 程 序你 需 要 做 的 第 一 事 情 是 你 与 想 要 使 用 的 DBMS 建 立 一 个 连 接 。 这 包 含 2 个 步 骤 :装 载 驱 动 程 序 并 建 立 连 接 。 装 载 驱 动 程 序 只 需 要 非 常 简 单 的 一 行 代 码 。 例 如 , 你 想 要 使 用 JDBC-ODBC 桥 驱 动程 序 , 可 以 用 下 列 代 码 装 载 它 : Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); 你 的 驱 动 程 序 文 档 将 告 诉 你

15、应 该 使 用 的 类 名 。 例 如 , 如 果 类 名 是 jdbc.DriverXYZ , 你 将 用 代 码 以 下 的 代 码 装 载 驱 动 程 序 : Class.forName(“jdbc.DriverXYZ“); 你 不 需 要 创 建 一 个 驱 动 程 序 类 的 实 例 并 且 用 DriverManager 登 记 它 , 因 为 调 用 Class.forName 将 自 动 加 载 驱 动 程 序 类 。 如 果 你 曾 自 己 创 建 实 例 , 你 将 创 建 一 个 不 必 要 的副 本 , 但 它 不 会 带 来 什 么 坏 处 。 加 载 Driver

16、类 后 , 它 们 即 可 用 来 与 数 据 库 建 立 连 接 。 建 立 连 接第 二 步 就 是 用 适 当 的 驱 动 程 序 类 与 DBMS 建 立 一 个 连 接 。 下 列 代 码 是 一 般 的 做 法 :Connection con = DriverManager.getConnection(url, “myLogin“, “myPassword“); 这 个 步 骤 也 非 常 简 单 , 最 难 的 是 怎 么 提 供 url。 如 果 你 正 在 使 用 JDBC-ODBC 桥 , JDBC URL 将 以 jdbc:odbc 开 始 : 余 下 URL 通 常 是

17、 你 的 数 据 源 名 字 或 数 据 库 系 统 。 因此 , 假 设 你 正 在 使 用 ODBC 存 取 一 个 叫 “Fred“ 的 ODBC 数 据 源 , 你 的 JDBC URL 是 jdbc:odbc:Fred 。 把 “myLogin“ 及 “myPassword“ 替 换 为 你 登 陆 DBMS 的 用 户 名 及 口令 。 如 果 你 登 陆 数 据 库 系 统 的 用 户 名 为 “Fernanda“ 口 令 为 “J8“, 只 需 下 面 的 2 行 代码 就 可 以 建 立 一 个 连 接 : String url = “jdbc:odbc:Fred“; Con

18、nection con = DriverManager.getConnection(url,“Fernanda“, “J8“); 如 果 你 使 用 的 是 第 三 方 开 发 了 的 JDBC 驱 动 程 序 , 文 档 将 告 诉 你 该 使 用 什 么 subprotocol, 就 是 在 JDBC URL 中 放 在 jdbc 后 面 的 部 分 。 例 如 , 如 果 驱 动 程 序 开 发 者注 册 了 acme 作 为 subprotocol, JDBC URL 的 第 一 和 第 二 部 分 将 是 jdbc:acme。 驱 动程 序 文 档 也 会 告 诉 你 余 下 JDB

19、C URL 的 格 式 。 JDBC URL 最 后 一 部 分 提 供 了 定 位 数 据 库的 信 息 。 如 果 你 装 载 的 驱 动 程 序 识 别 了 提 供 给 DriverManager.getConnection 的 JDBC URL , 那 个 驱 动 程 序 将 根 据 JDBC URL 建 立 一 个 到 指 定 DBMS 的 连 接 。 正 如 名 称 所 示 ,DriverManager 类 在 幕 后 为 你 管 理 建 立 连 接 的 所 有 细 节 。 除 非 你 是 正 在 写 驱 动 程 序 , 你可 能 无 需 使 用 此 类 的 其 它 任 何 方 法

20、 , 一 般 程 序 员 需 要 在 此 类 中 直 接 使 用 的 唯 一 方 法 是 DriverManager.getConnection。 DriverManager.getConnection 方 法 返 回 一 个 打 开 的 连 接 , 你 可 以 使 用 此 连 接创 建 JDBC statements 并 发 送 SQL 语 句 到 数 据 库 。 在 前 面 的 例 子 里 , con 对 象是 一 个 打 开 的 连 接 , 并 且 我 们 要 在 以 后 的 例 子 里 使 用 它下 列 代 码 段 给 出 了 以 上 三 步 的 基 本 示 例 : Connectio

21、n con = DriverManager.getConnection(“jdbc:odbc:wombat“,“login“, “password“); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(“SELECT a, b, c FROM Table1“); /所 以 得 命 令 都 是 以字 符 串 的 形 式 发 送while (rs.next() int x = rs.getInt(“a“); String s = rs.getString(“b“); float f = rs.getF

22、loat(“c“); 上 述 代 码 对 基 于 JDBC 的 数 据 库 访 问 做 了 经 典 的 总 结 , 当 然 , 在 本 小 节 的 后 续 部 分会 对 它 做 详 尽 的 分 析 讲 解 。35、 出栈顺序是个卡特兰数 C(2n, n)/(n+1) 这里 n = 进栈的元素个数。 36、 海量数据排序和查找问题 1.从 100 亿数据中找出最大的 1000 个数。分析:数据多大十几个 G,直接读入内存用快排在取值是不行的,而且就算内存够了,本例子中不需要整体排序,只需要最大的 1000 个数据,所以很多时间都浪费了。方法 1 ,建立一个 1000 个数据的最小堆,依次比较,小

23、于丢弃,大于,先出堆,后用大于的数入堆即可。i/o 时间和维护堆的时间。方法 2, 冒泡,一次读入 1 亿数据+1000 的连续空间,冒泡 1000 次,在读入下一批数据到前 1 亿内存里,在冒泡 1000 次,时间复杂度为 1000N+i/o 时间。方法 3. 计数排序,对范围 min,max 的数据一次计数存入一个 amin,max的数组,取出最后 1000 个数据即可。复杂度 o(n)+i/o 时间2.对 100 亿数据进行排序用上述的方法 3,计数排序后,依次写回内存。也可以使用归并排序,逐段读入,排序,合并返回桶排序,把数据按照某种规则映射到几个区间,依次对几个区间排序并返回。3.大

24、规模数据查找采用 B+索引数 ,红黑树,hash 开链方式表37、 海量数据处理常用方法:借助 hash()函数将大文件分割到小文件中,hash(key)%limit ,这样分割后,相同特性的字符串或者关键字就在同一文件中,再对小文件进行处理,得到满足条件个数的记录数,再在这些记录数中找出满足最终条件的记录。堆排序的方式为建立满足条件个数的堆大小。Hash 分而治之 +堆排序:记录BITMAP:数TRIE 树:单词38、 Trie 树 , ( 不 一 定 是 二 叉 的 , 多 叉 ) 又 称 单 词 查 找 树 或 键 树 , 是 一 种 树 形 结构 , 是 一 种 哈 希 树 的 变 种

25、 。 典 型 应 用 是 用 于 统 计 和 排 序 大 量 的 字 符 串 ( 但 不 仅 限 于字 符 串 ) , 所 以 经 常 被 搜 索 引 擎 系 统 用 于 文 本 词 频 统 计 。 它 的 优 点 是 : 最 大 限 度 地减 少 无 谓 的 字 符 串 比 较 , 查 询 效 率 比 哈 希 表 高 。基 本 特 性它 有 3 个 基 本 特 性 : 1) 根 节 点 不 包 含 字 符 , 除 根 节 点 外 每 一 个 节 点 都 只 包 含 一 个 字 符 串 。 2) 从 根 节 点 到 某 一 节 点 , 路 径 上 经 过 的 字 符 连 接 起 来 , 为 该 节 点 对 应 的 字 符 串 。 3) 每 个 节 点 的 所 有 子 节 点 包 含 的 字 符 都 不 相 同 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报