自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Ubuntu14.04系统hostapd编译及使用

本文主要介绍在Ubuntu14.04系统环境中编译hostapd,以及其使用。 我的需求是在linux上创建WIFI热点,最早接触的是ap-hostapd这个脚本,然后参考网络文章安装hostapd以及dnsmasq。对于ap-hostpad的使用,网络已经有大量文章,笔者也就不再写了。不过由于hostapd版本关系,有些功能可能不支持,或者某些功能没有被编译。于是就得自己手动编译hosta

2016-09-27 14:43:07 2089

原创 mergeSort代码实现

#include #include using namespace std; //这里将结果保存到了res数组中了 void merge_sort(vectorint> &nums,int left,int right,vectorint> &res) {     if(left>=right)         return;     int

2016-09-25 10:36:42 760

原创 quickSort排序的写法

#include #include using namespace std; //一次for循环查找子数组最大值,将最大值记录在max,如果则将sum=0,重新开始记录 int partition(vectorint> &nums,int left,int right) {          int prior=nums[right];  

2016-09-24 21:58:01 408

原创 Fragment的嵌套

这是fragment嵌套的问题 fragment嵌套里面不能用再用getActivity().getFragmentManager() 要用getChildFragmentManager()

2016-09-24 21:01:59 302

转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。

2016-09-24 20:43:51 303

转载 UDP实现可靠数据传输

UDP没有Delievery   Garuantee,也没有顺序保证,所以如果你要求你的数据发送与接受既要高效,又要保证有序,收包确认等,你就需要在UDP协议上构建自己的协议。比如RTCP,RTP协议就是在UPD协议之上专门为H.323协议簇上的IP电话设计的一种介于传输层和应用层之间的协议。 下面分别介绍三种使用UDP进行可靠数据传输的协议 RUDP RTP

2016-09-24 18:21:56 2235

转载 内存缓存LruCache实现原理

自己项目中一直都是用的开源的xUtils框架,包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模块,这四大模块都是项目中比较常用的。最近决定研究一下xUtils的源码,用了这么久总得知道它的实现原理吧。我是先从先从BitmapUtils模块开始的。BitmapUtils和大多数图片加载框架一样,都是基于内存-文件-网络三级缓存。也就是加载图片的时候首先从内存缓

2016-09-24 16:48:58 268

转载 Android自定义捕获Application全局异常

大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开

2016-09-19 21:16:50 242

转载 Java动态代理的实现

动态代理作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java动态代理的实现过程。        友情提示:本文略有难度,读者需具备代理模式相关基础知识,。           通常情况下,代理模式中的每一个代理类在编译之后都会生成一个class文件,代理类所实现的接口和所代理的方法都被固定,这种代理被称之为静态代理(Sta

2016-09-19 14:44:11 229

转载 Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划

在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中。它有两个特点,一是能够辅助内存管理系统来有效地管理不再使用的内存块,二是它通过Binder进程间通信机制来实现进程间的内存共享。本文中,我们将通过实例来简要介绍Android系统的匿名共享内存的使用方法,使得我们对Android系统的匿名共享内存

2016-09-19 10:44:43 539

转载 三种快排及四种优化方式

1、快速排序的基本思想:  快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 2、快速排序的三个步骤:  (1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基准”(pivot)  (2)分割操作:以该基准在序列中的实际位置,把序列分成两个子序列。此时

2016-09-14 15:28:12 1067

转载 TCP三次握手及其背后的缺陷

概述 总结一下TCP中3次握手过程,以及其原生的缺陷 引起的SYN Flood的介绍 【1】TCP三次握手 【2】SYN Flood 1、TCP连接建立——三次握手 几个概念: 【1】seq:序号,占4个字节,范围[0,4284967296],由于TCP是面向字节流的,在一个1个TCP连接中传送字节流中国的每一个字节都按照顺序编号,此外序号是循环使用

2016-09-14 15:10:38 380

转载 super()和this()的区别和用法

1)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。 2)super()和this()类似,区别是,super从子类中调用父类的构造方法,this()在同一类内调用其它方法。  3)super()和this()均需放在构造方法内第一行。  4)尽管

2016-09-11 09:31:25 308

转载 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms355

2016-09-09 14:46:29 271

转载 SQLite多线程下的并发操作

这两天一直在捣鼓SQLite数据库,基本的操作就不说了,比较简单,打算有空的话另起一篇博文简单总结一下。 这里主要想探讨一下多路并发下的数据库操作 SQLite作为一款小型的嵌入式数据库,本身没有提供复杂的锁定机制,无法内部管理多路并发下的数据操作同步问题,更谈不上优化,所以涉及到多路并发的情况,需要外部进行读写锁控制,否则SQLite会返回SQLITE_BUSY错误,以驳回相关请求。 如果

2016-09-07 21:46:31 2026

原创 Glide 源码分析

闲来无事,就按照代码的调用方式来分析下Glide的源码,顺便方便自己以后翻看(水平有点低,欢迎留言)。 首先,我们先分析下一般的加载图片的工具类需要具有 的功能: 1、需要使用双缓存机制,对图片进行本地和内存的存储; 2、需要使用多线程对网上的图片进行下载,还需要根据需求进行裁剪; 3、需要UI线程和下载线程的交流,从而实现加载图片的要求。 4、还要考虑加载图片的一些内存回收; 姑且只

2016-09-07 16:50:29 679

转载 java中的强制类型转换

数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中 “ 悄然 ” 进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。 自动数据类型转换 自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:      低 -------------------------------------------

2016-09-07 14:34:17 2665

转载 【大家明白才是真的明白】如何根据动态规划数组求得最佳策略

我们知道,我们可以使用二维数组求得一个DP问题的最佳值,但是并没有求得其最佳方案。 以背包问题为例,如何根据已经求得的二维数组 dp[N+1][W+1] ,求得最佳选择方案呢? 只需要看DP代码,如下: [cpp] view plain copy   int dpf[N+1][W+1]; //数组从0开始   int dp_solve()   { 

2016-09-05 15:24:53 401

转载 复写的要求

方法的重写(override)两同两小一大原则:  方法名相同,参数类型相同  子类返回类型小于等于父类方法返回类型,  子类抛出异常小于等于父类方法抛出异常,  子类访问权限大于等于父类方法访问权限

2016-09-04 20:49:27 757

转载 Fragment与Activity通讯

与activity通讯 尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。 Fragment可以调用getActivity()方法很容易的得到它所在的activity的对象,然后就可以查找activity中的控件们(findViewById())。例如: ViewlistVi

2016-09-04 20:04:34 293

转载 ListView动态刷新某项Item

使用ViewHolder来刷新某项数据,而不用每次都全部刷新数据。 继承BaseAdapter,新建ViewHolder类。 [html] view plain copy  print? public class TestListAdapter extends BaseAdapter {       private Context mCon

2016-09-03 21:24:03 405

原创 IntentService的源码分析

public abstract class IntentService extends Service { private volatile Looper mServiceLooper; private volatile ServiceHandler mServiceHandler; private String mName; private boolean mRe

2016-09-03 20:44:18 233

glove.6B 词向量下载

官网glove词向量,glove.6B下载 https://nlp.stanford.edu/projects/glove/

2019-09-04

空空如也

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

TA关注的人

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