自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AsyncTask源码解析

作为异步消息机制,AsyncTask可替代Thread+Handler,以更新UI线程,先上一个例子,感受一下AsyncTaskAsyncTask是抽象类,因此首先需要继承它,并实现它为实现的方法。在继承时,需要三个泛型参数,params :执行任务时,传入的参数,在后台执行。Progress:任务执行过程中,需要显示当前进度的单位类型Result:执行完毕后,返回结果的类型

2015-12-27 16:39:30 266

原创 Looper, Handler,Message关系解析

提到这三个类,我们很容易联系到异步消息机制,那么异步消息机制的作用是什么呢?解决如下问题:   由于1,Android中的只有UI线程才能更新UI线程            2,并且UI线程里不能进行耗时操作,否则会报出ANR异常。那么我们如何进行耗时操作,并且更新UI界面的变化,这时异步消息机制就可以大展拳脚了!Looper:负责维护一个MessageQueue,并且

2015-12-26 15:13:18 293

原创 Binder框架及AIDL解析

Binder其实就是,连接服务端和客户端的桥梁,Binder可以提供系统中任何程序都可以访问的全局服务。(这时,我们可能会想到AIDL,因为提到全局的服务,我们一般都会用到AIDL,这和Binder有什么关系呢?其实,AIDL的内部实现,归根结底也是利用Binder的框架,只不过AIDL的代码是系统自动帮我们生成的,所以我们一般借助AIDL以简化不同应用程序间访问的全局服务。)我们可以把任意的

2015-12-26 12:45:24 332

原创 Spring AOP AspectJ注解和XML配置两种实现(Maven构建)

Spring AOP 的两种实现方式分别是注解@(基于AspectJ)和XML配置,虽然方式不同,但万变不离其宗,最终都是运用java反射和动态代理技术(这是JDK方式)或者java反射和CGlib(CGlib方式)。这是Spring内部支持的两种方式。jdk方式:运用了动态代理,因此必须有接口实现。CGlib方式:继承类,并不关心接口,因为没有用动态代理嘛。 本文主要

2015-12-23 19:04:20 23061 5

原创 解决:Hibernate 向Mysql插入中文数据乱码,出现???

刚开始,用hibernate,好不容易插入Mysql成功了,却发现中文乱码,搜索了半天,解决了问题,记录一下。hibernate插入mysql数据库出现中文乱码需要向两个方面检查,其一:mysql数据库的配置,看看你建立的表里面相应的字段是否utf-8字符编码,如果不是,将相应字段的字符编码改为utf8;也可以在my.ini文件里更改默认的字符配置,默认是latin,我们需要改为u

2015-12-22 10:52:14 1263

原创 解决MySQL服务无法启动及MySQL5.4.10更改root密码

以前没安装过配置的MySQL,这一次第一次安装.zip文件(需要解压的)MySQL,竟然出错,搞了半天,很是郁闷。先记录下步骤吧:1,配置环境变量:将MySql解压路径添加到Path环境变量.(这一步很常规,配置过Java环境变量的都会)2,在解压路径下复制my-default.ini到解压路径,并重命名为my.ini,在my.ini里更改(当然要注销掉#)basedir

2015-12-21 19:53:18 2320

原创 maven初识-Jetty,eclipse,maven结合

maven初识maven即构建项目工具(主要是克服一些jar包的依赖问题,解决工程在你哪里可以运行,而我却不能运行)maven是用于java的,配置之前需要配置JAVA_HOME(即jdk路径)配置maven:新建环境变量M2_HOME为maven解压路径,然后在环境变量Path里添加;%M2_HOME%;即可。测试:mvn -version构建maven项目:

2015-12-14 21:48:35 514

原创 Vim快捷键

首先需要知道命令模式与文本模式的切换命令模式->文本模式:i (即insert)插入到光标左侧文本模式->命令模式:esc退出键其次也得知道如何退出文本吧:注意由于退出文本属于命令键因此应该进入命令模式,即退出文本模式按esc:q!不保存强制退出:wq保存退出:q退出:w保存可以看出vim之强大在于它的组合功能将:q(退出)与:w(保存)组合起来就是

2015-12-13 10:30:39 402

原创 Git 项目上传至github入门实战并解决常见错误

1.Git GUI首先,在push到github的项目必须先建立版本(即creat  repository的名字一样),一般是先pull下来,再push(为了防止有其他人提交了代码,而你却不知道,造成的一些冲突)进行第三步时,必须写提交描述,否则报错,如下最后一步,需要填写目的路径,直接github上粘贴相应版本路径即可,还必须输入github的名字和密码

2015-12-12 19:14:07 7885

原创 git项目push到gitHub(配置篇)

首先需要注册gitHub账号,当然也必须有Git客户端啦打开Git 客户端,选择repository(即版本库,没有就新建一个)进入Git.Bash,输入:ssh-keygen -C '[email protected]' -t rsa邮箱号为注册github邮箱如图将会在c/Users/Administrator/.ssh/id_rsa 生成相应文件(注意此时还没生成),然

2015-12-12 13:02:29 756

原创 ConcurrentHashMap笔记

ConcurrrentHashMap的高并发性主要是参考这一篇,权当学习笔记啦谈到ConcurrentHashMap 由于涉及到高并发性,所以就不得不涉及到java的内存模型(不懂多线程内存模型,何谈并发?)重排序:表现为一种乱序执行,编译器生成指令的次序,可以不同于源代码所写的顺序执行(即编译器有可能不是顺序执行)。重排序后的指令,对于优化执行以及成熟的全局寄存器分配

2015-12-11 19:11:33 579

原创 Android Studio关于新建项目引入V7包导致的错误(最后附上Android Studio入门指南链接)

刚入手Android Studio ,新建项目,就遇到了麻烦。对于Android Studio的配置信息,会在build.gradel(两个:一个是project的,一个是gradel的)引用v7包会在下面多出一句配置。如下:dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile

2015-12-04 17:23:37 4064

空空如也

空空如也

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

TA关注的人

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