- 博客(44)
- 收藏
- 关注
原创 【并发基础】线程池实现原理分析
【并发基础】线程池实现原理分析什么是线程池使用线程池的好处ThreadPoolExecutorExecutors核心参数解释工作流程自定义线程线程池注意事项使用ThreadPoolExecutor创建线程池例子如何合理配置线程池CPU密集型IO密集分析角度最佳实践一个基于线程池技术的简单Web服务器什么是线程池线程池就是系统为了方便管理线程而事先创建一些缓冲线程,它们的集合称为线程池...
2019-10-28 21:05:32
329
原创 【算法基础】括号字符串的有效性和最长有效长度
给定字符串str,如果str中含有'('、')'以外的字符直接返回false,否则检验str的所有括号是否匹配[升级]给定字符串str,如果str中含有'('、')'以外的字符直接返回false,否则检验str的所有括号是否匹配,并输出最大有效长度 思路: * 从左到右遍历str,如果遇到其他字符直接返回false * 遇到'(...
2018-08-31 15:09:42
719
原创 【算法基础】找到被指的新类型字符
新类型字符是指:长度为1或2的字符串,表现形式只能为单个小写字母、大写字母+小写字母、大写字母+大写字母,三种形式,给定的字符串str由若干个新类型字符组成,问给定位置K上的新类型字符是?思路: * 一. 可以从左到右遍历str,按照题目规则,将str拆分,然后根据k所在位置输出 * 二. 观察题目发现 * ...
2018-08-31 14:28:43
369
原创 【算法基础】不用额外变量交换两个变量的值
不用额外变量交换a和b的值* 思路: * 记 a ^ b 为 c * 那么 c ^ b = a , c ^ a = b 源代码 package com.javakk.ex1;/** * @Time 2018年8月31日 上午9:39:42 * @Title { 不用额外变量交换a和b的值 } ...
2018-08-31 14:18:18
578
原创 【算法基础】转圈打印矩阵
给定的matrix矩阵,由内而外转圈打印元素核心思想:将矩阵分圈、再循环打印 package com.javakk.ex;/** * @Time 2018年8月30日 下午3:44:17 * @Title { 转圈打印矩阵 } * @Desc { 给定的matrix矩阵,由内而外转圈打印元素 } * @Email 92920@sohu.com * @Author ...
2018-08-31 14:14:38
690
原创 【算法基础】顺时针旋转矩阵
将给定的矩阵matrix顺时针旋转90°* 思路: * 将matrix分为一圈一圈的小圈 * 顺时针旋转其实就是每圈中各个元素依次占位 package com.javakk.ex;/** * @Time 2018年8月30日 下午3:02:20 * @Title { 旋转矩阵 } * @Desc { 将给定的矩阵ma...
2018-08-31 14:14:24
3404
原创 【算法基础】需要排序的最短子数组长度
给定一个无序数组arr,求出需要排序的子数组长度 * 思路: * 先从右到左遍历数组 * min : 出现的最小元素 * noMinIndex : 出现无序(cur > min)时的位置 * 再从左到右遍历数组 * max : 出现的最大元素 ...
2018-08-30 16:52:15
605
原创 【算法基础】在已排序的矩阵中找数
给定的矩阵matrix从左到右,从上到下一次递增,问K是否在matrix中时间复杂度 O(M+N) * 思路: * 从matrix的右上角或者左下角cur开始搜索 * 如果cur > k 说明只能在左边搜 * 如果cur < k 说明只能在下边搜 * 如果cur ...
2018-08-30 16:51:17
435
原创 【算法基础】奇数下标都是奇数,偶数下标都是偶数
给定长度不小于2的数组,输出调整后的数组,额外空间复杂度O(1)思路: even : arr最左边的偶数下标 old : arr最左边的奇数下标 不断检查arr的最后一个数,如果是偶数则和even交换,even+=2,如果是奇数则和old交换,old+=2,直到even或者old大于或等于N源代码 ...
2018-08-30 16:50:01
1401
原创 【算法基础】子数组的最大累加和
给定数组arr求出子数组的最大累加和,额外空间复杂度O(1)* 思路: * cur : 当前累加值 * 如果cur<0则不可能作为结果返回,cur取0 源代码 package com.javakk.ex;/** * @Time 2018年8月30日 上午11:12:33 * @Title { 子数组的最大...
2018-08-30 16:45:37
403
原创 【算法基础】不包含本位置值的累乘的两种解法
给定一个arr,返回不包含本位置的累乘数组,除需要返回的结果数组,额外空间为O(1) 【升级】给定一个arr,返回不包含本位置的累乘数组,除需要返回的结果数组,额外空间为O(1),不能使用除法 * 思路: * 计算出arr中0的个数count和非0的累乘值all * 如果count为0,则res[i] = all / arr...
2018-08-30 16:44:38
224
原创 【算法基础】从N个数中等概率打印M个数
相同的数不打印,额外空间复杂度为O(1)* 思路: * 在[0,N-1]中获得一个随机数a,并打印arr[a] * 将arr[a]与arr[N-1]交换 * 在[0,N-2]中获得一个随机数b,并打印arr[b] * 将arr[b]与arr[N-2]交换 * ...
2018-08-30 16:39:52
345
原创 【算法基础】数组的partition调整升级
相同问法:给定一个数组arr,其中只可能含有0,1,2请排序相同问法:给定一个数组arr,其中只可能含有红球、黄球、蓝球请实现红球放左边、黄球放中间、蓝球放右边 * 思路: * 将结果分为三个区域A、B、C * left : A区域最右端 * index : 从左到右遍历 * ri...
2018-08-30 16:38:27
270
原创 【算法基础】数组的partition调整
给定有序数组arr,调整arr使得它的左半部分升序且不重复 思路: u : 左边的最后位置 i : 从左到右遍历 当arr[i]和arr[u]不相等时,说明升序了,此时调换arr[u+1]和arr[i]源代码package com.javakk.ex;import java.util....
2018-08-30 16:35:48
403
原创 【算法基础】判断回文数
用户输入一个32位以内的整数,判断该数是否为回文数注意:负数也可以是回文* 思路: * 整数的最小负数不能转为正整数 * 取help和n相同位数 * 如果首位 (n / help) 与末位 (n % 10) 不相等返回false * n去掉首位和末位 (n % help) / 10...
2018-08-30 16:33:34
424
原创 【算法基础】DFS凑数
从给定的数组arr中选取一个或多个数能否凑出给定的k?源代码 package com.javakk.ex;import java.util.Scanner;/** * @Time 2018年8月29日 下午5:43:06 * @Title { 凑数K } * @Desc { 用给定的一个或多个数能否凑出给定的k } * @Email 92920@sohu.c...
2018-08-30 16:28:42
1692
原创 数据结构---线性表基本概念
链表 单链表 循环链表 双链表 对结点操作 删除、插入(先挂入再链接)顺序表和链表 栈 先进后出 队列 先进先出循环队列 队空条件: head = tail 队满条件: (tail + 1) % size = head 广义表 长度(表元素的个数) 深度(括号的重数) 表头:第一个表元素 表尾:除了第一个元素剩
2017-09-22 20:36:08
255
原创 系统安全分析与设计---网络安全与防火墙
网络安全 网络威胁与攻击 防火墙网络级 过滤固定IP段 包过滤 状态检测 应用级 检查具体内容 双穴主机 屏蔽主机 屏蔽子网(最安全,内部攻击不 能屏蔽)
2017-09-22 20:32:10
813
原创 系统安全分析与设计---基本概念
信息系统安全属性保密性 最小授权原则 防暴露 信息加密 物理保密 完整性 完全协议 校验码 密码校验 数字签名 公证 可用性 综合保障(IP过滤、业务流控制、路由选择控制、审计跟踪)不可抵赖性 数字签名技术加密技术对称加密技术 特征:加密解密用同一个密码 DES :替换 + 移位 3DES :两个56位密钥;
2017-09-22 20:27:58
329
原创 计算机网络---无线网、网络接入技术、IPV6
无线网 无线局域网(WLAN,WiFi) 无线城域网(WMAN,WiMax) 无线广域网(WWAN,3/4G) 无线个人网(WPAN,Bluetooth) 网络接入技术有线接入 无线接入 3G/4G Ipv6 IPv6 是设计用于替代现在IPv4的下一代协议 IPv6 地址长度为128位 IPv6 提高安全性,身份认证和隐私权是IPv6
2017-09-21 21:23:25
506
原创 计算机网络---网络规划与子网划分
网络规划与设计网络实施原则 可靠性 安全性 高效性 可拓展性 网络设计原则 可用性 可靠性 可恢复性 适应性 可伸缩性 逻辑网络设计 逻辑网络设计图 ip地址方案 安全方案 费用估算 物理网络设计 结构图 布线图 设备清单 分层设计接入层(底层): 终端用户接入(计费功能)汇聚层(中层
2017-09-21 21:19:57
3274
1
原创 计算机网络---网络标准技术与协议及其分类
网络技术标准与协议TCP/IP Internet,可拓展,可靠,应用最广,牺牲速度和效率IPX/SPX NOVELL,路由,大型企业网NETBEUI IBM,非路由,快速 ICMP:ping ARP:mac -> ip RARP:ip -> mac TCP:反馈、三次握手 –> 可靠传输 UDP:直接传送 DHCP:动态ip分配 TFTP:小文件传输
2017-09-21 20:37:51
495
原创 计算机网络---OSI/RM 七层模型
物理层: 中继器:网络传递 集线器:多端口的中继器数据链路层: 网桥:链接两个同类型的网络 交换机: 多端口的网桥,因为有地址,所以比中继器性能高很多网络层: 点对点传输有多条路径 三层交换机: 带路由选择的交换机传输层: TCP / UDP局域网: 只工作在最低的两层
2017-09-21 20:31:17
1027
原创 数据库---反规范化技术、大数据
反规范化技术技术手段 增加派生性冗余列、增加冗余列、重新组表、分割表优点 牺牲空间与规范程度来提高查询效率大数据(海量数据)特点(集群平台) 数据量极大(Volume)、数据处理速度快(Velocity)、数据有多样性(Variety)、 数据有价值(Value)
2017-09-20 16:06:25
923
原创 数据库---数据备份、数据恢复、数据仓库
数据备份冷备份 优点:非常快速的备份方法,只需要复制文件,低度维护,安全度高, 关闭服务器进行备份 缺点:用户不能进行相关功能操作、用户体验不佳热备份 优点:在表空间或数据库文件级备份,备份时间短,数据库服务器正常使用,可对几乎所有数据库实体进行恢复 缺点:不能出错,否则后果严重完全备份 备份所有数据差量备份 只备份上次完全备份后变化的数据增量备份
2017-09-19 21:50:03
671
原创 数据库---并发控制、完整性约束、数据库安全
并发控制事务 原子性:不可够再拆分来做(要么一起,要么不做) 一致性:数据保持一致(总和一致) 隔离性:事务之间互不影响 持续性:事务执行之后结果影响持续 可能存在的问题 丢失更新;不可重复读;读“脏”数据 封锁协议一级封锁协议: 事务T在修改数据R之前必须先对其加X锁,直到事 务结束才释放,可以防止丢失修改二级封锁协议: 在一级封锁协议上加
2017-09-19 21:45:31
758
原创 数据库---规范化理论、范式、模式分解
函数依赖 部分函数依赖;传递函数依赖非关系化关系模式可能存在的问题 数据冗余、更新异常(数据不一致)、插入异常、删除异常关系化关系的用途 解决非关系化模式存在的问题键相关的概念超键: 唯一标识元组,可能存在冗余属性候选键: 唯一标识元组超键与候选键的差异 比如:(SNo,SName,SSex) 其中(SNo,SName)超键主键: 在候选键中任意选择一个作为主
2017-09-19 18:38:46
4717
2
原创 数据库---关系代数
并 相同的部分进行合并,只显示一次交 显示相同的部分差 显示不相同的部分笛卡尔积(X) 显示所有列,每个元组都要进行组合 在笛卡儿积的结果集中: - 属性个数:两个属性之和 - 记录数:两个记录数的乘积投影 选择属性的操作选择 选择元组的操作连接 共有的属性只保留一个 没有标明连接条件:默认自然连接(相同属性等值连接)
2017-09-19 18:04:47
416
原创 数据库---基本概念
三级模式-两级映射 数据库系统设计过程 需求分析–> 概念结构设计(ER模型、与物理数据库没有关系) –> 逻辑结 构设计(规范化理论、关系模式) –> 物理设计(DBMS特性硬件)E-R模型ER图的集成的方法 多个ER图一次集成 逐步集成,累加的方式 一次集成两个局部ER图集成产生的冲突: 属性冲突、命名冲突、结构冲突ER图转化为关系模式 一对一: 把联系记录
2017-09-19 18:02:15
795
原创 操作系统---设备管理、微内核操作系统
程序控制(查询): 多数情况下需要CPU的介入、外设不会主动反馈,由CPU查询程序中断: 外设完成工作后发送中断信号DMA(直接存取控制): 外设和内存之间的数据交换,都由专用的DMA控制器监管,CPU只做安 排虚设备和SPOOLING技术: SPOOLING:采用缓冲器缓存数据、实现共享外设微内核操作系统: 某个系统出故障,直接重启该系统而不用重启整个系统
2017-09-19 17:57:55
634
原创 操作系统---文件管理
索引文件结构: 标准13个结点结构直接索引: 前10个(0-9)索引文件的内容 10-12 索引文件的地址一级间接索引 10存索引地址(物理盘块的地址)二级间接索引 11存索引地址 –> 再存索引地址文件和树型目录结构相对路径: 相对地址绝对路径: 全地址 应用:拨打固定电话号码空闲存储空间的管理 空闲区表法、空闲链表法、位示图法…. 位
2017-09-19 17:55:38
501
原创 操作系统---存储管理
页式存储组织 优点:利用率高、碎片小,分配及管理简单 缺点:增加了系统开销;可能产生抖动现象逻辑地址与物理地址的转换: 先把逻辑地址的页内号和页内地址分开,其中物理地址的页内地址 就是逻辑的页内地址。页内地址的找法: 页面大小转换为2进制后对应逻辑地址的相应位, 比如: 页面大小为4k的页面对应2^12则对应逻辑地址的后三位(H), 因为一位16进制表示4位二进制物理块
2017-09-18 20:44:06
656
原创 操作系统---进程的死锁
死锁 所有资源已经分配,所有进程都在等待资源分配不发生死锁的最少资源数 K * (n - 1) + 1 其中K表示进程的个数、n表示每个进程所需的资源数死锁的条件(死锁的预防) 互斥、保护和等待、不剥夺、环路等待死锁的避免 有序资源分配法、银行家算法
2017-09-18 20:35:12
653
原创 操作系统---进程管理
前趋图 并行和向后顺序的表达进程的同步和互斥 互斥:如千军万马过独木桥 同步:速度有差异,在一定情况下等待PV操作相关概念 临界资源:进程之间互斥访问的资源:打印机、磁带机等 临界区:每个进程中访问临界资源的那段代码信号量 操作系统中一种特殊的变量PV操作 P(S) : S = S - 1 判断 S < 0 ? T : 阻塞进程放入进程队列 –> 等待状态
2017-09-18 20:32:58
561
原创 计算机组成原理与体系结构---系统可靠性分析
串联系统 R = R1 * R2 * R3 ….. 时效率λ累加并联系统 R = 1 - (1-R1)* (1-R2)….n模冗余系统 少数服从多数混合系统
2017-09-18 20:22:40
620
原创 计算机组成原理与体系结构---层次化储存结构
越往上成本越高、速度越快、容量越小Cache 功能:提高CPU数据输入输出速率,局部性原理使用“Cache + 主存”周期:T3 = h * T1 + (1-h) * T2h : Cache命中率T1 : Cache周期T2 :主存周期局部性原理 时间、空间局部性主存的分类随机存取存储器(RAM) 如:内存只读存储器(ROM) 如:BIOS主存编址 8 * 4 位的存储器
2017-09-18 20:14:51
1751
原创 计算机组成原理与体系结构---流水线
流水线的概念 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技 术。程序的执行过程--> 取址 --> 分析 --> 执行 -->顺序执行的弊端大量的时间和资源浪费流水线周期:执行时间最长的一段时间流水线时间计算:1条指令执行时间 + (n-1)* 周期流水线吞吐率的计算TP = 指令条数 / 流水线执行时间流水线最大吞吐率:TPmax = 1 / △t流水线的加速比S =
2017-09-18 20:09:00
1487
原创 计算机组成原理与体系结构---CISC和RISC
**CISC(复杂指令系统)**复杂指令系统指令多(可变长模式)使用频率差别大寻址方式多计算机没有大规模使用的时候推出的(指令、硬件都是定制的)微程序控制技术(微码)RISC(精简指令系统)精简指令系统指令少使用频率接近寻址方式少针对寄存器操作只有Load/Store操作内存通用寄存器硬布线逻辑控制适合采用流水线
2017-09-18 20:05:49
2661
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人