自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

转载 理解 Android 的 Binder 机制

可以说 Binder 是 Android 底层系统的一个特色了,它很好地解决了进程间通讯的问题。其实网上有很多介绍 Binder 的文章,那么本文还是想将 Binder 这部分内容细化一下,更适合于初学者阅读。Binder 产生的背景首先我们说说为什么会出现 Binder 这个东西。作为 iOS 开发者,我还是情不自禁地想去谈谈 iOS app,事实上,iOS 的每一个 app 都是一个独立的

2017-11-30 15:49:56 340

转载 你真的理解AIDL中的in,out,inout么?

前言这其实是一个很小的知识点,大部分人在使用AIDL的过程中也基本没有因为这个出现过错误,正因为它小,所以在大部分的网上关于AIDL的文章中,它都被忽视了——或者并没有,但所占篇幅甚小,且基本上都是官方文档的译文,译者读者其实都不知其然。这几天在研究AIDL,偏偏我又是个执拗的性子,遇着不清不楚的东西就是想把它捋清楚,就下了些功夫研究了下AIDL中的定向tag,研究了下它的 in , ou

2017-11-30 15:37:53 461

转载 Android:学习AIDL,这一篇文章就够了(上)

前言在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了。不过又转念一想,我辈年轻人自当有一种一往无前的锐气,标题大气一点岂不更好?并且大家都是文明人,总归更多的是理解与补充而不是侮辱与谩骂?所以最终还是厚颜用了这么一个不怎么有耻的标题。好了,接下来进入正题,

2017-11-30 15:18:26 324

原创 AIDL 和binder 原理

文章中提到的 IBookManager 和 getBookList 是下面代码中的 IMyAidlInterface 和 sum(**)函数GIT: https://github.com/whtchl/AidlTemplateBinder的原理 要想了解AIDL就需要先了解Binder的原理,所以这里先说一下Binder原理,Binder的原理大概是这样:服务器端:当我们在服务端创建好了一个B

2017-11-30 14:49:04 355

转载 Android中AIDL的工作原理

IPC在这之前我们先简单说一下IPC,IPC是Inter-Process Communication的缩写,是进程间通信或者跨进程通信的意思,既然说到进程,大家要区分一下进程和线程,进程一般指的是一个执行单元,它拥有独立的地址空间,也就是一个应用或者一个程序。线程是CPU调度的最小单元,是进程中的一个执行部分或者说是执行体,两者之间是包含与被包含的关系。因为进程间的资源不能共享的,所以每个系统都

2017-11-30 14:06:11 3216

原创 Android中AIDL的使用详解

AIDL用来做什么AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写,对于小白来说,AIDL的作用是让你可以在自己的APP里绑定一个其他APP的service,这样你的APP可以和其他APP交互。AIDL的使用在android studio 2.0里

2017-11-30 13:43:12 422

转载 Android进程间通信的几种方式

定义多进程Android应用中使用多进程只有一个办法(用NDK的fork来做除外),就是在AndroidManifest.xml中声明组件时,用android:process属性来指定。不知定process属性,则默认运行在主进程中,主进程名字为包名。android:process = package:remote,将运行在package:remote进程中,属于全局进程,

2017-11-29 16:31:15 278

转载 FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等

FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞。由于:FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞这两个特性,我们可以用来预先加载一些可能用到资源,然后要用的时候,调用get方法获取(如果资源加载完,直接返回;否则继续等待其

2017-11-29 14:40:40 276

转载 Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务

2017-11-29 11:24:58 139

转载 Java 并发专题 : Semaphore 实现 互斥 与 连接池

继续并发方面的知识。今天介绍Semaphore,同样在java.util.concurrent包下。本来准备通过例子,从自己实现到最后使用并发工具实现,但是貌似效果并不是很好,有点太啰嗦的感觉,所有准备直入主题。介绍:Semaphore中管理着一组虚拟的许可,许可的初始数量可通过构造函数来指定【new Semaphore(1);】,执行操作时可以首先获得许可【semaphore.a

2017-11-28 11:18:05 321

转载 Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll

一般情况下,我们使用Runnable作为基本的任务表示形式,但是Runnable是一种有很大局限的抽象,run方法中只能记录日志,打印,或者把数据汇总入某个容器(一方面内存消耗大,另一方面需要控制同步,效率很大的限制),总之不能返回执行的结果;比如同时1000个任务去网络上抓取数据,然后将抓取到的数据进行处理(处理方式不定),我觉得最好的方式就是提供回调接口,把处理的方式最为回调传进去;但是现在我

2017-11-22 17:02:43 246

转载 Java ExecutorService四种线程池的例子与说明

1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();那你就out太多了,new Thre

2017-11-22 14:35:54 173

转载 Java并发

http://blog.csdn.net/lmj623565791/article/category/2132087

2017-11-22 13:55:09 210

转载 Timer的缺陷 用ScheduledExecutorService替代

继续并发,上篇博客对于ScheduledThreadPoolExecutor没有进行介绍,说过会和Timer一直单独写一篇Blog.1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,

2017-11-22 13:51:25 177

转载 c3p0如何配置多数据源的解决方法

c3p0如何配置多数据源的解决方法一、问题描述:    项目开发时,用c3p0管理数据连接。但是项目需要动态连接两个以上的数据库,如何用c3p0配置多数据源。二、解决方法:    使用c3p0结合spring提供的数据源路由(DataSource Routing)对象,该对象构造了一个存储多数据源的Map,可以根据指定的key动态的查找对应的数据源。具体实现

2017-11-22 10:06:11 4250 1

转载 c3p0如何配置多数据源的解决方法

c3p0如何配置多数据源的解决方法一、问题描述:    项目开发时,用c3p0管理数据连接。但是项目需要动态连接两个以上的数据库,如何用c3p0配置多数据源。二、解决方法:    使用c3p0结合spring提供的数据源路由(DataSource Routing)对象,该对象构造了一个存储多数据源的Map,可以根据指定的key动态的查找对应的数据源。具体实现

2017-11-22 10:05:53 1011

转载 Spring transaction事务之roll back回滚: rollback-for

试验方法:         写一个单元测试,调用一个service层方法(发生对数据库进行写操作的方法--insert、update、delete)即可.  applicationContext.xml 样子(如何设置rollback-for)         spring事务管理 方法一-->      bean id="transactionMana

2017-11-21 17:22:56 792 1

原创 通过ApplicationContextAware加载Spring上下文环境

项目用到了ApplicationContextAware,通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。我们在ApplicationContextAware的实现类中,就可以通过这个上下文环境对象得到Spring容器中的Bean。使用方法如下:1.实现Applicatio

2017-11-17 16:24:02 389

原创 Spring 定时任务之 @Scheduled cron表达式

首先在配置文件头部的必须要有:xmlns:task="http://www.springframework.org/schema/task"1其次xsi:schemaLocation必须为其添加:http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-

2017-11-17 16:11:36 14284

转载 Android:dagger2让你爱不释手-基础依赖注入框架篇

前言dagger2的大名我想大家都已经很熟了,它是解决Android或java中依赖注入的一个类库(DI类库)。当我看到一些开源的项目在使用dagger2时,我也有种匆匆欲动的感觉,因此就立马想一探它的究竟,到底能给我带来怎样的好处。在学习使用dagger2的过程中,我遇到了以下的一些困惑:dagger2中的Inject,Component,Module,Provides等等都是什么东东,有

2017-11-15 17:29:42 248

原创 java用eclipse怎么把main快点打出来

首先在新建类的时候,下面有个选项,只要是选中状态, 类建好只好就会自动包括main方法。其次就是输入“main”,然后按住”Alt+/“,这样就会补全。还有就是你可以打开window-preferences,然后搜索输入assist,可以设置java代码的两项,只要在相应的地方把所有字母字符都输入进去,然后还可以选择延迟时间,到时候你输入的时候,就会自动提示联想内容。

2017-11-13 16:43:37 3693

转载 对称加密和非对称加密介绍和区别

什么是对称加密技术?  对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty

2017-11-13 11:42:18 3321

转载 Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

【最简单的加密】1.简单的概念明文:加密前的信息密文:机密后的信息算法:加密或解密的算法密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao)2.简单的例子将123456每位数字都加1后得到234567,其中123456就是明文,234567就是密文,加密密钥就是1,加密算法是每位加

2017-11-13 11:40:52 229

转载 DES/3DES/AES区别

DES/3DES/AES区别公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。  DES  1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESData Encryption Standard) 。  目前在国

2017-11-13 11:20:29 527

原创 POS机系统 秘钥体系

Pos系统分为后端服务器收单系统和前端App。--收单系统用32个F,3Des加密一个随机数生成的明文,加密后生成密文。明文(主秘钥)存储在数据库中。--收单系统生成PIN 明文和Track明文(这两个都是随机数),存储在数据库中。然后用主秘钥明文  3DES加密,生成PIN和Track的密文。--银行卡密码明文+银行卡卡号+PIN明文加密 生成银行卡密码密文。 这个密文可以在服务端解

2017-11-13 10:58:57 1880

转载 POS主密钥与工作密钥关联详解

以下是针对POS的卡交易的一种密钥逻辑记录:一、密钥介绍交易主密钥:加载到Pos机中,用于验证工作密钥是否合法等;工作密钥:包括PIN密钥、MAC密钥、磁道密钥,用于加密密码、MAC、磁道信息。在信息上送到服务端前加密。加载的顺序是,先加载主密钥,再加载工作密钥。如果二者不匹配,在加载过程中会报错。二、主密钥加载逻辑我们要加载两部分的密钥到POS机中

2017-11-07 16:28:44 1311

原创 对称加密----AES和DES加密、解密

目前主流的加密方式有:(对称加密)AES、DES        (非对称加密)RSA、DSA调用AES/DES加密算法包最精要的就是下面两句话:Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv);CBC是工作模

2017-11-07 10:33:34 326

原创 Rxjava Demo

Git:https://github.com/whtchl/RxjavaDemo/tree/master转换操作符中FlatMap比较有用:/** * 解决多层嵌套的问题。 * 例如网络请求时,第二个请求时基于第一个网络请求的结果进行操作。 */private void flatMap() { Observable.just(1, 2, 3, 4,

2017-11-02 16:48:36 181

Screen_Recorder_FULL_Piaodown

Screen_Recorder_FULL_Piaodown

2016-06-16

ee android

wwwwwwwwwwwwwwwwwwwwwww

2011-05-27

ConnectSQL

VC连接SQL VC连接SQL VC连接SQL VC连接SQL VC连接SQL VC连接SQL VC连接SQL VC连接SQL

2009-12-01

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

TA关注的人

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