自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

转载 Git 自动补全

Mac 上使用 git 时,自动补全无法使用。需要借助 Homebrew 来下载必要的文件并且重新配置。安装 Homebrewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"1安装 bash-completion 和 gitbrew updatebrew instal...

2018-06-01 20:17:20 1008

原创 Android知识点<13> Android性能优化

参考: android开发艺术探索1. 布局优化 不增加嵌套层级的情况下用LinearLayout代替RelativeLayout,用include标签加载布局文件,merge标签和include一起使用减少布局层级;ViewStub继承了View且宽高都是0,用来按需加载所需的布局文件,当调用它的setVisibility或者inflate方法加载后,ViewStub就会被它内部的布局替换掉;拓...

2018-03-13 22:45:26 197

原创 Android知识点&lt;12&gt;BitMap加载和Cache

1. Bitmapbitmap是一张png、jpg等多种格式的图片,通过BitmapFactory的decodeFile、decodeResource、decodeStream、decodeByteArray四个方法分别从文件系统,资源,输入流以及字节数组中加载一个bitmap对象。这四类方法最终都在android的底层实现,对应着BitmapFactory的类的几个native方法。2.高效加载...

2018-03-13 21:49:26 160

原创 Android知识点<11> 动画机制

在Android 3.0之前的版本,我们能使用的动画类型有两种,分别是逐帧动画和补间动画;在Android3.0发布时,Android SDK又为开发者带来了更加强大灵活的属性动画,使得实现复杂的动画效果更加容易;随着时间的推进,在Android4.4中,Android SDK又为开发者带来了android.transition框架。逐帧动画(Frame Animation)有两种方式进行实现:X...

2018-03-13 19:50:43 171

原创 Android知识点<10>Android View - RomoteViews , SurfaceView,RecycleView,ListView

问题 : Activity-Window-View三者的差别Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图) LayoutInflater像剪刀,Xml配置像窗花图纸。在Activity中调用attach,创建了一个Window创建的window是其子类PhoneWindow,在attach中创建PhoneWindow在Activity中调用set...

2018-03-12 22:21:09 526

原创 Android知识点<9>View的工作原理

参考 任玉刚大神的 android开发艺术探索 ,在后面增加了一些常见的自定义View 的问题1. 相关概念: ViewRoot:ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程都是在viewroot中完成。View的绘制流程: View的绘制流程是从ViewRoot的performTraversals方法开始的,它...

2018-03-12 20:49:31 210

转载 Android知识点<8>View 的事件体系

转载  :http://blog.csdn.net/zizidemenghanxiao/article/details/50184295结论Tips(1)同一个事件序列:是指从手指接触屏幕的那一刻起,到手指离开屏幕的那一刻结束。其中会有一个down,多个move,一个up事件。(2)正常情况下,一个事件序列只能被一个VIew拦截且消耗,因为一旦拦截,剩下的就都交给拦截的那个View了。不过可以采取...

2018-03-12 20:12:07 229

原创 Android知识点<7> 数据存储

