自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android的进程和线程

Android的进程和线程[Toc] 当某个应用组件启动且该应用没有启动其他任何组件时,Android系统会使用单个执行线程为应用启动新的Linux进程。==默认情况下,同一应用的所有组件运行在相同的进程和线程中(称为“主”进程)。== 如果某个应用组件启动且该应用已存在进程(因为存在其他组件),则该组件会在此进程中启动并使用相同的执行线程。但,可以安排其他组件在单独的进程中,并为任何进程创建额

2017-04-22 09:20:54 493 1

原创 C++回调函数

回调函数,百度百科给的解释是:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。废话不多说,先上代码。/////////利用回调函数实现自定义定时器////////////////#

2017-03-29 14:59:19 321

原创 JVM学习之运行时数据区域

JVM运行时数据区域如下图所示。 1 程序计数器线程私有。类似于硬件中的PC计数器。它是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。在虚拟机概念模型中,字节码解释器在工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,因此,分支、循环、跳转、异常处理、线程回复等都是依赖于这个计数器来完成的。 注1: 如果线程正在执行的是以Java方法,它记录的是正在执行的虚

2017-03-05 09:01:07 600

原创 JVM学习之对象的创建

JVM学习之对象的创建1 类加载检查:虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用所代表的类是否已经被加载-连接(验证、准备、解析)-初始化过。如果没有,必须先执行类的加载过程。2 分配内存:接下来为新生对象分配内存。对象所需内存大小在类加载完成之后便可以确定。如果Java堆中内存是规整的,则使用指针碰撞的方式进行分配(用过的内存放在

2017-03-05 07:32:31 294

原创 不同复杂度求解最大连续和

问题描述: 给定一个整数序列A[0],A[1], … , A[N-1],每个元素可正可负,求该序列中最大的连续和。## **方法1 暴力求解法**这种方法最直接,暴力枚举每一个每一个连续片段的起点和终点,然后求相应的和。其复杂度即为O(n3)O(n^3)。 算法描述为:int maxx = A[0];for(int i=0; i<N; i++) for(int j=i; j

2016-09-29 13:44:00 332

原创 Leetcode 336 回文对

本文借鉴了https://discuss.leetcode.com/topic/51771/clean-c-implementation原题回放给定一个无重复字符串列表words,找出所有的序偶对(i,j),如果words[i]+words[j]是一个回文串的话。 例如: words = [“bat”, “tab”, “cat”] 返回 [[0,1], [1,0]] 回文串即[“ba

2016-09-13 17:58:28 827

原创 算法实现之交换排序——冒泡与快排

冒泡排序基本思想:将需要排序的全部元素看成一列,自上而下对相邻两个元素进行比较和调整,让较大的元素往下沉,较小的元素往上冒。也就是如果相邻的两个元素比较后发现与要求的排序顺序相反,则交换他们的位置。元素往上冒的过程类似于水中的气泡,所以叫冒泡排序。算法实现: void bubblesort(int a[], int n) { for (int i = n-1; i > 0;

2016-05-11 21:53:54 439

原创 算法实现之简单选择排序、二元选择排序和堆排序

简单选择排序基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 void selectsort(int *a, int n) { for (int i = 0; i < n; ++i) ...

2016-05-09 22:12:00 939

原创 算法实现之直接插入排序与shell排序

1、直接插入排序顾名思义,即直接以插入的方式排序,就是把原始数据分成两类:有序部分和无序部分,然后依次将无序部分的所有数据插入到有序部分。由于遇到相等的数据,会把新插入的数据放在其后,所以,直接插入排序是稳定的。void insertsort(int *a, int n){ for (int i = 1; i < n; i++) { if (a[i] < a[i - 1]

2016-05-08 23:51:23 453

原创 前++与后++

自增符号分为前++与后++。对于这两个符号,单独使用时,若变量为内置数据类型,则基本没有区别;若变量为自定义数据类型如STL中,前++的效率要高于后++,因为后++使用时需要一个临时变量保存变量自增前的值,所以STL中关于iterator都是用前++。今天主要讨论一下前、后++与其他运算混合使用时的区别。

2013-09-21 17:42:44 991

空空如也

空空如也

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

TA关注的人

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