自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 仔细思考一个接口的不同实现得到的类和一个类的不同对象使用起来到底有什么区别?

最近在学习命令模式。例子中是定义一个Command接口,其中只有一个execute方法声明。接口的实现因为接口是不指定构造方法的参数,也不指定成员变量的。所以你可以用任何形式实例化这个接口,只要其中实现了这个接口方法。比如说开灯命令里面的execute中只要把light.on()方法写进去就可以了。而如果是播放cd命令的execute中就要写打开cd,放入碟片,调节音量等一系列操作

2016-08-25 16:38:26 2057 1

原创 从按按钮什么也不做想到的

最近学习设计模式,在命令模式中有一个例子。做一个远程遥控器。在远程遥控器初始化的时候是给每一个按钮的接口赋值上空命令。当然空命令是一个类,需要创建一个这样的类。如果不这样做的话在没有设置命令的接口按下按钮的时候就会使得程序崩溃。这让我体会到了一种精神,就是你的产品崩溃是你的产品自己内部的缺陷。你可能不需要给用户温馨的提示,但是最起码不至于让错误的操作让你自己崩溃。这是基本的

2016-08-25 08:55:01 521

转载 理解HTTP幂等性

理解HTTP幂等性基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服

2016-08-24 11:50:14 638

转载 为什么http用的时候不能用POST方式替代全部的GET方式?

作者:罗志宇链接:https://www.zhihu.com/question/31640769/answer/52824098来源:知乎著作权归作者所有,转载请联系作者获得授权。事实上GET 和 POST 在实践上面有非常大的区别,这两种方法在语义上面并非能互相取代。POST 是否比 GET 安全是的, POST要比GET安全一点点,注意,是一点点。。。

2016-08-24 11:43:11 14649 2

转载 HTTP请求报文和HTTP响应报文 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 HTTP请求报文 一个H

HTTP请求报文和HTTP响应报文HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><

2016-08-24 11:21:15 3163

原创 Android 手势识别的理解

一个Activity实现OnGestureListener接口。创建一个GestureDetector传入this,即这个OnGestureListener接口。接下来系统就会在发生手势事件的时候调用OnGestureListener中的手势回调方法了。这里关于GestureListener有一个理解的问题。Listener对象是对事件发生以后要执行的事情进行重写。是实现要

2016-08-24 10:13:44 571

原创 单例模式的再一次全面解析与不断解决问题的思路