1. 概述Android 中有以下五种数据存储方式① 使用SharedPreferences存储数据 ② 文件存储数据③  SQLite数据库存储数据④ 使用ContentProvider存储数据⑤ 网络存储数据 2, sharedpreference SharedPreference类提供了一个总体框架,使您可以保存和检索的任何基本数据类型( boolean, float, int, long,...

2018-03-12 00:16:36 152

原创 Android 知识点<6> IPC机制

1. 背景介绍1.1 进程 : 进程是指操作系统的一个执行单元,在Android系统中可以理解为一个应用或者程序1.2 进程和线程的区别(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元(2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。(3)进程的创建调用fork或者vfork,而线程的创建调用pthread_c...

2018-03-11 23:55:24 117

原创 Android知识点<5>消息机制

Android的消息机制,主要指的是Handler机制。1. 背景介绍:一个程序的运行,就是一个进程的在执行,一个进程里面可以拥有很多个线程。主线程:也叫UI线程,或称ActivityThread,用于运行四大组件和处理他们用户的交互。 ActivityThread管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),在Android系统中,在默认情况下,一个应用程序内的各个组件...

2018-03-11 22:12:15 178

原创 Android知识点<4> Android 多线程相关知识点

在Android开发过程中,我们经常用到多线程的开发,尤其是因为在UI线程中我们不能进行耗时操作,所以很多时候需要在线程中进行操作。好在Android中有很多架构供我们使用。本文进行简单整理。主要有AsyncTask,HandlerThread,IntentService.AsyncTask1. 简单介绍AsyncTask是Android提供的一个轻量级的异步任务类,它对Thread(线程池)和H...

2018-03-11 21:32:24 268

原创 Android知识点<3> Service 相关

1.Service的生命周期1). 被启动的服务的生命周期:如果一个Service被某个Activity 调用 Context.startService 方法启动,那么不管是否有Activity使用bindService绑定或unbindService解除绑定到该Service,该Service都在后台运行。如果一个Service被startService 方法多次启动,那么onCreate方法只...

2018-03-11 17:40:14 124

原创 Android知识点&lt;2&gt; Fragment 相关知识

1.Fragment 的生命周期一些具体的场景 :具体场景:切换到该Fragment11-29 14:26:35.095: D/AppListFragment(7649): onAttach11-29 14:26:35.095: D/AppListFragment(7649): onCreate11-29 14:26:35.095: D/AppListFragment(7649): onCreat...

2018-03-11 17:01:25 97

原创 Android知识点<1> Activity 相关知识

1. Activity 的生命周期1.1 七个周期函数: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy()。onCreate(): 创建Activity时调用,设置在该方法中,还以Bundle的形式提供对以前存储的任何状态的访问。onStart(): Activity变为在屏幕上对用户可见...

2018-03-11 16:52:05 174

原创 Java知识点<15> 线程并发相关 - 全面整理

线程对象是可以产生线程的对象。比如在Java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。相比于多进程,多线程的优势有:    (1)进程之间不能共享数据,线程可以;    (2)系统创建进程需要为该进程重新分配系统资源,故创 建线程代价比较小;    (3)Jav...

2018-03-11 15:33:24 145

原创 Java知识点<14>Map 之 HashMap, TreeMap,ConcurrentHashMap,ArrayMap

1. HashMap1.1 基本概念1.1.1 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。1.1.2 HashMap&lt;K,V&gt;extends AbstractMap&lt;K,V&gt; implements Map&lt;K,V&gt;, Cloneable, Serializable1.1.3 HashMap 的实现不是同步的,这意味着它不是线程...

2018-03-10 22:38:20 376

原创 Java知识点<13> Java中的List Map Set

java集合的主要分为三种类型:Set(集)List(列表)Map(映射)1. Collection 是最基本的集合接口,声明了Java集合的通用方法,Set 和List 都继承自Collection2. Coleetion中声明的方法:boolean add(Object o)      :向集合中加入一个对象的引用    void clear():删除集合中所有的对象,即不再持有这些对象的引用...

2018-03-10 20:36:51 136

转载 Java知识点<12>Java中的容器

转载 : http://mp.blog.csdn.net/postedit1、容器的概念 在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体 2、容器与数组的关系 之所以需要容器: 1、数组的长度难以扩充 2、数组中数据的类型必须相同 容器与数组的区别与联系: 1、容器不是数组,不能通过下标的方式访...

2018-03-10 18:15:38 124

转载 Java知识点<11> 静态代理和动态代理

 转自 : http://blog.csdn.net/ikownyou/article/details/53081426一、代理概念 为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 图1:代理模式  从图中可以看出,代理...

2018-03-10 17:28:40 125

转载 Java知识点<10>常见的编码格式

编码计算机中存储信息的最小单元是一个字节,即8个bit,所以能表示的字符范围是0~255个人类要表示的符号太多,无法用一个字节来完全表示要解决这个矛盾必须要有一个新的数据结构char,从char到byte必须编码。目前常用的编码方式有ASCII、ISO8859-1、GB2312、GBK、UTF-8、UTF-16等ASCII码共有128个,用一个字节的低7位表示0~31 控制字符 如换行、回车、删除...

2018-03-10 17:19:03 166

转载 Java知识点<9> JVM以及内存回收机制

JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数。从dos到window8,从unix到ubuntu和CentOS,还有MAC OS等等,不同的操作系统指令集以...

2018-03-10 17:04:16 176

原创 Java知识点<8> final,finally,finalize的区别

Final : Final用于修饰类、成员变量和成员方法。当修饰类的时候,该类不能被继承,类中的所有方法也不能被继承,所以抽象类不能是final的。当修饰成员变量的时候,改编成不能再进行赋值:如果修饰的是基本数据类型,不能修改值,如果修饰的是引用变量,那么在初始化指向对应的变量之后,不能在修改被引用的变量,但是变量的内容是可以修改的。Final修饰的形参,不能在方法中对形参赋值;Final修饰的局...

2018-03-10 16:16:45 143

转载 Java知识点<7> 泛型中? super T和? extends T的区别

原文出处: 并发编程网经常发现有List&lt;? super T&gt;、Set&lt;? extends T&gt;的声明,是什么意思呢?&lt;? super T&gt;表示包括T在内的任何T的父类,&lt;? extends T&gt;表示包括T在内的任何T的子类,下面我们详细分析一下两种通配符具体的区别。extendsList&lt;? extends Number&gt; foo3的通...

2018-03-10 16:06:49 246

原创 Java知识点<6> 抽象类和接口

抽象和接口是支持抽象方法的两种机制,也是平时使用最频繁的内容,在架构设计方面也有很多涉及。通过本文进行一下知识点的整理。如果有不准确的地方,还请指正。1. 抽象1.1 首先明确什么是抽象方法,只有声明,没有具体方法体的方法我们称之为抽象方法,使用abstract进行修饰1.2 含有抽象方法的类,我们叫做抽象类。PS:之前一次面试,一个小姐姐问我抽象类是不是必须含有抽象方法,我当时认为,抽象类的主要...

2018-03-10 15:53:05 152

原创 Java知识点<5> String , StringBuilder , StringBuffer

String 是不可变类,也就是说,String对象一旦被创建,就不能被修改。当创建一个String对象之后,String的值会保存在内存里,当同样内容的对象被创建时,不会在进行值的创建,新创建的对象直接指向已经存在的String值。如果用String进行字符串操作,会产生很多的字符串对象,而且很多会是无效的对象,而这些对象是在常量区的,不会被回收(回收的区域主要是内存的 堆),所以效率很低 。S...

2018-03-10 11:06:59 145

原创 Java知识点<4>对java 三大特性的理解

每个学习Java的人,都能很直接的说出来Java的三大特性:封装,继承,多态。&lt;封装&gt;封装是把过程和数据包围起来,对数据的访问只能通过自定义的接口,这个可以保护里面的数据和结构不被修改。也就是建立一个私有对象,并把某些操作暴露给外部,这样可以让外部调用我们的方法来实现某些功能,但是某些具体的操作是不可见的对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可...

2018-03-10 10:36:57 598

原创 Java知识点<3> int与integer的区别

简单来说:1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 4、Integer的默认值是null,int的默认值是0因为Integer是int的包装类,所以一般用Integer使用的都是...

2018-03-09 22:20:04 149

原创 Java知识点<2> 各个基本数据类型在内存中占的字节大小

Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double注:1字节(byte)=8位(bits)

2018-03-09 22:12:29 705

原创 Java知识点<1> java中==和equals和hashCode的区别

结论 java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(==),比较的是他们的值。 2.引用类型(类、接口、数组)   当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果...

2018-03-09 22:05:38 147

原创 AlertDailog 对Activity 的生命周期影响

网上对题目所说的问题一直有不同的说法,今天有时间自己测试了下。首先,写一个Activity ,然后其中只有一个button,当button点击的时候,显示dialog.结论是 : dialog 确实不会影响Activity 的生命周期通过官方文档我们可以看到:     onPause()Called when the system is about to start resuming anothe...

2018-03-09 20:46:05 1085 1

转载 [转]面试题整理

【转】来自 - 微信号 - Java和Android架构一、java面试题熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等。(一) java基础面试知识点java中==和equals和hashCode的区别int、char、long各占多少字节数int与integer的区别探...

2018-03-08 22:09:05 667

转载 RSA加密算法

package com.myimooc.security.rsa;import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import java.security.*;import java.security.interfaces.RSAPrivateKey;import

2018-01-28 17:56:37 163

转载 SCP02会话密钥计算过程

描述GP规范中,SCP02会话秘钥的计算过程#LoadKeyGP_AEA57E0042780CEBBBD7CA2FE63CFF05 888D0508C5AF62E085F7D3FB713DBA33 42C9F4D5271376425FC49D5C7E697CA0# //装载GP认证密钥#GPExternalAuth_2001# //GP 外部认证209ms| 000

2018-01-28 17:17:14 3320

原创 Serializable 和Parcelable 区别

Serializable :1. java 平台序列化接口2. 使用简单,但是开销大,序列化和反序列化需要大量的IO操作。3. 序列到存储设备和网络传输,使用Serializable会比较好Parcelable;1. android 平台,官方推荐2. 效率比较高。3. 主要用在内存序列化。

2018-01-16 22:25:10 110

原创 [Android ] 多线程操作中更新UI控件的方法

因为子线程中不能更新主线程UI ,也不能在子线程中访问网络。关于子线程中更新主线程UI 有以下方式 :1. handler主线程中处理消息 : myHandler = new Handler(){      public void handleMessage(Message msg)       {                   switch (msg.what)

2015-08-23 22:05:08 630

原创 [ Android ]InputStream 和 String 转化 (备忘)

今天在学习的时候用到了 InputStream 和 String 之间的转换 ,记录下来,以备查阅 ~1. InputStream 转String     需要去读取输入流之中的字符,在拼接成字符串。      public String convertStreamToString(InputStream is) {      BufferedReader reader

2015-08-23 16:51:53 377

原创 Java智能卡学习(1)--开发环境配置

1. 开发环境的配置说明比较好的是下面的连接:     http://blog.csdn.net/menghnhhuan/article/details/7616690     配置 eclipse + jcop+ jcdk 是一个不错的选择,而且用起来还是不错的。    但是按照上面的说明安装完之后还会有一些小的问题,比如Run as 找不到对应的java card applicat

2015-08-21 20:00:38 399

JAVA智能卡原理与应用开发 张大伟,靳伟编著

JAVA智能卡原理与应用开发【作_者】张大伟,靳伟编著 , Java 智能卡开发很好的一本书

2015-08-19

空空如也

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

TA关注的人

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