自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 收藏
  • 关注

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

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

2017-04-06 11:36:21 3934 2

原创 WebRTC学习-Janus第一天

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

2017-03-20 18:36:24 3225

转载 ER图

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

2017-03-17 10:36:20 1939

转载 一个简易的java http服务器

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

2017-03-16 16:32:36 4623

转载 Git rebase和 Git merge的区别

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

2017-03-15 15:53:49 931

转载 21 种代码的坏味道

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

2017-03-15 11:10:21 1758

转载 char数组和char指针

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

2017-03-15 11:03:56 1110 1

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

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

2017-03-15 11:03:21 2856

原创 为什么不能无损反编译?

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

2016-10-10 13:21:22 1120

原创 android 开发中获取versionName和versionCode

android studio中gradle文件和manifest中都有对于versionName和versionCode的配置。经过实践发现使用PocketManager get PocketInfo中的versionName是gradle配置的,查阅官方文档发现gradle中的配置在build的时候会覆盖manifest中的。To define the version i

2016-09-07 13:37:47 3412

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

BroadcastReceiver在Activity中注册则要在其中注销否则会报错09-06 19:20:25.281 4952-4952/com.segway.robot.client E/ActivityThread: Activity com.segway.robot.client.update.view.UpdateInfoDialogActivity has leaked Int

2016-09-06 19:57:56 1608

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

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

2016-09-05 17:24:53 625

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

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

2016-08-25 16:38:26 2028 1

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

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

2016-08-25 08:55:01 490

转载 理解HTTP幂等性

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

2016-08-24 11:50:14 619

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

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

2016-08-24 11:43:11 14342 2

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

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

2016-08-24 11:21:15 3089

原创 Android 手势识别的理解

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

2016-08-24 10:13:44 548

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

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

2016-08-23 14:09:22 652

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

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

2016-08-23 13:48:36 3182

原创 复习工厂模式想到的

简单工厂模式仅仅是把判断类型和产生对象的过程封装给一个工厂对象中了。通过在调用时传入不同的工厂来改变产品的种类。将对于原来的函数的修改转化为了对工厂的修改或者替换。这不是严格意义上的一种设计模式。但是是接下来的模式的基础。工厂方法模式:依赖的观察 :依赖倒转原则:两个图的倒转变化。背后的原理和思路。保持拓展空间

2016-08-23 11:12:29 549

原创 自己调用还是传入自己?——代码模拟现实中的逻辑还是不模拟?

最近复习设计模式,看到这样一个例子。我们要做一个披萨。Pissa orderPizza(){Pizza pizza=new Pissa();pizza.prepare();pizza.bake();pizza.cut();pizza.box();return pizza;}在new Pizza的时候,Pizza可以由不同类型的子类进行替代。从而重

2016-08-22 10:24:02 529

原创 再次图文理解Android 中Activity的启动模式

先介绍名词:任务栈Task。任务栈具有聚合性。后台一个个看到的都是任务栈。任务栈中的一个Activity迁移,会使得整个任务栈迁移。先说比较难的:一.Single Task顾名思义,Single Task是“单一栈”。先检查要启动的Activity是否在某个栈中有实例,如果没有则在新的栈中启动,如果有就在原来存在的栈中启动。在原来的栈中启

2016-08-17 09:00:47 550

转载 Java内部类访问外部对象为什么必须是final的呢?

