自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 最大的奇约数

一直很习惯用java,但渐渐发现大神们都在用C++/C,在ACM中AC列表中的时间显著地体现了C++/C的速度优势。但今天恍然大悟,语言 doesn't matter, 算法 doesn‘t  matter ,这些都是工具,数学才是最令人敬畏的。看似复杂的问题背后,苛刻的复杂度要求下,若能看破数字的奥秘,规律的实质,一切问题将迎刃而解。举个例子来讲,今天遇到了一道网易笔试题——最大奇约数

2017-03-23 00:35:04 521

原创 unix中,如何通过管道统计某条语句执行了多少次

举例说明:程序员小李通过管道统计prog.c函数中for语句通过的次数,需要使用的指令是?答案:grep “for”  proc.c  | wc -l 首先,grep, 即Global Regular Expression Print,,表示使用正则表达式搜索文本 , 并把匹配的行打印出来 .wc, 即word count, 统计指定文件中的字节数 , 字数 , 行数 , 并将

2017-03-22 17:25:02 1124

原创 虚拟内存的学习

什么是虚拟内存?首先我们了解分页的概念。把内存按照不等的固定长度分区(把内存分成大大小小的区域,来等待进程的进入)或者按照可变长度分区(当一个进程调入内存的时候,分配的内存大小可以与进程所需要的大小相同),这两种方式在进程进进出出之后总容易产生空块,或者说碎片,导致内存的使用效率下降。我们可以看出这两种方式不是把内存作为衡量单位就是把进程大小作为依据,那为何不让他们二者都符合相同的规则呢?

2017-03-20 00:30:01 593

原创 进程和线程的最大区别

进程是什么?进程是操作系统执行的单位,是一个运行的程序、一个程序活的灵魂、处理器分配的实体。线程是什么?线程是操作系统资源分配的单位,是进程的实体。一个进程至少要有一个线程。

2017-03-19 23:16:40 787

转载 从开机到加载操作系统计算机究竟干了啥?

学习了前辈的一篇博客,并加入了自己的感悟。整个启动和加载过程可分为若干步骤,或者称为若干个状态,或者快照,下面的每一段都是描述一个快照。(类似自动状态机) 1、电源稳定(POWER GOOD) 按下启动键后,电源首先启动。为了保证安全使用,电源的设计采取了许多保护措施,所以电源从起振到稳定有一定的延迟。电源各部分(各输入电压和输出电压等)稳定后,会分别发送一个检测信号,此信号电

2017-03-19 21:46:05 5242

转载 设计模式第三话——适配器模式

今日闲来无事学习了设计模式之适配器模式,发现一篇超级好的博文,和大家分享。《JAVA与模式》之适配器模式在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的:  适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极

2017-03-19 15:09:49 304

原创 设计模式第二话——工厂模式和抽象工厂模式

今天在慕课上学习了模式的秘密——工厂模式和抽象工厂模式,还需要更加深入地了解。(以下内容整理自慕课网)传送门:http://www.imooc.com/learn/261(一)   工厂模式是什么?实例化对象的时候,我们用工厂方法来代替new操作工厂模式包括了工厂模式和抽象工厂模式(二)   工厂模式的意图是什么?定义一个接口来创建对象,但是让子类来决定

2017-03-19 01:10:44 347

原创 设计模式第一话——单例模式

(一)  什么是设计模式?是一套被世人反复使用的,多数人知晓的,经过分类的代码设计经验的总结。将实战项目比作一场战争的话,设计模式就是孙子兵法的三十六计。(二)  设计模式的目的是什么?保证代码的重用,让代码能够更容易被他人理解,保证代码的可靠性。(三)  设计模式有哪些?Java中,基本模式有23中,最常见的有单例模式、工厂模式、抽象工厂模式、建造者模式等。(四) 

2017-03-18 22:13:14 374

转载 JAVA线程同步锁机制分析

打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。  在此我们先来明确一下我们的前提条件。该

2017-03-18 22:08:23 234

原创 探究内存中栈、堆和数据区的分配和管理

整理了内存分区中,关于栈、堆、静态存储区的内容。通过ppt来学习,脉络可能清晰一些。ppt下载地址:http://download.csdn.net/download/xiaoyuaifuxiao/9785683

2017-03-18 18:25:39 238

原创 浅谈面向对象与面向过程

(一)何为面向对象,何为面向过程?面向对象指的是将数据和对数据的操作放在一起,作为一个整体,即对同类对象抽象出其共性,这件事情通过类来实现。通俗地来理解,即一个类是一户人家,这户人家有自己的家庭成员,有自己家里要做的事情。每家每户都提供一个窗户-----接口来进行邻里间的交往。面向过程是以事件为中心的开发方法,即自顶向下顺序执行,其程序结构是按照功能划分成若干个模块,这些模块构成一个树状结

2017-03-18 17:50:04 1172 1

原创 java实现DFS求路径是否有解问题

