- 博客(23)
- 问答 (1)
- 收藏
- 关注
原创 emacs的简易命令笔记
C 通常用C来表示CONTROL键,例如 C-f 表示:按住CONTROL在输入 f。M 通常用M来表示ALT键退出 Emacs,请用 C-x C-c(两个连续的组合键)。退出一个正在运行中的命令,请用 C-g向下翻一页,C-v向上翻一页,M-v将光标所在行置于屏幕中央,C-l 上一行 C-p ...
2019-03-18 14:21:23
254
原创 单链表逆序(c/c++实现)
typedef struct LNode { int data; struct LNode *next;}LNode;LNode* reverse_linked_list(LNode *head) { LNode *next = NULL; LNode *prev = NULL; while (head) { next = head->next; head->...
2019-03-09 03:56:15
4505
1
原创 virtualbox centos 使用NAT模式上网
每次隔一段时间又会忘记virtualbox下的虚拟机网络配置,遂作笔记 (有疑问的同学可以留言,看到必及时答复)本次记下NAT+host-only配置,显然NAT是为了让虚拟机联网,host-only主要为了远程通过22端口以SSH方式登录虚拟机。下面的步骤尽量以简洁明了的字语描述。前提:已经安装了virtualbox并安装了操作系统第一部分:连接网络(NAT)第一步:打开virtual...
2019-03-08 23:55:10
3294
2
原创 算法导论---动态规划
动态规划的核心思想:不做重复的子问题计算 动态规划求解的问题具有2个核心特征: optimal-substructure property,最优化的子结构: 问题的最优解由相关的子问题的最优解组合而成,而这些子问题可独立求解。 overlapping subproblems,重叠的子问题集举个例子,算法导论的钢条切割的java自顶而下的递归实现: private fina...
2018-05-04 17:34:15
227
原创 算法导论---归并排序
归并排序的java实现。 private final static int MAXINT = Integer.MAX_VALUE; public void MergeProcess(int array[], int left, int middle, int right) { int lengthLeft = middle - left + 1; ...
2018-05-02 16:06:27
128
原创 算法导论---最大堆
/** *实现原址的最大堆排序,时间复杂度为O(n*lgn) */ public void HeapSort (int[] array, int heapSize) { MaxHeapBuild(array, heapSize); for (int i=heapSize; i>=2; i--) { E...
2018-04-29 15:50:41
227
原创 KMP算法小记
public void getNext (char mainChr[], int next[]) { //构造next数组,参数mainChr[]是主元字符串 next[0] = -1; int behind = 0, front = -1; //front指向前缀,back指向后缀 while (behind ...
2018-04-27 21:41:33
114
原创 算法导论---B树
B树这是为磁盘存储而专门设计的一类平衡搜索树。由于磁盘访问相对访存极慢,因此度量B树的性能,考虑 a. 动态集合操作消耗的计算时间 b. 执行了多少次的磁盘存取。 对每个B树操作,磁盘存取的次数随着B树的高度增加。B-tree定义 第1. 每个节点x有: a. x.n保存节点x的关键字个数。 b. x.n个关键字不严格...
2018-04-27 15:29:04
268
原创 算法导论---红黑树
红黑树红黑树里,确保没有一条路径会比其他任一条路径长出2倍。 红黑树是一种特殊的二叉搜索树,有以下性质: 1. 每个结点或是红色的,或是黑色的。 2. 根结点是黑色的。 3. 每个叶结点是黑色的 4. 如果一个结点是红色的,则它的两个孩子都是黑色的 5. 从任意一个结点出发到叶结点,每条路径的黑高相等。左旋右旋对于旋转前后的两颗树,使用中...
2018-04-27 15:26:34
145
原创 算法导论---二叉搜索树
二叉搜索树有如下性质: 1. 对任意某一结点,其左子树(若存在)的任一结点比该结点小,其右子树(若存在)的任一结点比该节点大。 2. 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。其它一些重要结论: 如果二叉查找树中的某个结点有两个子女,则其后继没有左孩子,其前趋没有右孩子。 后继定义:对结点x而言,存在一个结点集合,集合内任一结点的key值都比x...
2018-04-27 15:09:56
341
原创 csapp读书笔记---九章之Address Translation
用一个具体的例子,将TLB,MMU,VPN,PPN,PTE,L1 d-cache联系起来. 先对例子的环境做些assumptions:内存是按序访问的每次访问一个字节虚拟地址共14位物理地址共12位页大小是64字节TLB是四路组相联L1 d-cache是物理寻址。 VA(vitual address)由VPN与VPO组成 PA(physical ad...
2018-04-27 14:58:45
988
原创 csapp读书笔记---第六章之存储技术
随机访问存储器(Random-Access Memory,RAM)分为两类:静态和动态的。静态RAMSRAM将每个位存储在一个双稳态的存储器单元里。每个单元是是用一个六晶体管电路来实现的。它可以无限期地保持在两个不同的电压状态之一。其他任何状态都是不稳定的--位于不稳定状态是,电路会迅速地转移到两个稳定状态之一。由于SRAM存储器单元的双稳态特性,只要有电,就保持值不变。若有干扰,例如电子噪音,扰...
2018-04-27 14:42:38
490
原创 算法导论---随机化的快速排序
public void Random_QuickSort(int array[], int left, int right) { //分治思想 if (left < right) { int position = Random_Position(array, left, right); Random_Qu...
2018-04-27 09:56:15
251
原创 系统调用原理---程序员的自我修养读书笔记
特权级和中断现代操作系统中,通常有两种特权级别,分别为用户模式(User Mode)和内核模式(Kernel Mode),也被称为用户态和内核态。由于有多种特权模式的存在,操作系统就可以让不同的代码运行在不同的模式上,以限制它们的权力,提高稳定性和安全性。普通应用程序运行在用户态的模式下,诸多操作系统受到限制,这些操作包括访问硬件设备,开关中断,改变特权模式等。运行在高特权级的代码将自己降至低特球...
2018-04-23 22:59:35
288
原创 5分钟理解java回调方法
看到一个场景使用了java回调方法,遂提起兴趣花了时间去了解回调的大概过程。试着大概想象以下3过程, 1,老师向学生提了一个问题 2,学生花费时间去思考 3,然后学生向老师回答问题。 以上的三个过程过程1,老师向学生提问:public class TestCallBack { public static void main (String[] args) { ...
2018-04-18 05:25:16
2152
1
原创 永久解决Java String类的isEmpty(),null的区别
先贴上我的总结:总结为,isEmpty()完全等同于string.length()==0如果String对象本身是null,即字符串对象的引用是空指针,那么使用string.isEmpty()会报NullPointerException判断一个String为空的安全方法,string == null || string.isEmpty()例子://字符串对象的引用a是有效指针,字符串对象a分配内...
2018-04-09 11:45:26
14589
原创 Android Studio cannot resolve symbol 'R'的解决
背景:在Android Studio上开发App,引用了别人的包后出项cannot resolve symbol 解决:点击Android Studio左上角的'File' --> 'Invalidate Caches / Restart'-->“Invalidate and Restart”,这会让Android Studio清空 cache 然后重启重新载入。...
2018-03-27 09:21:57
458
1
原创 hibernate复合主键的解决方法
背景:做毕设时遇到了一个问题,因为需要而创建了一个无主键的表,在java中使用@Entity注释该类时编译不通过,仔细查看,是因为没有主键通不过的。过程结果:后来通过查资料,使用了一种解决方法,现在予以记录,方便以后回来查看。先附上成功后的代码(将每个字段的get,set方法省略):public class call_namepk implements Serializable { priva
2018-03-11 22:12:01
571
原创 redis cluster的简单学习笔记
redis cluster(1)自动将数据进行分片,每个master上放一部分数据(2)提供内置的高可用支持,部分master不可用时,还是可以继续工作的redis cluster不用一致性hash,而是使用hash slots来替代。为了实现效果:实现了读写分离(master-slave),高可用(redis-cluster本身的特性),多个master协同(水平扩容)。做如
2017-12-21 23:31:04
376
原创 consistent hashing(一致性hash)
consistent hashing(一致性hash)1997年,一致性hash首次出现在STOC年会上,但是在那时候该算法被称”it had no hope of being practical”,时过境迁,如今一致性hash在分布式缓存里非常重要一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(Balance):平衡性是指哈希的结果尽可能分布到所有的缓
2017-12-19 23:07:10
1266
原创 Git之初学
Git的安装与初始化在linux与windows上安装Git 1, linux上,执行sudo apt-get install git 2, windows上,去Git官网下载安装程序,选择默认选项安装安装完成后,在命令行输入: git config –global user.name ‘YourName’ git config –global user.email ‘
2017-12-17 22:32:00
170
原创 7分钟学会系列之ssh免密码登陆
开头贴上官方文档的链接 https://www.ssh.com/ssh/protocol/之前玩redis主从架构时,遇到过ssh免密码登陆,很巧,今天玩github时,又是要用ssh协议免密码登陆,索性把它整理一下,记下来;D话不多说,直接上图:
2017-12-15 21:39:46
215
原创 redis 从sentinel的日志文件分析3个哨兵的master-slave切换实验
redis 从sentinel的日志文件分析3个哨兵的master-slave切换实验实验环境 三台centos虚拟机上分别安装配置了redis哨兵与服务器环境,配置文件分别是sentinel.conf与redis.conf实验目的 测试哨兵的容灾能力,通过手动杀死master进程,测试哨兵的主从切换过程。3台虚拟机分别称为A,B,C,配置如下虚拟机A:ip
2017-12-14 09:56:25
6497
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人