为什么必须是final的呢?一个谜团如果你用过类似guava这种“伪函数式编程”风格的library的话,那下面这种风格的代码对你来说应该不陌生:123456789public void tryUsingGuava() { final int expectedLength = 4; Iterables.f

2016-08-16 15:12:31 2430

原创 石墨文档试验

为什么

2016-08-16 11:03:57 1660

原创 测试一下google doc直接上传截图 粘贴过来的效果

为什么google doc里面可以直接粘贴截图?用这个写博客在粘贴到博客里面不是很好?类似的黑科技多了干脆直接用google的博客了。

2016-08-16 10:20:55 1632

原创 关于虚拟Mac地址

最近做wifi P2P的项目。发现在wifiP2P中获取到的mac地址跟wifi局域网中的mac地址是不一样的。后来经过验证发现,其实自己用360免费wifi开启的网络也是wifi direct的原理。发现了一种设备叫做wifi direct vitual Adapter。他们的和真是的mac地址之间存在一些细微的差异,有的一位不同,有的两位

2016-08-12 20:14:42 13546

翻译 Wifi P2P 翻译自developer.android.com——API Guides

WifiP2P允许Android4.0以及以上的设备,通过wifi直接和其他设备相连,而不需要中继网络(Android的wifi p2p框架使用了Wifi Alliance的认证的程序)。使用这些API,你可以发现和连接其他使用Wifi P2pd的设备,,并且通过一个高速的连接进行通信,它的速度远远高于蓝牙连接。这对于要分享数据给其他应用的app来说十分有用,比如说多玩家游戏,或者分享照片的应用。

2016-08-12 14:42:16 1347

转载 Java中的null和悬空

初始化拿一个程序来说就是先加载基本的数据,拿变量来说就是给它一个初始值分配内存,初始化实例变量的值,还有就是依次创建当前类所在继承链上的所有类的对象。如果有初始化块,会自动运行。java中基本类型采用C与C++中相同的方法,不采用句柄的方式,基本类型的变量容纳了具体的值(固定长度),存在于堆栈中。如果基本数据类型作为一个类的成员变量,即使不显示初始化(赋值),java中保证

2016-08-10 15:14:58 996

翻译 使用网络服务发现(无线连接设备)——翻译自developer.android.com-Trainning

在你的app中添加网络服务发现功能可以让你的app发现局域网当中的其他设备,来支持你的app所需要的功能。这个功能对于很多的app都很有用,比如说,多人的游戏。Android的NSD API大大简化了你使用这些功能的麻烦。这节课教你怎样在局域网中广播你的名字和功能以及发现局域网中其他设备的广播。最后我们将实现连接到其他设备中的同样的app。在你的网络中注册一个服务提示:

2016-08-09 16:57:37 1158

翻译 创建点对点WiFi直连——翻译自developer.android.com Training

wifi p2p api可以让设备和身边的设备相连接,而不需要网络或者热点。android的wifi p2p框架使用了wifi-direct认证的程序。wifi p2p让你的应用快速找到并连接周围的设备,与之教育,这个范围要比蓝牙更广。这节课教你怎样使用wifi直连来找到和连接周围的设备。建立应用的权限要使用wifip2p,需要在manifest中添加权限CHANGE_WIFI

2016-08-09 10:42:59 1369

原创 GridView中 反复调用getView

引用篇文章。讲的很好,作者是个好老师:http://blog.csdn.net/chenxin_003/article/details/49006301检查你的GridView布局里面有没有会导致频繁计算的东西。在我的代码里面吧上边的标题设置了weight为1,下面的gridView 的weight 为5导致了,数量不定的gridview无法同时满足weight中和标题的比例。将w

2016-07-29 13:04:29 987

原创 每日总结 2016年七月28日一个地方的异常会引发其他地方的异常

在getItem的方法中返回了postion,导致getCount如同死循环一样不断调用。从而响应onClick的方法得不到调用,或者log无法被发现。要优先着手解决显而易见的异常,除非你确认这种情况不会影响其他部分。解决问题话思维导图,从多角度思考方案。

2016-07-28 17:50:04 534

原创 每日总结——2016年7月26号

1.AsyncTask的使用重点1.基本流程:继承AsyncTask2.执行exceute方法,其中传入参数,参数将会传入到doInBackgound中作为参数。3.onPostExecute和onPreExecute分别对应onInBackground之前和之后。4.onInBackgound中调用publishProgress()来向主线程提供进度消息。同时onProg

2016-07-26 16:36:40 586

翻译 Android官方mvp说明——Android架构蓝图——android Architecture Blueprints

Android框架在定义怎样组织和架构androidapp的时候,提供了很多的灵活性。这个自由,非常的有价值,可以使得app及时使用了很大的类,可以让命名和架构不会使得测试,维护,和拓展造成困难。Android Architecture Blueprints 展示了解决常见问题的可能方法。在这个项目中我们使用了不同的概念和工具来构架了同一个应用。你可以把这些例子看做是参考或者你

2016-07-14 10:11:20 1753

翻译 进行网络操作——翻译自developer.android.com Building Apps with Connectivity& the Cloud

这节课里面包含了连接网络的基本任务,监视网络连接,包括网络变化,并且让用户可以控制网络的使用。同样表述了如何解析和使用xml数据。这节课中包含一个展示怎样典型的网络操作的示例应用。经过这节课的学习,你将会拥有使得android app可以高效地网络下载以及解析数据的能力,与此同时使用最少的网络流量。提示:要查看Volly请参照 课程Transmitting Ne

2016-07-12 18:40:14 1975

翻译 分享简单的数据 Share Simple Data 翻译自developer.android.com

android应用程序的一个强大功能就是彼此的沟通和融合。当你的应用在已经准备好和另一个应用交互的时候,为什么不不在你的app中添加这个核心功能呢?这节中讲了一下在应用之间分享数据的常用方法,比如使用Intent API或者 ActionProvider API来发送和接受数据。向其他应用发送简单的数据当你构造一个intent,你需要指定intent会触发什么。andr

2016-07-05 10:16:04 878

翻译 View动画 View Animator——翻译自developer.android.com

你可以使用view动画来实现view间的间补动画。间补动画使用起始点,结束点,大小,旋转以及其他的其他的动画的典型的参数来计算动画。一个间补动画可以运行一系列的简单的变形在view对象的内容上,比如位置,大小,旋转和透明度。所以,胶乳你有一个textView的对象,你可以移动,旋转,放大和缩小。如果他有一个背景图片,那么背景图片也会随着改变。animation package 提供了在间补动画中用

2016-06-28 14:25:24 794

翻译 动画和图形一览——翻译自developer.android.com API Guides

中国的技术博客里面,大多数的作者,代码间的变量引用都透露着浮躁。我们的目的性太强了。stackoverflow里面的氛围如同知乎,甚至比知乎更加朴实和冷静。我们好需要很多成长,和大环境的成熟。使用Android有力的图形功能比如说OpenGL以及硬件加速,以及内置的UI动画。来让你的app看起来和表现的最好。博文android4.0图形和动画今天早些时候 ,andorid3

2016-06-27 15:50:17 609

转载 Android 自定义VideoView

介绍最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了。在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退。好了,下面开始。效果图效果图有点卡,我也不知道为啥。。。。。

2016-06-27 14:03:14 2924 4

空空如也

空空如也

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

TA关注的人

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