很多地方我们要求一个对象存在一个。原因是这个对象在系统中需要保留连续的状态。从能用到好用到耐用,这种思路是我们应该学习的。1.可用的线程不安全方法public class Singleton{ private static Singleton uniqeInstance; //other varible private Singleton{} public

2016-08-23 14:09:22 667

转载 JAVA线程安全之synchronized关键字的正确用法

JAVA线程安全关于synchronized关键字的用法,今天才知道原来我一直错了。以为用了synchronized关键字包住了代码就可以线程同步安全了。测试了下。发现是完全的错了。synchronized必须正确的使用才是真正的线程安全。。。虽然知道这种写法,一直以为却由于懒而用了错误的方法。看来基础还没有打好。仍需复习加强!工作中犯这种错误是不可原谅的,要知道使用synch

2016-08-23 13:48:36 3201

原创 复习工厂模式想到的

简单工厂模式仅仅是把判断类型和产生对象的过程封装给一个工厂对象中了。通过在调用时传入不同的工厂来改变产品的种类。将对于原来的函数的修改转化为了对工厂的修改或者替换。这不是严格意义上的一种设计模式。但是是接下来的模式的基础。工厂方法模式:依赖的观察 :依赖倒转原则:两个图的倒转变化。背后的原理和思路。保持拓展空间

2016-08-23 11:12:29 567

原创 自己调用还是传入自己?——代码模拟现实中的逻辑还是不模拟?

最近复习设计模式,看到这样一个例子。我们要做一个披萨。Pissa orderPizza(){Pizza pizza=new Pissa();pizza.prepare();pizza.bake();pizza.cut();pizza.box();return pizza;}在new Pizza的时候,Pizza可以由不同类型的子类进行替代。从而重

2016-08-22 10:24:02 557

原创 再次图文理解Android 中Activity的启动模式

先介绍名词:任务栈Task。任务栈具有聚合性。后台一个个看到的都是任务栈。任务栈中的一个Activity迁移,会使得整个任务栈迁移。先说比较难的:一.Single Task顾名思义,Single Task是“单一栈”。先检查要启动的Activity是否在某个栈中有实例,如果没有则在新的栈中启动,如果有就在原来存在的栈中启动。在原来的栈中启

2016-08-17 09:00:47 568

转载 Java内部类访问外部对象为什么必须是final的呢?

为什么必须是final的呢?一个谜团如果你用过类似guava这种“伪函数式编程”风格的library的话,那下面这种风格的代码对你来说应该不陌生:123456789public void tryUsingGuava() { final int expectedLength = 4; Iterables.f

2016-08-16 15:12:31 2449

原创 石墨文档试验

为什么

2016-08-16 11:03:57 1694

原创 测试一下google doc直接上传截图 粘贴过来的效果

为什么google doc里面可以直接粘贴截图?用这个写博客在粘贴到博客里面不是很好?类似的黑科技多了干脆直接用google的博客了。

2016-08-16 10:20:55 1658

原创 关于虚拟Mac地址

最近做wifi P2P的项目。发现在wifiP2P中获取到的mac地址跟wifi局域网中的mac地址是不一样的。后来经过验证发现,其实自己用360免费wifi开启的网络也是wifi direct的原理。发现了一种设备叫做wifi direct vitual Adapter。他们的和真是的mac地址之间存在一些细微的差异,有的一位不同,有的两位

2016-08-12 20:14:42 13711

翻译 Wifi P2P 翻译自developer.android.com——API Guides

WifiP2P允许Android4.0以及以上的设备,通过wifi直接和其他设备相连,而不需要中继网络(Android的wifi p2p框架使用了Wifi Alliance的认证的程序)。使用这些API,你可以发现和连接其他使用Wifi P2pd的设备,,并且通过一个高速的连接进行通信,它的速度远远高于蓝牙连接。这对于要分享数据给其他应用的app来说十分有用,比如说多玩家游戏,或者分享照片的应用。

2016-08-12 14:42:16 1380

转载 Java中的null和悬空

初始化拿一个程序来说就是先加载基本的数据,拿变量来说就是给它一个初始值分配内存,初始化实例变量的值,还有就是依次创建当前类所在继承链上的所有类的对象。如果有初始化块,会自动运行。java中基本类型采用C与C++中相同的方法,不采用句柄的方式,基本类型的变量容纳了具体的值(固定长度),存在于堆栈中。如果基本数据类型作为一个类的成员变量,即使不显示初始化(赋值),java中保证

2016-08-10 15:14:58 1110

翻译 使用网络服务发现(无线连接设备)——翻译自developer.android.com-Trainning

在你的app中添加网络服务发现功能可以让你的app发现局域网当中的其他设备,来支持你的app所需要的功能。这个功能对于很多的app都很有用,比如说,多人的游戏。Android的NSD API大大简化了你使用这些功能的麻烦。这节课教你怎样在局域网中广播你的名字和功能以及发现局域网中其他设备的广播。最后我们将实现连接到其他设备中的同样的app。在你的网络中注册一个服务提示:

2016-08-09 16:57:37 1201

翻译 创建点对点WiFi直连——翻译自developer.android.com Training

wifi p2p api可以让设备和身边的设备相连接,而不需要网络或者热点。android的wifi p2p框架使用了wifi-direct认证的程序。wifi p2p让你的应用快速找到并连接周围的设备,与之教育,这个范围要比蓝牙更广。这节课教你怎样使用wifi直连来找到和连接周围的设备。建立应用的权限要使用wifip2p,需要在manifest中添加权限CHANGE_WIFI

2016-08-09 10:42:59 1395

空空如也

空空如也

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

TA关注的人

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