今天回顾了DFS——Depth First Search——深度优先遍历,这个算法主要有两个用途:一是用于对于未知解的探索,一个典型的例子是走迷宫,也就是我们要列出所有的可能性来穷举,如果找到一条可行之路那么说明我们要解决的问题有戏,如果到最后也没有找到一条可行之路,那么说明我们的问题没有解。二是作为拓扑排序的基石,这一点我们以后再讲。那么如何来实现DFS算法呢? 我们需要的原料有:结点、边、

2017-03-17 21:09:20 1602

原创 优惠券收集问题

今天无意间看到了一道数学题,据说google面试出过这道题.(只看长度)1米长的路面,每次只下1滴雨,覆盖0.01米的路面,落点均匀分布,问路面被完全覆盖所需要的雨滴数目的数学期望。这道题和“优惠券收集”问题极为相似:餐馆每天随机发放十二生肖优惠券中的其中一张,问能收集齐12中不同的优惠券所需要的天数的数学期望。为什么说是极为相似的呢? 我们把路面看做100张不同类型的优惠

2017-03-16 16:01:04 6235

原创 Android6.0 AlertDialog 的title和message 不显示问题

今天做掌上武大校园网启停的确认对话框,遇到了在android 6.0 机子上AlertDiog的title和message文字不显示的问题,如下图看到网上的解决方案是导android.support.v7.app这个包,用这个包中的alertdialog,然而还是没有解决。最后的解决方案是:将AlertDialog对象创建换一种方式:AlertDialog.Builder

2017-02-28 16:44:14 1581

转载 关于编译器和解释器区别的形象故事

儿子和女儿——解释器和编译器的区别与联系  菜鸟经常将编译器和解释器弄混淆,无奈之下,于是向高手请教。  高手说:“  解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。    编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如C语言代码

2017-02-27 23:25:40 306

原创 Linux学习记录

今天简单学习了linux的一些基本知识,整理如下:1.      Linux两个基本的用途:(1)      基于linux的企业服务器(2)      嵌入式2.      centOs是RedHat系列的linux3.      linux和windows的不同:Linux严格区分大小写;linux一切内容即文件,包括硬件;linux不靠扩展名区分文件类型,靠文件的权限

2017-02-27 20:45:40 238

原创 第一次安装Ubuntu的曲折日记

在周大婶的指导下,终于成功安上了Ubuntu,从此跨入了编程的天堂。期间遇到各种形形色色的问题,我预感能力真是强,心里一觉得这次肯定能成功,100%没问题……记录一下我的步骤和问题。首先,找到一个空闲空间超过50G的硬盘,给我的linux系统分配空间。打开磁盘管理器,选定要分区的磁盘,右键选择压缩卷,输入压缩空间 51200 ,也就是拿出50G来装我的系统。理想状态上只这样的,但是

2017-02-26 13:48:05 543

原创 震惊!常见的七种排序算法都在这里了(笑)

整理了常见的7种排序算法,分一下类即:插入排序: 直接插入和希尔排序选择排序:简单选择和堆排序交换排序:冒泡排序和快速排序此外,还有一种归并排序。(一)插入排序(1)直接插入排序插入排序:时间复杂度是O(n^2)  稳定思路记忆:分为有序列和无序列两个部分,前面部分是有序列(从一个元素开始),然后向其中插入public class InsertSort {

2017-02-25 21:55:47 390

原创 项目开发中常用的git套路

在项目开发中常用的git套路:1.在本地文件夹中,(在库名文件夹下)打开git bash2.如果想在github上新建一个仓库,则 git init  否则略过这一步3.建立关联  git remote add origin 地址4.查看状态 git status5.git add . 将工作区的文件加到本地仓库暂存区里6.git commit -m ""  将暂存区的文件

2017-02-19 23:30:14 418

原创 git学习心得(一)——如何关联本地库和远程

1.在 git bash中 键入 ssh-keygen -t rsa -C "邮箱名"2.一路回车(鉴于不庄重的场合,不必设密码)3.在其提示的目录(一般是计算机用户主目录)中找到 id_rsa.pub 文件4.在此文件所在目录下打开cmd,键入 more id_rsa.pub 命令,得到此文件内容5.打开你的 github 账户,找到set界面中的SSH界面, 点击右上角的 ne

2017-02-12 21:02:19 326

原创 C++堆栈 如何把中缀表达式转换为后缀表达式——读书笔记

1.从头到尾读取中缀表达式中的每个对象,对不同对象按不同情况处理。(1)运算数:直接输出(2)左括号: 压入堆栈(3)右括号:将栈顶的运算符弹出并输出,直到遇到左括号(出栈,不输出)(4)运算符:如优先级大于栈顶优先级,则把它压栈如优先级小于栈顶运算符优先级,将栈顶运算符弹出并输出,在比较新的栈顶运算符优先级,直到该运算符优先级大于栈顶运算符优先级为止,并将该运算符压入栈。

2016-09-26 20:08:14 745

探究内存中栈、堆和数据区的分配和管理

程序存储时和运行时在内存中到底存了什么东西呢?

2017-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除