自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用图层覆盖实现边角圆角

package com.example.cc.view;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import andr...

2019-01-02 11:08:43 182

转载 Android 任务和返回栈

任务和返回栈一个应用程序当中通常都会包含很多个Activity,每个Activity都应该设计成为一个具有特定的功能,并且可以让用户进行操作的组件。另外,Activity之间还应该是可以相互启动的。比如,一个邮件应用中可能会包含一个用于展示邮件列表的Activity,而当用户点击了其中某一封邮件的时候,就会打开另外一个Activity来显示该封邮件的具体内容。除此之外,一个Acti

2015-12-28 14:39:56 517

原创 2016校招心得

转眼间就到大四了,我也成为16年茫茫求职人群中的一员。都说找工作不难,关键是要找到自己满意的工作难。我8月份便结束了自己的实习工作,回到学校准备校招,因为校招企业都喜欢问些操作系统,计算机网络等平常不太注重的科目。我投的企业还算不少,在前面接二连三的打击后,我也加入到海投队伍中,想想当初准备校招时的豪情壮语进入bat后大四一年就可以出去疯玩,至今都觉得可笑。首先是阿里巴巴,这家公司应该是bat

2015-10-28 10:12:14 681

原创 Java垃圾收集和Android垃圾收集

Java垃圾收集和Android垃圾收集其实本质上差不多一样。下面就来谈谈Java垃圾收集垃圾收集对象:堆里的对象,因为栈中的基本数据类型用完后会及时释放掉存储空间Java虚拟机采用分代收集,将堆中对象分为新生代和老生代,在新生代收集的时候只需要扫描新生代,而不需要扫描老生代。垃圾收集在收集一个对象时会判断是否引用指向对象,在Java中的引用主要有4种:分别是Strong refe

2015-09-06 11:13:11 508

原创 哈夫曼树实现

#include #include #define inf 1<<30using namespace std;//哈夫曼树实现//哈夫曼树的特征:如果有n个叶子节点的话,则总结点数为2*n-1。越频繁访问的编码越短struct node{ int parent, lson, rson; int val; //访问次数};void createTree(node p

2015-08-15 19:39:38 817

原创 A星算法,找寻最短路径

#include #include #include #include #include #define N 1000#define inf 1<<30;using namespace std;/* a星算法,找寻最短路径 算法核心:有两个表open表和close表 将方块添加到open列表中,该列表有最小的和值。且将这个方块称为S吧。 将S从open列表移除,然后添加

2015-08-14 17:56:47 4080 1

原创 从源码来理解ArrayList和LinkedList区别

从源码理解ArrayList和LinkedList区别ArrayListArrayList默认容量为10,实质是一个数组用于存放元素,size表示ArrayList所包含的元素个数。ArrayList的3个构造函数,第一个构造函数指定容量,第二个构造函数默认为一个空数组,第三个构造函数是从集合c转变为Arraylist的数组a

2015-08-11 23:56:27 1008

原创 基数排序(LSD)

示例代码:#include #include using namespace std;//基数排序(LSD)从最低位到最高位进行如此的分配收集void print(int a[], int n){ for(int t=0; t<n; ++t) { if(t+1<n) { printf("%d ", a[t]); } else { printf("%d\n"

2015-08-09 23:03:43 1003

原创 从源码来理解HashMap和HashSet

HashMap类HashMap 内有一个table数组存放,用关键字transient,则说明HashMap的table数组值是存放在内存中,不作为序列化数据保存。put函数如果key==null,注意:table是一个数组,而这个数组下每个元素的下面其实是个链表,都是通过hash(key)得到相同k位置(table[k])空值统一放在table

2015-08-09 09:17:04 596

原创 Java设计模式—观察者模式

观察者模式 Observer  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成  抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现

2015-08-04 09:21:37 477

