(1)
const出现在*左边,如const char* p,表示p所指向的变量内容不可变,指针指向可以改变;
const出现在*右边,如char* const p,表示p是个常量指针,即不能指向其他变量,而指向的变量内容可变;
const出现在*左边和右边,如const char* const p,表示p的指向不能改变,指向的变量内容也不能改变。
(2)
线性链表只要要求逻辑上是线性的就行了,至于物理存储位置可以不是线性
(3)
深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。
浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。
(4)
1xx(临时响应)
2xx(成功)
3xx(已重定向)
301 永久重定向
302 临时重定向
4xx(请求错误)
404 找不到网页
403 已禁止
401 未授权
400 请求失败;服务器不理解请求语法
503:服务器目前不能为请求提供服务
(5)
线程共享的内容包括:
- 进程 代码段
- 进程 数据段
- 进程打开的文件描述符、
- 信号的处理器、
- 进程的当前目录和
- 进程用户 ID 与进程组 ID
线程独有的内容包括:
- 线程 ID
- 寄存器组的值
- 线程的堆栈
- 错误返回码
- 线程的信号屏蔽码
(6)java中,关于synchronized 关键字可以
可以修饰类的静态方法
可以修饰类的非静态方法
可以修饰某一段代码块
(7)
C/S传统程序架构,要有客户端和服务器端,典型的例子QQ就是基于C/S架构的,你本地只是一个客户端,而主程序运行在腾讯的服务器。
B/S架构就是给予浏览求的应用程序,网站就是很典型的代表,而通常所说的B/S架构则更是指的是基于网页的系统。通常的开发 Java,DotNet,PHP
(8)
在完全二叉树中假设度为0,1,2的节点个数分别为n0,n1,n2
n=n0+n1+n2
n0=n2+1
消去n2,得 n=2n0+n1-1
n1只能为0或者1
所以,n0=(n+1)/2或者n0=n/2
合并为n0=(n+1)/2取整
(8)master公式
T(N) = a*T(N/b) + O(N^d)
- log(b,a) > d -> 复杂度为O(N^log(b,a))
- log(b,a) = d -> 复杂度为O(N^d * logN)
- log(b,a) < d -> 复杂度为O(N^d)
(9)
类中的成员变量,存放在堆区
方法中的局部变量,存放在栈区
常量区放未经 new 的常量