自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 java设计模式——原型模式

原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。在Java中,复制对象是通过clone()实现的,先创建一个原型类:public class Prototype implements Cloneable { public Object clo

2016-10-28 20:25:25 395

原创 java设计模式——建造者模式(Builder)

相对于抽象工厂模式有了一定优势,抽象工厂模式只能创建存储单一类的实例,而建造者模式能存储多个类的实例了。上代码,pass:前几篇都用First、Second啥的,没法混了,现在换成人了(*^__^*) 嘻嘻……首先,依然是创建一个接口:public interface Man { public void createMan(); }其次,依然是两个实

2016-10-28 20:16:01 410

原创 java设计模式——抽象工厂模式

上一篇文章我们讲到了工厂方法模式的几种形式,已经能使用工厂类来在需要的时候创建某各类的实例。但是作为设计模式需要满足一下原则:1、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽

2016-10-28 16:33:40 447

原创 java设计模式——工厂方法模式

工厂方法模式分为三种:1、普通工厂模式:就是建立一个工厂类用于创建实现了同一接口的一些类的实例看下面实例代码:1.1 创建一个借口public interface Creator { public void funC(); } 1.2创建两个实现借口的类public class First implements Creator { @Override

2016-10-28 15:53:38 612

转载 Android异步消息处理机制完全解析

开始进入正题,我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了。   这

2016-10-28 01:38:57 337

转载 查找算法

/** * 一、顺序查找 * 说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表 **/  /** * 在s[0]-s[n-1]中顺序查找关键字为Key的记录 ,查找成功时返回该记录的下标序号;失败时返回-1 */ int SequelSearch(elemtype s[], keytype Key, in

2016-10-28 00:27:50 591

转载 Java面试之斐波纳契数列递归与非递归实现

问题:查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 解答:(一)递归实现:class Solution { /** * @param n: a

2016-10-28 00:12:42 467

转载 Java实现经典排序算法及复杂度稳定性分析

/* 冒泡排序 */ public static int[] bubbleSort(int[] arry) { for (int i = 0; i < arry.length; i++) { for (int j = i; j < arry.length - i - 1; j++) {

2016-10-28 00:09:56 2135

转载 java二叉树非递归之前序遍历

思路:采用栈来实现非递归遍历步骤:1.对root进行异常处理2.将root压入栈3.循环终止条件为栈s为空,所有元素均已处理完4.访问当前栈顶元素(首先取出栈顶元素,随后pop掉栈顶元素)并存入最终结果5.将右、左节点分别压入栈内,以便取元素时为先左后右。6.返回最终结果/** * Definition for a binary tree node. *

2016-10-28 00:04:10 395

转载 java二叉树非递归之中序遍历

思路:使用辅助栈改写递归程序,中序遍历没有前序遍历好写,其中之一就在于入栈出栈的顺序和限制规则。我们采用「左根右」的访问顺序可知主要由如下四步构成。步骤:1.首先需要一直对左子树迭代并将非空节点入栈2.节点指针为空后不再入栈3.当前节点为空时进行出栈操作,并访问栈顶节点4.将当前指针p用其右子节点替代步骤2,3,4对应「左根右」的遍历结构,只是此时的步骤2取的左值为空。/*

2016-10-28 00:02:51 334

转载 android软件开发之webView.addJavascriptInterface循环渐进【二】

新建工程为了让大家更容易的理解,所以我这里就尽量的将代码缩短,这是我的工程的配置创建好工程之后,然后将界面调整为下面这样添加代码首先将两个button和webview添加进来,并给web添加两个JavaScript调用接口,testFunc1和testFunc2private Button m_testButtom1;private Button m_te

2016-10-27 21:07:26 573

转载 android软件开发之webView.addJavascriptInterface循环渐进【一】

代码由于这里是第一阶段的webView所我就写个最简单的文章,这样大家可以循环渐进的来了解addJavascriptInterface这句话是怎么用的。在这里我们引用Google的一个事例下面是我Google给提供的一个dome的地址:点击打开链接我们先看它的HTML文件,HTML的文件路径是在:点击打开链接他的代码为: /* This f

2016-10-27 21:00:12 597

转载 android 使用html5作布局文件

在android开发中,通常使用xml格式来描述布局文件。就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层。大部分企业,其实还是程序员自己动手布局。这样既浪费时间和精力,也未必能达到理想的效果。但是,在企业级的android开发中,使用html页面进行布局,也有很多的优势(例如:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理)。据笔者了解,已经有不少的公司在使用这

2016-10-27 20:41:55 684

转载 Android数据存储五种方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下:       1 使用SharedPreferences存储数据    2 文件存储数据          3 SQLite数据库存储数据    4 使用ContentProvider存储数据    5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用SharedPreferences存储数据

2016-10-23 15:38:34 910

转载 android四大组件---BroadcastReceiver应用详解

据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断地学习新知识,不断地为自己注入新鲜的血液,才能使自己跟上技术的步伐。   今天我们来讲一下Android中BroadcastReceiver的相关知识。   BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。   在Android系统中,广播体现在方方面面,例

2016-10-23 13:51:25 1260

转载 android四大组件--ContentProvider详解

一、相关ContentProvider概念解析:1、ContentProvider简介   在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences、网络存储、文件存储、外储存储、SQLite。但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,例如我们需要操作系统里的

2016-10-23 13:03:32 481

转载 TCP/IP三次握手、四次挥手总结

(一)TCP/IP三次握手原理: 建立连接协议(三次握手) (1)客户端向服务器端发送连接请求包SYN(syn=j),等待服务器回应; (2)服务器端收到客户端连接请求包SYN(syn=j)后,将客户端的请求包SYN(syn=j)放入到自己的未连接队列,此时服务器需要发送两个包给客户端; 1.向客户端发送确认自己收到其连接请求的确认包ACK(ack=j+1),向客户端表明

2016-10-23 01:51:13 492

转载 Android跨进程通信的四种方式

由于Android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content P

2016-10-23 01:17:23 4701

转载 JAVA IO分析大汇总

一、Java中的流,可以从不同的角度进行分类。    (1)按照数据流的方向不同可以分为:输入流和输出流。    (2)按照处理数据单位不同可以分为:字节流和字符流。    (3)按照实现功能不同可以分为:节点流和处理流。    输出流:从程序输出到文件    输入流:从文件输入到程序    因此输入和输出都是从程序的角度来说的。    字节流:一次读入或读出是8位

2016-10-22 20:14:41 406

转载 解决在Fragment中不能自动弹出软键盘的问题

1.在Activity中,EditText 无法自动弹出软键盘,可以在尝试在AndroidManifest中设置android:windowSoftInputMode=adjustResize也可以edit.setFocusable(true); edit.setFocusableInTouchMode="true" edit.requestFocus(); 2.在Fragmen

2016-10-22 12:12:42 2875

转载 Java多线程面试常见核心问题总结

1. 有T1、T2、T3三个线程,如何怎样保证T2在T1执行完后执行,T3在T2执行完后执行?        使用join方法。        join方法的功能是使异步执行的线程变成同步执行。即调用线程实例的start方法后,该方法会立即返回,如果调用start方法后,需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面

2016-10-21 22:22:25 9119

空空如也

空空如也

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

TA关注的人

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