7 小马工匠坊

尚未进行身份认证

飞速的计算机世界也需要宁静的工匠精神。

等级
TA的排名 1w+

动态分配的内存在进程结束后会被操作系统回收吗?

首先答案是:会。这是当时在华为培训班的时候遇到的一个问题。很多同学本着C++没有内存回收的理论认为不会被回收。而我本着操作系统设计的时候就会考虑到这一点,所以大多数现代操作系统一定会回收。这是一个需求决定的机制,而不是由于语言的限制。我是这样分析的:1.操作系统是对于硬件的抽象。也就是说再没有操作系统的时候程序直接和机器打交道,而有了操作系统以后程序以为是很机器打交道,其实是在和操作系

2017-04-06 11:36:21

WebRTC学习-Janus第一天

今天阅读了janusgate-away文档。搭建了服务器,更改了一些参数。      总结一下需要提高和学习的地方:       linux命令,linux程序的配置文件和程序的管理的目录要熟悉。linux查看进程,关闭进程,启动进程等等的基本操作。使用linux脚本可以简化哪些操作。       Js前端的代码阅读理解。       C语言的代码规范。       

2017-03-20 18:36:24

ER图

ER图E-R图(EntityRelationshipDiagram)即实体联系图,也称实体关系图  E-R图即实体-联系图(EntityRelationshipDiagram),是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R方法:是“实体-联系方法”(Entity-RelationshipApproach)的简称。它是描述现实世界概念结

2017-03-17 10:36:20

一个简易的java http服务器

TTP是个大协议,完整功能的HTTP服务器必须响应资源请求,将URL转换为本地系统的资源名。响应各种形式的HTTP请求(GET、POST等)。处理不存在的文件请求,返回各种形式的状态码,解析MIME类型等。但许多特定功能的HTTP服务器并不需要所有这些功能。例如,很多网站只是想显示“建设中“的消息。很显然,Apache对于这样的网站是大材小用了。这样的网站完全可以使用只做一件事情的定制服务器。Ja

2017-03-16 16:32:36

Git rebase和 Git merge的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。Git merge是用来合并两个分支的。gitmergeb     #将b分支合并到当前分支同样gitrebaseb,也是把b分支合并到当前分支-----------------------------------他们的 原理如下:假设你现在基于远程分支"o

2017-03-15 15:53:49

21 种代码的坏味道

21种代码的坏味道代码   提问: 2年前 最后更新: 2年前 浏览数: 379211.DuplicatedCode(重复的代码)臭味行列中首当其冲的就是DuplicatedCode。如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将

2017-03-15 11:10:21

char数组和char指针

在C/C++中,指针和数组在很多地方可以互换使用,这使得我们产生一种错觉,感觉数组和指针两者是完全等价的,事实上数组和指针是有很大的区别的。1.两者在含义上的区别。  数组对应着一块内存区域,而指针是指向一块内存区域。其地址和容量在生命期里不会改变,只有数组的内容可以改变;而指针却不同,它指向的内存区域的大小可以随时改变,而且当指针指向常量字符串时,它的内容是不可以被修改的,否则

2017-03-15 11:03:56

转载_结构体中四字节对齐的详解

转载_结构体中四字节对齐的详解2013-06-0612:07 2967人阅读 评论(1) 收藏 举报 分类:C/C++(33) 一四字节对齐的规则C++中结构体变量的存储为什么有个4字节对齐的规则,这里是假设32位机器上,CPU在读取内存数据的时候4字节对齐会取得更快的速度;这是因为:1字节8位,4字节正好32位,而32位机器的寄存器,地址什

2017-03-15 11:03:21

为什么不能无损反编译?

从人的思路到机器代码,最后到cpu可以执行的指令。每一层经历的都是一个从概括到实现的过程。这也是工业的思路。上层来概括做什么,下层来决定怎么做。这也是人的欲望的思路,是或者说是人性中贪欲的思路。好了说的有点多。从一个想法可以解释为怎么实现,但是给你一堆实现你能概括出思路却很困难,这个困难也是反编译之所以不能等效的原因。这听起来有些匪夷所思,给我一台F16让我复制出来一台,不是比

