![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
成长记录
文章平均质量分 76
刘大美女lxy
道阻且长。
展开
-
优惠券收集问题
今天无意间看到了一道数学题,据说google面试出过这道题.(只看长度)1米长的路面,每次只下1滴雨,覆盖0.01米的路面,落点均匀分布,问路面被完全覆盖所需要的雨滴数目的数学期望。这道题和“优惠券收集”问题极为相似:餐馆每天随机发放十二生肖优惠券中的其中一张,问能收集齐12中不同的优惠券所需要的天数的数学期望。为什么说是极为相似的呢? 我们把路面看做100张不同类型的优惠原创 2017-03-16 16:01:04 · 6262 阅读 · 0 评论 -
unix中,如何通过管道统计某条语句执行了多少次
举例说明:程序员小李通过管道统计prog.c函数中for语句通过的次数,需要使用的指令是?答案:grep “for” proc.c | wc -l 首先,grep, 即Global Regular Expression Print,,表示使用正则表达式搜索文本 , 并把匹配的行打印出来 .wc, 即word count, 统计指定文件中的字节数 , 字数 , 行数 , 并将原创 2017-03-22 17:25:02 · 1131 阅读 · 0 评论 -
虚拟内存的学习
什么是虚拟内存?首先我们了解分页的概念。把内存按照不等的固定长度分区(把内存分成大大小小的区域,来等待进程的进入)或者按照可变长度分区(当一个进程调入内存的时候,分配的内存大小可以与进程所需要的大小相同),这两种方式在进程进进出出之后总容易产生空块,或者说碎片,导致内存的使用效率下降。我们可以看出这两种方式不是把内存作为衡量单位就是把进程大小作为依据,那为何不让他们二者都符合相同的规则呢?原创 2017-03-20 00:30:01 · 602 阅读 · 0 评论 -
进程和线程的最大区别
进程是什么?进程是操作系统执行的单位,是一个运行的程序、一个程序活的灵魂、处理器分配的实体。线程是什么?线程是操作系统资源分配的单位,是进程的实体。一个进程至少要有一个线程。原创 2017-03-19 23:16:40 · 797 阅读 · 0 评论 -
从开机到加载操作系统计算机究竟干了啥?
学习了前辈的一篇博客,并加入了自己的感悟。整个启动和加载过程可分为若干步骤,或者称为若干个状态,或者快照,下面的每一段都是描述一个快照。(类似自动状态机) 1、电源稳定(POWER GOOD) 按下启动键后,电源首先启动。为了保证安全使用,电源的设计采取了许多保护措施,所以电源从起振到稳定有一定的延迟。电源各部分(各输入电压和输出电压等)稳定后,会分别发送一个检测信号,此信号电转载 2017-03-19 21:46:05 · 5277 阅读 · 0 评论 -
设计模式第二话——工厂模式和抽象工厂模式
今天在慕课上学习了模式的秘密——工厂模式和抽象工厂模式,还需要更加深入地了解。(以下内容整理自慕课网)传送门:http://www.imooc.com/learn/261(一) 工厂模式是什么?实例化对象的时候,我们用工厂方法来代替new操作工厂模式包括了工厂模式和抽象工厂模式(二) 工厂模式的意图是什么?定义一个接口来创建对象,但是让子类来决定原创 2017-03-19 01:10:44 · 352 阅读 · 0 评论 -
设计模式第三话——适配器模式
今日闲来无事学习了设计模式之适配器模式,发现一篇超级好的博文,和大家分享。《JAVA与模式》之适配器模式在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极转载 2017-03-19 15:09:49 · 308 阅读 · 0 评论 -
设计模式第一话——单例模式
(一) 什么是设计模式?是一套被世人反复使用的,多数人知晓的,经过分类的代码设计经验的总结。将实战项目比作一场战争的话,设计模式就是孙子兵法的三十六计。(二) 设计模式的目的是什么?保证代码的重用,让代码能够更容易被他人理解,保证代码的可靠性。(三) 设计模式有哪些?Java中,基本模式有23中,最常见的有单例模式、工厂模式、抽象工厂模式、建造者模式等。(四)原创 2017-03-18 22:13:14 · 376 阅读 · 0 评论 -
JAVA线程同步锁机制分析
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。 在此我们先来明确一下我们的前提条件。该转载 2017-03-18 22:08:23 · 236 阅读 · 0 评论 -
探究内存中栈、堆和数据区的分配和管理
整理了内存分区中,关于栈、堆、静态存储区的内容。通过ppt来学习,脉络可能清晰一些。ppt下载地址:http://download.csdn.net/download/xiaoyuaifuxiao/9785683原创 2017-03-18 18:25:39 · 240 阅读 · 0 评论 -
浅谈面向对象与面向过程
(一)何为面向对象,何为面向过程?面向对象指的是将数据和对数据的操作放在一起,作为一个整体,即对同类对象抽象出其共性,这件事情通过类来实现。通俗地来理解,即一个类是一户人家,这户人家有自己的家庭成员,有自己家里要做的事情。每家每户都提供一个窗户-----接口来进行邻里间的交往。面向过程是以事件为中心的开发方法,即自顶向下顺序执行,其程序结构是按照功能划分成若干个模块,这些模块构成一个树状结原创 2017-03-18 17:50:04 · 1271 阅读 · 1 评论 -
java实现DFS求路径是否有解问题
今天回顾了DFS——Depth First Search——深度优先遍历,这个算法主要有两个用途:一是用于对于未知解的探索,一个典型的例子是走迷宫,也就是我们要列出所有的可能性来穷举,如果找到一条可行之路那么说明我们要解决的问题有戏,如果到最后也没有找到一条可行之路,那么说明我们的问题没有解。二是作为拓扑排序的基石,这一点我们以后再讲。那么如何来实现DFS算法呢? 我们需要的原料有:结点、边、原创 2017-03-17 21:09:20 · 1608 阅读 · 0 评论 -
C++堆栈 如何把中缀表达式转换为后缀表达式——读书笔记
1.从头到尾读取中缀表达式中的每个对象,对不同对象按不同情况处理。(1)运算数:直接输出(2)左括号: 压入堆栈(3)右括号:将栈顶的运算符弹出并输出,直到遇到左括号(出栈,不输出)(4)运算符:如优先级大于栈顶优先级,则把它压栈如优先级小于栈顶运算符优先级,将栈顶运算符弹出并输出,在比较新的栈顶运算符优先级,直到该运算符优先级大于栈顶运算符优先级为止,并将该运算符压入栈。原创 2016-09-26 20:08:14 · 747 阅读 · 0 评论 -
最大的奇约数
一直很习惯用java,但渐渐发现大神们都在用C++/C,在ACM中AC列表中的时间显著地体现了C++/C的速度优势。但今天恍然大悟,语言 doesn't matter, 算法 doesn‘t matter ,这些都是工具,数学才是最令人敬畏的。看似复杂的问题背后,苛刻的复杂度要求下,若能看破数字的奥秘,规律的实质,一切问题将迎刃而解。举个例子来讲,今天遇到了一道网易笔试题——最大奇约数原创 2017-03-23 00:35:04 · 530 阅读 · 0 评论