原创 Java设计模式—适配器模式

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。  适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。以下是示例代码:/** * 适配器模式 * @author Admin * */public class Adapter { public static void start(powerA p){ //只接受

2015-07-31 16:47:15 482

原创 Java设计模式—单例模式和模板模式

1.单例模式方法:类构造方法私有的,类里面有个静态类对象用来保存这个类对象,并且这个类提供获取该类对象的静态方法。/** * 单例设计模式 * @author Admin * */public class Design1 { private String name; private static Design1 d; private Design1(String name){

2015-07-28 19:42:47 694

原创 Java设计模式—工厂设计模式

4.工厂设计模式(降低耦合,通过接口或者工厂类来实现)耦合性:粘度强(依耐性) Person p = new Person();  //耦合性强             Man p = new Person();     //耦合性弱,Man是接口或其他,Person实现这个接口简单工厂模式是有一个工厂对象决定创建哪一种产品类的实例。简单工厂模式是工厂模式家族中最简

2015-07-27 10:14:50 488

原创 Java 设计模式—装饰者模式

在Java编程语言中,嵌套了很多设计模式的思想,例如IO流中的缓冲流就使用到下面要介绍的装饰者设计模式。示例代码: * 抽象构件角色:定义一个抽象接口,来规范准备附加功能的类 * @author Admin * */public interface Drink { //被装饰者的基类 public String description(); pu

2015-07-26 20:35:44 498

原创 TCP编程,Socket通讯

网络编程分两种,一种是TCP编程,另一种是UDP编程(点击打开链接)。而本文先讲述简单的TCP编程,Socket套接字连接通讯,实现简单的客户端与服务器之间的信息传输。下面是客户端与服务器之间简单的数据传输(单对单):注意:服务端先启动,然后再启动客户端。客户端:public class C { public static void main(String[] arg

2015-07-26 10:07:49 596

原创 Android自定义弹窗效果

Android的弹窗效果有很多种,就最简单而言,就可以调用一个AlertDialog弹窗显示,可是要自定义弹窗效果有以下这种方法,就我个人而言感觉挺方便的,适用性也挺广的。首先先简单写个AlertDialog的使用public void showDialog(){ AlertDialog dialog = new AlertDialog.Builder(this) .s

2015-07-21 21:59:11 1661

转载 Android Monkey Test

如何进行Monkey Test 目录一 简介二 测试准备三 基本命令格式四 测试Log获取五 Monkey命令参数介绍六 Android Monkey test官方资料 一、简介Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如

2015-07-21 15:55:08 448

原创 Gson解析Json数据

在Android开发中就经常用到json解析,方便的是Google已经为我们提供了一个很棒的json解析库–gson。以下是示例代码:/** * GSON解析JSON数据 * @author dream * */public class TestGsonActivity extends Activity { @Override protected void onCreate(

2015-07-19 17:57:40 1217 1

原创 Android Camera

Android调用系统api使用照相机功能,实现拍照获取图片以及从照相机库中获取指定图片的功能。以下是示例代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:layout_width="match

2015-07-19 15:33:34 569

原创 Java网络请求

HttpURLConnection是java提供的用于网络访问的类。get请求方式:public class HttpURLGET { //HttpURLConnection类获取服务器一张图片 public static void main(String[] args) { // TODO Auto-generated method stub try { URL

2015-07-18 14:51:47 1225

原创 Android网络请求

Android网络请求通常用的是HttpURLConnection类和HttpClient类,HttpURLConnection类是由java提供的网络访问请求类,而HttpClient类是由apache提供的,它相当于是一个增强版本的HttpURLConnection类,换句话来说,HttpURLConnection可以做的事情HttpClient全部可以做。由于网络请求在Android

2015-07-18 14:44:37 753

原创 Android原生生成JSON与解析JSON

JSON数据是一种轻量级的数据交换格式,在Android中通常应用于客户端与服务器交互之间的数据传输。像现在在网上有很多解析JSON数据的jar包,但是归根到底用的都是Android原生解析JSON数据的方式,所以掌握Android原生解析JSON数据的方法相当重要。下面分为生成JSON数据和解析JSON数据,所用的包是org.json(1)生成JSON数据方法:比如要生成一个这样的j

2015-07-12 19:58:50 2992

原创 Android 消息处理源码分析(2)

Android 消息处理源码分析(1)http://blog.csdn.net/u012432475/article/details/46728669继续接着分析剩下的类文件Looper.javapublic final class Looper { final MessageQueue mQueue; //消息队列 final Thread mThread

2015-07-03 16:32:04 615

原创 Android 消息处理源码分析(1)

Android 消息处理源码分析(1)在Android中,通常被使用的消息队列的代码在目录\sources\android-22\android\os下,涉及到以下几个类文件Handler.javaLooper.javaMessage.javaMessageQueue.javaMessage.javapublic final class Message i

2015-07-02 16:59:41 593

原创 UDP编程

TCP编程:Socket、ServerSocketUDP编程:DatagramPacket、DatagramSocket简而言之,UDP协议发送数据报包,不管你有没有接收到,不可靠的传输,只管发过去而已服务端:public class Server { public static void main(String[] args) throws IOException {

2015-07-02 10:17:50 717

原创 JSON数据的生成与解析

JSON数据的生成与解析,首先先到网上下载一个json jar包,我用的是org.json示例代码:package json;import org.json.JSONArray;import org.json.JSONObject;public class Main { /** * 生成Json数据 */ public static String create

2015-07-01 21:32:49 2011

原创 SAX解析XML

package com.huang;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFac

2015-06-30 21:58:28 784

原创 DOM解析XML

DOM的文档驱动处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成 DOM树上的每个Node对象优点是:可以对XML文档进行增删改查的复杂操作,可以随时按照节点间的关系访问数据缺点:受内存容量限制,不能处理大的文档,由于没有索引机制,处理效率较低DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存

2015-06-30 21:54:18 524

原创 七大排序算法总结(含优化)

冒泡排序#include #define N 100using namespace std;int a[N];void bubbleSort(int n) //冒泡排序优化{ int t, j, flag=n, temp; while(flag>0) { j=flag; flag=0; for(t=1; t<j; ++t) //其实冒

2015-06-28 16:37:14 839

原创 java注释

java用  @interface Annotation{ } 定义一个注解类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,就去干相应的事。      注

2015-06-17 13:45:51 336

转载 Android基本架构

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android

2015-06-16 00:27:53 386

原创 ClassLoader自我总结

jdk下的解释ClassLoader:  (1)类加载器是负责加载类的对象。ClassLoader 类是一个抽象类。如果给定类的二进制名称,那么类加载器会试图查找或生成构成类定义的数据。一般策略是将名称转换为某个文件名,然后从文件系统读取该名称的“类文件”。  (2)每个 Class 对象都包含一个对定义它的 ClassLoader 的引用。  (3)数组类的 Class 对象不是由类

2015-06-08 16:06:25 366

转载 java ClassLoader详解

JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 一. ClassLoader基本概念1.ClassLoader分类类装载器是用来把类(class)装载进JVM的。JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined

2015-06-08 00:05:34 454

原创 状态压缩dp例题

#include #include #include #include #include #include #include #include #define LL long long #define N 10010#define mod 100000000 //poj3254using namespace std;

2015-06-04 21:30:14 650

原创 题意:给10^5个点的坐标,求出最小的两个点之间的距离

#include #include #include #include #include #include #include #include #include #define LL long long #define inf 999999999#define N 100100using namespace std; //hdu 1

2015-06-04 21:26:06 824

转载 volatile含义

java中volatile关键字的含义在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通

2015-06-04 09:52:53 395

原创 poj2528离散化处理数据 线段树

#include #include #include #include #include #include #include #include #include #include #define LL long long#define inf 0x7fffffff #define N 10500using namespace std; //poj2528/*题意

2015-06-04 00:23:01 674

原创 题意:给两个序列(长度达10^5,序列内的数都不同且都小于10^5),求这两个序列的最长公共序列的长度

#include #include #include #include #include #include #include #include #include #define LL long long#define N 100100using namespace std;int a[N], b[N], dp[N]; //nyoj See LCS again/*

2015-06-02 14:06:34 477

原创 基本树形dp及例题

#include #include #include #include #include #include #define N 6005 //树形dp POJ2342using namespace std;struct tree{ int child, father, brother;

2015-06-02 14:06:07 435

原创 CF224 div2 (C) CF226 div2 (C)

#include #include #include #include #include #include #include #include //CF224 div2 (C) #define long long LL#define N 100100#define inf 999999999using namespace std;/*插入一个数,使得一个序列的数等

2015-06-01 19:35:57 453

空空如也

空空如也

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

TA关注的人

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