自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术博客主页:http://my.csdn.net/u010321471

  • 博客(150)
  • 收藏
  • 关注

ubuntu安装qq

安装的版本是国际版 ==## 1.安装依赖库 ##sudo apt-get install libgtk2.0-0:i386sudo apt-get install lib32ncurses5## 2.下载 ##下载链接:http://pan.baidu.com/s/1jIwKdXs http://linux.linuxidc.com/## 3.解压并安装wineqqintl ##定位到该路径,然...

2016-11-13 14:27:03 182

Android的log日志知识点剖析

log类的继承结构Logpublic final class Log extends Object java.lang.Object ↳ android.util.Loglog日志的常用方法分为6个级别 ,低级别包括高级别V 详细(表示所有可能的日志,默认级别) D 调试(表示所有合理的调试用日志) I 信息(表示正常使用时的日志) W 警告(...

2016-11-10 19:57:35 279

Hexo写博客

hexo配置githubGitInstall hexo-deployer-git.$ npm install hexo-deployer-git –save配置_config.yml文件deploy: type: git repo: repository url branch: [branch] message: [message]选项...

2016-11-10 11:25:00 279

搭建属于自己的技术博客

每个程序员都需要自己的博客本文的博客搭建采用了静态博客技术 。技术框架是:github pages和hexohexo安装hexo介绍Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。安装hexo之前需要先安装git和node.js参考网站:https://h...

2016-11-10 09:27:00 191

Java程序员必须掌握的线程知识-Callable和Future

Callable和Future出现的原因创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之...

2016-11-08 21:11:00 141

Java程序员必备知识-多线程框架Executor详解

为什么引入Executor线程池框架new Thread()的缺点每次new Thread()耗费性能 调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。 不利于扩展,比如如定时执行、定期执行、线程中断采用线程池的优点重用存在的线程,减少对象创建、消亡的开销,性能佳 可有效控制最大并发...

2016-11-08 16:21:00 155

Java泛型详解

由于博客的特殊显示原因,尖括号用()代替泛型概述Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。优缺点从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的...

2016-09-25 23:43:00 139

Java程序员的必备知识-类加载机制详解

类加载器的概念类加载器是一个用来加载类文件的类。Java源代码通过javac编译器编译成类文件。然后JVM来执行类文件中的字节码来执行程序。类加载器负责加载文件系统、网络或其他来源的类文件。JVM中类加载器的树状层次结构Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。引导类加载器(bootstrap clas...

2016-09-25 21:31:00 153

程序员必须搞清的概念-equals和=和hashcode的区别

1. 首先equals()和hashcode的介绍equals 方法在非空对象引用上实现相等关系: * 自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。 * 对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。 * 传递性:对于任何非空引用值 x、y 和 z,如果 x.e...

2016-09-22 23:56:00 129

java内存垃圾回收模型

一.java的内存模型介绍如下6个组成部分1.程序计数器:一块较小内存区域,指向当前所执行的字节码。如果线程正在执行一个Java方法,这个计数器记录正在执行的虚拟机字节码指令的地址,如果执行的是Native方法,这个计算器值为空。2.Java虚拟机栈:线程私有的,其生命周期和线程一致,每个方法执行时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。3.本...

2016-09-22 23:08:00 175

海量数据处理算法(top K问题)

举例有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。思路首先把文件分开针对每个文件hash遍历,统计每个词语的频率使用堆进行遍历把堆归并起来具体的方案1.分治: 顺序读文件中,对于每个词c,取hash(c)%2000,然后按照该值存到2000个小文件中。这样每个文件大概是500k左右。注意...

2016-09-22 20:20:00 161

ceil和floor函数的编程实践

ceil()向上取整floor向下取整题目在最近几场魔兽争霸赛中,赫柏对自己的表现都不满意。 为了尽快提升战力,赫柏来到了雷鸣交易行并找到了幻兽师格丽,打算让格丽为自己的七阶幻兽升星。 经过漫长的等待以后,幻兽顺利升到了满星,赫柏很满意,打算给格丽一些小费。赫柏给小费是有原则的:1.最终给格丽的钱必须是5的倍数; 2.小费必须占最终支付费用的5%~10%之间(包...

2016-09-19 11:04:00 146

程序员易混淆的10个基础概念

1.java初始化过程:初始化父类中的静态成员变量和静态代码块 ; 初始化子类中的静态成员变量和静态代码块 ; 3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;4.初始化子类的普通成员变量和代码块,再执行子类的构造方法; 2.instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例3.linux的启动过程文件/s...

2016-09-19 10:46:00 175

DFS(深度优先)算法编程实践

DFS定义DFS(Depth-First-Search)深度优先搜索算法,是搜索算法的一种。是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点 。特点每次深度优先搜索的结果必然是图的一个连通分量。深度优先搜索可以从多点发起。如果将每个节点在深度优先搜索过程中的“结束时间”排序(具体做法是创建一个list,然后在每个节点的相邻节点都已被访问的情况下,将该节点加入li...

2016-09-19 10:31:00 182

Android的四个基本概念(线程通信和GLSurfaceView)

GLSurfaceView提供了下列特性:1> 管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上。 2> 管理一个EGL display,它能让opengl把内容渲染到上述的surface上。 3> 用户自定义渲染器(render)。 4> 让渲染器在独立的线程里运作,和UI线程分离。 5> 支持按...

2016-09-18 12:27:00 149

Java Math的 floor,round和ceil

floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。ceil 则是不小于他的最小整数 <script t...

2016-09-18 12:21:00 140

android自定义View-继承

介绍anroid通过继承系统的控件自定义view方法是通过对OnDraw()方法进行复写来实现的举例继承TextView在textView的背景加上矩形的效果代码实现testView的代码public class TestView extends TextView { public TestView(Context context) { su...

2016-09-18 11:42:00 146

Android的oom详解

Android的oom原因1.资源对象没关闭造成的内存泄露,try catch finally中将资源回收放到finally语句可以有效避免OOM。资源性对象比如:1-1,Cursor 1-2,调用registerReceiver后未调用unregisterReceiver() 1-3,未关闭InputStream/OutputStream 1-4,Bitmap使用后未调用re...

2016-09-11 17:36:00 188

Android优化之ArrayMap

ArrayMap的介绍官方对ArrayMap也有说明:它不是一个适应大数据的数据结构,相比传统的HashMap速度要慢,因为查找方法是二分法,并且当你删除或者添加数据时,会对空间重新调整,在使用大量数据时,效率并不明显,低于50%。ArrayMap是牺牲时间换空间ArrayMap和HashMap的区别1.存储方式不同HashMap内部有一个HashMapEntryarra...

2016-09-11 15:53:00 134

Android的ANR详解(原因和方案)

ANR的定义在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示...

2016-09-10 12:50:00 186

Android Handler机制剖析

android的handler机制是android的线程通信的核心机制Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。Android中的实现了接收消息的“消息队列” ——【MessageQueue】阻塞式地从消息队列中接收消息并进行处理的“线程” ——【Thread+Looper】可发送的“消息的格式” ——【Message】“...

2016-09-09 12:35:00 124

Android Service详解

service作为四大组件值得我们的更多的关注在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务。例如,一个从service播放音乐的音乐播放器,应被设置为前台运行,因为用户会明确地注意它的运行.在状态栏中的通知可能会显示当前的歌曲并且允许用户启动一个activity来与音乐播放器交互。Service的两种实现形式1.非绑定...

2016-09-09 10:58:00 117

计算机9个基础知识点

1.编译型语言和解释型语言的区别编译型语言:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的。编译程序将源程序翻译成目标程序后...

2016-09-08 21:37:00 140

希尔排序详解

概述希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序是基于插入排序的以下两点性...

2016-09-06 21:31:00 113

计算机10大基础知识点(一)

1.析构函数析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。以C++语言为例:析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不...

2016-09-06 17:13:00 159

最大流问题

举例描述最大流问题是一个很经典的问题,很多人对此也很熟悉,它能够等同于一个线性规划问题。下面给出最大流问题的一个基本描述:如下图所示,s是源点,t为汇点,每条边上数字的含义是边能够允许流过的最大流量。可以将边看成管道,0/3代表该管道每秒最多能通过3个单位的流量,0代表当前流量。最大流问题即是说,从s点到t点,最大允许流量是多少?公式描述的流量等于流出该点的流量。这个可以理...

2016-09-06 16:45:00 287

堆排序详解

概述堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。什么是堆?堆...

2016-09-06 12:59:00 211

选择排序详解

概述选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。思想选择排序法的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比...

2016-09-06 12:38:00 119

插入排序详解

概述有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。基本思想插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已...

2016-09-06 12:01:00 186

二叉树的性质

二叉树概述在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。性质概述二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结...

2016-09-06 11:10:00 162

哈夫曼树和哈夫曼编码

哈夫曼树给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。基本概念哈夫曼树(霍夫曼树)又称为最优树.1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度...

2016-09-04 11:56:00 121

操作系统基础(一)

操作系统把CPU的时间片分配给用户进程,再由用户进程的管理器将时间分配给用户线程。那么,用户进程能得到的时间片即为所有用户线程共享虚拟存储器的最大容量 = min(内存+外存,2^n)。n为计算机的地址总线位数。1.多道批处理 系统在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。 在多道批处理系统中,用户所提交的作业都先存放在外存...

2016-09-04 02:31:00 182

计算机网络基础(三)

arp协议:1,ARP协议和RARP协议是作用于数据链路层的,ARP协议的作用是将IP地址转换为物理地址,它的工作原理是,将ARP请求报文广播到所在网络上的所有主机,报文中含有目的主机的IP地址,只有目标主机可以返回一个ARP应答报文,报文中含有该主机的物理地址。2,网络层的协议是IP协议和ICMP协议。3,传输层的协议是TCP和UDP。4.arp属于网络层TCP三次握手...

2016-09-04 01:15:00 150

计算机网络基础(二)

OSI的基本协议物理层:RJ45 、 CLOCK 、 IEEE802.3 (中继器,集线器,网关) - 数据链路:PPP 、 FR 、 HDLC 、 VLAN 、 MAC (网桥,交换机) - 网络层:IP 、 ICMP 、 ARP 、 RARP 、 OSPF 、 IPX 、 RIP 、 IGRP 、 (路由器) - 传输层:TCP 、 UDP 、...

2016-09-04 00:43:00 282

加密算法-RSA

RSA概述RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数...

2016-09-03 23:52:00 267

网络基础概念(一)

NAT:NAT(Network Address Translation,网络地址转换)。 NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。 通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭 NAT不仅能解决了lP地址不足的问题...

2016-09-03 23:09:00 151

HashMap方法介绍

1. Map的遍历方式(1) for each map.entrySet()Map<String, String> map = new HashMap<String, String>();for (Entry<String, String> entry : map.entrySet()) { entry.getKey(); e...

2016-09-02 15:36:00 121

Collections类解析

最常用的排序:需要实现Comparable接口1.什么是Comparable接口此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合...

2016-09-02 15:16:00 116

路由算法总结

概述通信子网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。考虑的因素在数据报方式中网络节点要为每个分组路由做出选择;而在虚电路方式中,只需在连接建立时确定路由。确定路由选择的策略称路由算法。设计路由算法时要考虑诸多技术要素。首先是路由算法所基于的性能指标,一种是选择最短路由,一种是选择最优路由;其次...

2016-09-02 14:50:00 276

Bellman-Ford算法

概述:Bellman - ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写。其原理为持续地进行松弛(原文是这么写的,为什么要叫松弛,争议很大),在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环,因此无法得出结果,否则就完成。Bellman - ford算法有一个小优化:每次松弛先设一个标识flag,初值为FALSE,若有边更新则赋值为TRUE,...

2016-09-02 14:39:00 133

空空如也

空空如也

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

TA关注的人

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