自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RowandJJ

阿里巴巴资深开发工程师

  • 博客(262)
  • 资源 (7)
  • 收藏
  • 关注

原创 循环队列

约定:1.以队列头指针在队列尾指针下一位置为队列满的标志.(即少使用一个空间)2.头指针始终指向队列头元素,尾指针始终指向队列尾元素的下一个位置./********************************队列的顺序存储结构by Rowandjj2014/4/19**********************************/#includeusing

2014-04-19 13:03:52 1694

原创 java编译期优化与运行期优化技术浅析

java语言的“编译期”是一段不确定的过程,因为它可能指的是前端编译器把java文件转变成class字节码文件的过程,也可能指的是虚拟机后端运行期间编译器(JIT)把字节码转变成机器码的过程。下面讨论的编译期优化指的是javac编译器将java文件转化为字节码的过程,而运行期间优化指的是JIT编译器所做的优化。编译期优化虚拟机设计团队把对性能的优化集中到了后端的即时编译器(

2014-04-18 13:22:23 3986

原创 java虚拟机字节码执行引擎浅析

执行引擎是java虚拟机的核心组成部分之一。    我们知道,javac编译器完成了程序代码经过词法分析、语法分析到抽象语法树、再遍历语法树生成线性的字节码指令流的过程。而字节码文件再经过加载、验证、准备、解析、初始化等阶段才能被使用。字节码执行引擎正是执行了这样的过程:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。运行时栈帧结构:栈帧(

2014-04-11 19:30:46 3039

原创 链队列

/***********************************************队列的链式存储by Rowandjj2014/4/11***********************************************/#include using namespace std;#define OK 1#define TRUE 1#define ERR

2014-04-11 19:25:49 1356

原创 栈的应用之迷宫求解

迷宫求解的思路很简单,即所谓的“穷举求解”,从入口出发,顺某一方向探索,若能走通,则继续往前走,否则沿着原路退回,换一个方向继续探索,直至所有可能的通路都探索到为止。为了保证在任何位置上都能沿着原路返回,需要使用栈来保存从入口到当前位置的路径。这里采用之前介绍的顺序栈作为容器存储路径。具体实现:/*****************************

2014-04-10 12:30:45 2681

原创 栈的应用

栈的实现基于上篇的链式栈。10进制转8进制:void conversion(){ Stack S; InitStack(S); unsigned n;//非负整数 ElemType e; cin>>n; while(n) { Push(S,n%8); n = n/8; } while

2014-04-10 12:26:55 1288

原创 链式栈

下面使用单链表实现链式栈:形态:实现:/*******************************************链式栈实现by Rowandjj2014/4/9*******************************************/#includeusing namespace std;#define OVERF

2014-04-10 12:24:15 1403

原创 顺序栈

形态:实现:/***********************************************栈的顺序存储形式by Rowandjj2014/4/7***********************************************/#includeusing namespace std;#define STACK_INIT_SIZE

2014-04-07 12:23:11 1479

原创 多项式的加法

实现:/*********************************多项式加法by Rowandjj2014/4/6*********************************/#includeusing namespace std;typedef struct _POLYNNODE_{ int coef;//系数 int expn;//指数

2014-04-07 12:20:55 2178

原创 具有实际意义的线性链表

从实际应用角度出发重新定义线性链表及其基本操作。/**********************************************具有实际意义的线性链表by Rowandjj2014/4/6***********************************************/#includeusing namespace std;#define OK 1

2014-04-06 12:36:16 1529

原创 设置尾指针的单循环链表

形态:实现:/************************************* 设立尾指针的的单循环链表 by Rowandjj 2014.4.5*************************************/#includeusing namespace std;#define OK 1 #define OVERFLOW 0

2014-04-06 12:34:50 9480 1

原创 2014腾讯实习生面试经历

话说之前也参加了2014腾讯暑期实习生的招聘,投的是移动客户端开发,一面被刷了,好悲剧。。。。同时也意识到了自己的不足。下面总结下经验:关于笔试:题型主要是多选题,填空题,附加题。涉及的知识点有:1.计算机基础。比如计算机网络,计算机组成原理,编译原理,操作系统。笔试选择题中几乎全部是这些东西,所以建议大家一定要复习好这块。2.数据结构与算法,这个非常重要,

2014-04-05 09:38:43 5607 26

原创 【安卓笔记】touch事件的分发和消费机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。继承ViewGroup的大多是容器控件,如LinearLa

2014-04-04 08:37:51 4119 6

原创 双向循环链表

双向链表的节点有两个指针域,其一指向前驱,另一个指向后继。形态:(1)链表为空时(2)链表不为空时:实现:/****************************************** 双向循环链表的实现 by Rowandjj date:2014.4.1*****************************

2014-04-01 22:51:03 1637

原创 循环单链表

循环单链表是单链表的另一种形式,其结构特点链表中最后一个结点的指针域不再是结束标记,而是指向整个链表的第一个结点,从而使链表形成一个环。形态:1,链表为空时:2,链表非空时:/*********************************************** 循环单链表的实现 by Rowandjj dat

2014-04-01 12:33:28 1344

原创 Class文件的加载过程

在class文件中描述的各种信息,最终都需要被加载到虚拟机中之后,才能被运行和使用。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。类加载的时机: 类从被加载到虚拟机内存开始,到卸载出内存为止,其生命周期包括:加载(loading),验证(veri

2014-03-31 12:29:56 2454

原创 静态链表

静态链表即使用一维数组描述的线性表,这种描述方式便于在不设“指针”类型的高级程序设计语言中使用链表结构。其存储形式为:/*线性表的静态单链表存储结构*/typedef struct _STATICLIST_{ ElemType data;//数据 int cursor;//游标}Component,StaticList[MAX_SIZE];其中data表示节点

2014-03-29 08:11:50 1886

原创 线性表的链式表示和实现

下面是线性表的链式表示和实现(c++语言,非伪代码)形态:实现:/**************************************线性表的链式表示和实现 带头结点的单链表,头结点指针域指向首节点,数据域为链表长度by Rowandjjdate 2014/3.27*****************************

2014-03-27 23:00:07 1765

原创 线性表的顺序表示和实现

/***********************************线性表的顺序表示和实现 by Rowandjj date 2014/3/27***********************************/#includeusing namespace std;#define LIST_INIT_SIZE 100//线性表空间的初始分配量#define L

2014-03-27 22:58:18 2419 1

原创 寻找单链表中倒数第k个元素

原理:设置快慢指针,快指针和慢指针初始时都指向链表首节点,然后快指针向后走k个单位,再让满指针和快指针同时向后走,当慢指针的值为空时快指针指向的节点的数据域即为所求。算法:#includeusing namespace std;typedef int ElemType;typedef struct _NODE_//节点声明,头结点数据域存放链表长度{ ElemTy

2014-03-25 23:19:46 1675

原创 【安卓笔记】ViewPager+Fragment布局中的Fragment数据更新

-------------------------------------------------------------------------------------请尊重作者劳动成果,转载请声明文章出处(http://blog.csdn.net/chdjj/)-----------------------------------------------------------

2014-03-24 23:38:52 10466 6

原创 【安卓笔记】使用ViewPager+Fragment实现选项卡切换效果

显示效果:实现过程:1.创建3个选项卡中的内容,即三个Fragment。这里仅贴出其中一个:Tab2:package com.example.viewpagerdemo3;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.

2014-03-19 23:30:43 7024 1

原创 【安卓笔记】Fragment

如何创建Fragment?Fragment通常创建在activity下,如果我们希望创建一个Fragment,可以在activity对应的布局文件中增加fragment节点(就跟清单文件一样),然后为该节点增加name或者class属性,绑定一个待实例化的Fragment类。具体步骤如下所示:1.在activity布局下增加fragment节点:<LinearLayout

2014-03-19 13:11:40 2275

原创 【安卓笔记】GestureDetector浅析

GestureDetector类用于检测一系列由 MotionEvent提供的手势事件,当特定的手势事件发生时,通过调用GestureDetector.OnGestureDetectorListener接口中定义的回调函数通知用户。使用方式:1.为你的view创建一个GestureDetector的实例;2.复写view的onTouchEvent,并调用Gestur

2014-03-15 08:51:28 1663

原创 java垃圾收集器(GC)浅析

了解java的人必然对GC不陌生。GC即垃圾回收器,我们都知道,java语言有自动内存管理的功能,程序员不必手动释放内存。本文将简单介绍垃圾回收器。GC的任务:哪些内存需要回收?什么时候回收?如何回收?GC回收哪些内存?之前我们介绍过了java运行时的数据区的各个部分,包括程序计数器,java虚拟机栈,本地方法栈,堆,方法区。其中程序计数器,虚拟机栈,本地方

2014-03-14 22:39:14 3065

原创 【安卓笔记】自定义view之组合控件

组合控件即将若干个系统已有的控件组合到一块形成一个组合控件,比如带返回按钮的标题栏就是一个最简单的组合控件。使用组合控件的好处是提高代码的复用性,一处定义多处使用。下面我们将使用组合控件实现这样的效果:首先,我们需要自定义一个view:package com.example.widgets;import android.app.Activity;import

2014-03-13 22:26:53 2550

原创 java内存区域浅析

JVM在执行java程序时会将它所管理的内存划分成若干个不同的数据区域。如图所示:其中方法区和堆是所有线程共享的数据区,其他区域则是线程隔离的数据区。这些区域的功能各有不同:程序计数器:可以理解为当前线程所执行的字节码的行号知识器。字节码解释器工作时会通过改变这个计数器的值来选取下一条需要执行的字节码指令。分支,循环,判断,异常处理,线程回复等功能都依赖这个计数

2014-03-13 12:01:56 2343

原创 【安卓笔记】异步加载大量图片

上一篇我们了解了android中几种解决OOM的方法,下面总结下:1.使用Bitmap.Options对图片进行适度的缩放2.图片使用完后,记得将图片置为null,并recycle3.如果图片是显示到listView或GridView等控件上,应该使用ViewHolder+ConvertView的方式重用View对象4.使用LruCache对图片进行内存缓存

2014-03-11 12:28:34 2947 2

原创 【安卓笔记】OOM解决方案

主流方案无非是以下三种:1:对图片进行缩放;2:内存缓存;3:文件缓存。--------------------------------------------------方法1:压缩图片package com.example.utils;import android.content.res.Resources;import android.graphics.Bitm

2014-03-04 13:21:26 2448 3

原创 【安卓笔记】Handler,Looper,MessageQueue,Message源码分析

这篇文章将分析android中的消息机制。通过上一篇文章,我们了解到:每一个handler其实都绑定了一个线程(Thread)和消息队列(MessageQueue),消息队列中存放的是一堆待处理的消息,Looper通过一个loop方法不断从消息队列中获取到消息(Message)(先进先出的方式),执行消息队列的出队方法,然后该消息会通过自身绑定target(其实是一个handler

2014-02-28 18:40:15 2797 6

原创 【安卓笔记】Handler+Thread使用浅析

之前介绍了AsyncTask,今天介绍Handler+Thread的使用方式。使用Handler+Thread也可以执行一个异步的任务,并可以通过handler更新UI。注:这篇文章只讲API,关于Handler,Looper,Message,MessageQueue的原理我们下一篇讨论。使用handler+Thread的典型方式是这样的:必须重写Handler的h

2014-02-28 14:28:22 2623 3

原创 【安卓笔记】在Notification中显示下载进度

效果:代码直接在上一篇AsyncTask示例中做修改,布局跟上次一样,这里不贴了。MainActivity:package com.example.asynctaskdemo4;import java.io.ByteArrayOutputStream;import java.io.InputStream;import org.apache.http.HttpE

2014-02-25 16:35:48 2532

原创 【安卓笔记】AsyncTask

简介:AsyncTask是android提供的一个处理异步任务的框架,相当于Handler+Thread。相比而言,AsyncTask的优点是封装良好,代码简洁。使用AsyncTask可以使你在后台执行耗时任务(doInBackground)并将结果反馈给UI线程(onPostExecute),方便UI线程更新界面,而不会阻塞UI线程。文档中说AsyncTask只适合执行短时任

2014-02-25 14:49:02 2124

原创 【安卓笔记】progressbar使用技巧

当在加载数据到litView或者其他控件上时,用户会有一个等待的时间,为了给用户一个友好的提示,通常我们会显示一个ProgressBar,待数据加载完毕后,ProgressBar自动消失。通常的做法是在布局外面套一个FrameLayout,然后在FramLayout下有两个子节点,一个作为显示的内容(如listView)另一个是ProgressBar,但是这样做会导致activity布局嵌

2014-02-24 15:25:21 3190 2

原创 【安卓笔记】自定义toggleButton

默认的toggleButton简直丑到爆表,强烈建议自定义。个人非常喜欢天天动听的UI,这次就拿这个应用上的togglebutton作为模仿对象。步骤:1.准备好资源。解压天天动听apk包,找到togglebutton按钮:解压出来的toggleButton是普通png格式的,这里我们可以使用工具将其改为9.png的,使用9patch工具时有个小技巧,那就是将s

2014-02-23 13:18:18 6550 1

原创 【安卓笔记】盘点android中的dialog

除了Toast和Notification之外,Dialog也可用于提示用户。创建dialog需要用到AlertDialog.Builder类,这可以理解为一个对话框的产生器,可以利用这个类创建各种种类的对话框。对话框创建好之后调用此类的create方法即可产生一个对话框,再调用show方法就可以将对话框显示到界面上。如果对话框用来展示一个进度,可以使用ProgressDialog类

2014-02-22 15:10:12 2717 4

原创 【安卓笔记】WebView控件使用

在Android中,可以使用Webview控件来浏览网页。下面我们就来介绍webView控件的使用方式:---------------------------------------------目录:1.webview加载url的方式2.webview的配置   (1)WebSettings   (2)WebViewClient

2014-02-22 10:37:19 2422

原创 【安卓笔记】notification使用

Notification能够使你的应用程序能够在不使用Activity的情况下通知用户。虽然Notification与Toast都可以起到通知、提醒的作用。但它们的实现原理和表现形式却完全不一样。Toast其实相当于一个组件 (Widget)。有些类似于没有按钮的对话框。而Notification是显示在屏幕上方状态栏中的信息。还有就是Notification需要用 NotificationM

2014-02-21 19:35:30 2307

原创 【安卓笔记】PendingIntent

PendingIntent这个类封装了一个Intent(意图),它表示即将发送的动作的类型。这个类的方法主要有两类,一类是getXXX,表示要激活的意图的类型,如activity,service或者是BroadcastReceiver等。另一类是send,表示立即发送这个意图。下面是常用的API:public static PendingIntent

2014-02-21 15:08:27 2066

原创 【安卓笔记】-----图片特效之怀旧风格

分享一个图片特效-------怀旧效果-------------------------------------------------------------------------------算法:经验公式如下:R = 0.393r+0.769g+0.189bG = 0.349r+0.686g+0.168bB = 0.272r+0.534g+0.

2014-02-20 22:14:36 1414

Android Programming Push the Limits

Android Programming Push the Limits,非常好的一本书。 不要分。

2015-04-08

volley测试代码

包括客户端以及对应的服务端(servlet),客户端代码中的各种url需要改成你电脑的ip。 配合这篇文章:http://blog.csdn.net/chdjj/article/details/43836615

2015-02-15

手机号码归属地离线数据库文件

手机号码归属地离线数据库文件(格式为.db)

2014-07-21

service全面解析

请查看我的博客:全面解析service组件一文的相关描述

2014-02-17

android下解析xml文件的demo

android下解析xml文件的demo

2014-02-08

软件工程 课件

软件工程 课程 的所有课件,非常完整 内容包括概述、软件过程、项目管理、需求、面向对象分析与设计、实现、测试、软件演化等内容

2013-06-04

jdbc连接mysql的文档

MySQL Connector/J Developer's Guide Abstract This manual describes how to install, configure, and develop database applications using MySQL Connector/J, the JDBC driver for communicating with MySQL servers. For release notes detailing the changes in each release of Connector/J, see MySQL Connector/J Release Notes. Document generated on: 2013-01-25 (revision: 34037)

2013-05-04

空空如也

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

TA关注的人

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