2016-10-10 13:21:22

android 开发中获取versionName和versionCode

androidstudio中gradle文件和manifest中都有对于versionName和versionCode的配置。经过实践发现使用PocketManagergetPocketInfo中的versionName是gradle配置的,查阅官方文档发现gradle中的配置在build的时候会覆盖manifest中的。Todefinetheversioni

2016-09-07 13:37:47

BroadcastReceiver在Activity中注册则要在其中注销

BroadcastReceiver在Activity中注册则要在其中注销否则会报错09-0619:20:25.2814952-4952/com.segway.robot.clientE/ActivityThread:Activitycom.segway.robot.client.update.view.UpdateInfoDialogActivityhasleakedInt

2016-09-06 19:57:56

判断一个单链表是否有环及环的链接点

判断一个单链表是否有环及环的链接点转载▼给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fas

2016-09-05 17:24:53

仔细思考一个接口的不同实现得到的类和一个类的不同对象使用起来到底有什么区别?

最近在学习命令模式。例子中是定义一个Command接口,其中只有一个execute方法声明。接口的实现因为接口是不指定构造方法的参数,也不指定成员变量的。所以你可以用任何形式实例化这个接口,只要其中实现了这个接口方法。比如说开灯命令里面的execute中只要把light.on()方法写进去就可以了。而如果是播放cd命令的execute中就要写打开cd,放入碟片,调节音量等一系列操作

2016-08-25 16:38:26

从按按钮什么也不做想到的

最近学习设计模式,在命令模式中有一个例子。做一个远程遥控器。在远程遥控器初始化的时候是给每一个按钮的接口赋值上空命令。当然空命令是一个类,需要创建一个这样的类。如果不这样做的话在没有设置命令的接口按下按钮的时候就会使得程序崩溃。这让我体会到了一种精神,就是你的产品崩溃是你的产品自己内部的缺陷。你可能不需要给用户温馨的提示,但是最起码不至于让错误的操作让你自己崩溃。这是基本的

2016-08-25 08:55:01

理解HTTP幂等性

理解HTTP幂等性基于HTTP协议的WebAPI是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的WebAPI。为什么WebAPI如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服

2016-08-24 11:50:14

为什么http用的时候不能用POST方式替代全部的GET方式?

作者:罗志宇链接:https://www.zhihu.com/question/31640769/answer/52824098来源:知乎著作权归作者所有,转载请联系作者获得授权。事实上GET和POST在实践上面有非常大的区别,这两种方法在语义上面并非能互相取代。POST是否比GET安全是的,POST要比GET安全一点点,注意,是一点点。。。

2016-08-24 11:43:11

HTTP请求报文和HTTP响应报文 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 HTTP请求报文 一个H

HTTP请求报文和HTTP响应报文HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(requestline)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><

2016-08-24 11:21:15

Android 手势识别的理解

一个Activity实现OnGestureListener接口。创建一个GestureDetector传入this,即这个OnGestureListener接口。接下来系统就会在发生手势事件的时候调用OnGestureListener中的手势回调方法了。这里关于GestureListener有一个理解的问题。Listener对象是对事件发生以后要执行的事情进行重写。是实现要

2016-08-24 10:13:44

单例模式的再一次全面解析与不断解决问题的思路

很多地方我们要求一个对象存在一个。原因是这个对象在系统中需要保留连续的状态。从能用到好用到耐用,这种思路是我们应该学习的。1.可用的线程不安全方法publicclassSingleton{privatestaticSingletonuniqeInstance;//othervaribleprivateSingleton{}public

2016-08-23 14:09:22

JAVA线程安全之synchronized关键字的正确用法

JAVA线程安全关于synchronized关键字的用法,今天才知道原来我一直错了。以为用了synchronized关键字包住了代码就可以线程同步安全了。测试了下。发现是完全的错了。synchronized必须正确的使用才是真正的线程安全。。。虽然知道这种写法,一直以为却由于懒而用了错误的方法。看来基础还没有打好。仍需复习加强!工作中犯这种错误是不可原谅的,要知道使用synch

2016-08-23 13:48:36

查看更多

勋章 我的勋章
    暂无奖章