3.8k 3 分钟

# synchronized synchronized 对象锁 采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心线程上下文切换 为了避免临界区的竞态条件发生,有多种手段可以达到目的:阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量 语法 synchronized(对象) // 线程 1, 线程 2 (blocked){// 临界区}demo static int counter = 0;static final...
7.5k 7 分钟

# 线程 # 创建和运行线程 1. 直接使用 Theread1. 直接使用 Theread // 创建线程对象Thread t = new Thread() {public void run() {// 要执行的任务}};// 启动线程t.start();2. 使用 Runnable 配合 Thread Runnable 里放任务 Thread 继承 Runnable Runnable runnable = new Runnable() {public void run(){//...
2.8k 3 分钟

# 卷积介绍 # 卷积神经网络 卷积神经网络 (Convolutional Neural Network) CNN 大部分的图片并不是正正方方摆好的,会有些偏移,这时候全连接的计算机视觉就不太好使了。 他是识别物品的特征,来判断物品的; 从图像当中取到的像素,通过过滤器,与过滤器(Filter)相乘,最后相加,得到一个新的像素集; 不同的 filter 会有不同的效果 每次卷积完了之后还要再做一个 Max Pooling,他的作用是增强图像的特征,如下是取最大值,最后就剩下一个 2x2 的矩阵 Max Pooling 以后数据减少了,但是特征增强了。卷积的材料可以看...
183 1 分钟

# 数据结构绪论 三个基本概念: 数据项 是最小的不可分隔的数据单位 数据元素 是最基本处理单位 数据对象 是同种类型数据元素的集合 数据结构包括:逻辑结构、存储结构、运算(操作)三方面内容 逻辑结构(集合、线性、树、图) 线性结构特点是一对一。 树特点是一对多 图特点是多对多 存储结构(顺序、链式、索引、散列) 操作(定义在逻辑结构、实现在存储结构) 五大特点 有穷性、确定性、可行性、输入、输出
7.5k 7 分钟

# Tensorflow 基础框架 # 处理结构 计算图纸 Tensorflow 首先要定义神经网络的结构,然后再把数据放入结构当中去运算和 training. 因为 TensorFlow 是采用数据流图(data flow graphs)来计算,所以首先我们得创建一个数据流流图,然后再将我们的数据(数据以张量 (tensor) 的形式存在)放在数据流图中计算。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor). 训练模型时 tensor 会不断的从数据流图中的一个节点 flow 到另一节点,这就是 TensorFlow...
19k 17 分钟

# 4. 网络层 本章重点内容 网际协议 IP(即 IPv4) 划分子网和构造超网 互联网的路由选择协议 IPv6 虚拟专用网 VPN 和网络地址转换 NAT # 4.1 网络层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接” 还是 “无连接”) 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 一种观点:让网络负责可靠交付 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。 通信之前先建立虚电路 (Virtual...
14k 13 分钟

# 3. 数据链路层 本章重点: 数据链路层的三个基本功能:封装成帧、透明传输、差错检测 点对点协议 PPP 以太网 MAC 层的硬件地址 交换机的工作原理 扩展的以太网:虚拟局域网技术 数据链路层使用的信道主要有以下两种类型: 点对点信道:这种信道使用一对一的点对点通信方式。 广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。 不同的链路层可能采用不同的数据链路层协议 # 3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 链路 (link)...
1.7k 2 分钟

# 6. 分配类排序 1. 多关键字排序 两个关键字的优先级,先分高级的叫 “高位优先” 排序法,先分低级的叫 “低位优先” 排序法 2. 链式基数排序 排序时先按最低位的值对记录进行初步排序,在此基础上再按次低位的值进行进一步排序。依此类推,由低位到高位,每一趟都是在前一趟的基础上,根据关键字的某一位对所有记录进行排序,直至最高位,这样就完成了基数排序的全过程。 // 理解就好不用硬看#define RADIX 10#define KEY_SIZE 6#define LIST_SIZE 20typedef int KeyType;typedef struct {...
857 1 分钟

# 7. 排序方法的综合比较 1. 各种排序方法的性能比较 排序方法 平均时间复杂度 最坏时间复杂度 辅助存储空间 简单排序法 O(n2) O(n2) O(1) 快速排序 O(nlog2n) O(n2) O(nlog2n) 堆排序 O(nlog2n) O(nlog2n) O(1) 归并排序 O(nlog2n) O(nlog2n) O(n) 基数排序 O(d(n+rd)) O(d(n+rd)) O(rd) 2. 各种排序方法的稳定性比较 排序方法 稳定性 反例 直接插入排序 是 冒泡排序 是 简单选择排序 否 (3,3*,2) 希尔排序 否 (2,4,1,2*)...
-->