自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我就是我的博客

我就是我,无人能够代替

  • 博客(71)
  • 收藏
  • 关注

原创 Android事件分发机制详解

1. 概述       Android日常研发时,与View接触占据相当多的时间,而关于View的知识,主要集中在View的绘制和View对于点击事件的处理。关于View的绘制过程,可以查看一下这篇文章的介绍;关于View处理点击事件,可能有人会认为在onTouchEvent()这个方法处理点击事件就行了,不错,具体的处理过程确实是在这个方法中,但是点击事件在View间是怎么分发的?怎么确

2017-03-01 22:02:14 387

转载 eclipse插件——maven

项目开发中遇到的问题都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?为什么在我的机器上可以正常打包,而配置管理员却打不出来?项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?这是我开发的第二个项目,还是需要上面的那些jar包,再把它们

2017-03-01 22:01:44 397

原创 复杂数据类型的映射之枚举

枚举枚举类型规定了取值的数量和内容,这对于需要限定取值的属性非常有帮助。比如性别有三种,男、女、未知,是否打印有两种,是,否。[java] view plain copypackage com.gxz.entities;    public enum Color {      RED,      GREEN,   

2017-03-01 22:01:16 670

转载 自己动手实现消息队列之JMS

什么是JMS?JMS的诞生史?在JMS还没有诞生前,每个企业都会有自己的一套内部消息系统,比如项目组A需要调用到项目组B的系统,项目组B也有可能会调用到项目组C的系统。这样每个公司都有自己的一套实现。很不规范,所以Apache基金会,为企业消息产品专门定义了一套规范。我们可以把JMS当作是一系列接口及相关语义的集合,通过这些接口和语义定义了JSM客户端如何去访问消息系统。简单点来说就是JM

2017-03-01 21:59:05 1050

原创 关于硬件加速哪些优秀的资源总结

问题1:transform动画为什么没有经过大量的重绘?解答:为什么 transform 没有触发 repaint 呢?(1)简而言之,transform 动画由GPU控制,支持硬件加速,并不需要软件方面的渲染。(2)浏览器接收到页面文档后,会将文档中的标记语言解析为DOM树。DOM树和CSS结合后形成浏览器构建页面的渲染树。渲染树中包含了大量的渲染元素,每一个渲染元素会被分到一个图层

2017-03-01 21:58:28 1173

转载 Android中的指纹识别

最近项目需要使用到指纹识别的功能,查阅了相关资料后,整理成此文。指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别。另外,实际开发场景中,使用指纹的主要场景有两种:纯本地使用。即用户在本地完成指纹识别后,不需要将指纹的相关信息给后台。与后台交互。用户在本地完成指纹识别后,需要将指纹相关的信息传给后台。由于使用指纹识

2017-03-01 21:54:55 727

原创 Android 摆动的球体

导语首先,看一下效果  可能各位在别处看到过类似的东西,我在微信的文章末尾看到有个玩意,感觉有意思,就用代码实现一下。这篇文章主要把握写代码的思路展示一下。 看到上图,我想各位能想到最简单的实现方案就是用动画,切很多图出来,然后就可以轻松实现了。为了不让自己再舒适区里呆的太安逸,就弄点麻烦的:通过计算来实现。文章的末尾会将全部代码贴出,复制可以直接运行。需要回忆的知识

2017-03-01 21:54:24 526

原创 RxJava 错误处理操作符(Error Handling Operators)

RxJava系列教程:1. RxJava使用介绍 【视频教程】 2. RxJava操作符   • Creating Observables(Observable的创建操作符) 【视频教程】   • Transforming Observables(Observable的转换操作符) 【视频教程】   • Filtering Observables(Observable的过滤

2017-03-01 21:52:58 329

原创 自定义Interpolator

nterpolator这个东西很难进行翻译,直译过来的话是补间器的意思,它的主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改变的速率不是一成不变的,像加速运动以及减速运动都属于非线性运动。不过Interpolator并不是属性动画中新增的技术,实际上从Android 1.0版本开始就一直存在Interpolator接口了

2017-03-01 21:52:37 472

转载 华山论剑之契约式编程与防御式编程

背景事情的来由还要从几十几亿年前的一次星球大爆炸说起,sorry,背错台词了,是从几天前讨论接口返回数据和几个月前讨论课件本地数据结构说起,简单的说,就是碰到约定好的内容出现异常,是我们在程序中内部作兼容处理,还是抛出去。打个比方,我们要解析一段json,约定这个json的格式,只能是正常格式,或者是空,那么一旦返回json的方法返回了一个『既不是正常格式,又不是空的异常值』,程序

2017-03-01 21:49:12 271

原创 ubuntu切换java版本

众所周知,ubuntu经常需要安装不同的java版本,他们之间的切换就是一个很大的问题1.Chose another Java loader:sudo update-alternatives --config java112.Chose another compiler (this is what you need):sudo update-alternatives --c

2017-03-01 21:47:51 443

原创 剑指Offer——知识点储备-数据库基础

数据库事务事务的四个特性(ACID):  原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) - (1)原子性 整个事务中的所要操作要么全部提交成功,要么全部失败回滚。 - (2)一致性 保证数据库中的数据操作之前和操作之后的一致性。(比如用户多个账户之间的转账,但是用户的总金额是不变

2017-03-01 21:47:21 297

原创 DataBinding快速入门(还在用findViewById?)

一、DataBinding介绍了解一门新技术,一般从2W1H入手:是什么?(What)有什么用?(What)怎么用?(How)DataBinding翻译过来就是数据绑定,把数据绑定在控件上。本篇讲述的都是单向绑定,即数据绑定到控件上。现在已经支持双向绑定,也就是说,还可以把控件绑定在数据上,后续介绍。DataBinding可以代替findViewById,让代码更简

2017-03-01 21:46:30 161

原创 链表学习笔记

单向链表[cpp] view plain copy struct ListNode {// 单向链表      int val;      struct ListNode *next;      ListNode(int x) : val(x), next(NULL) {}  };  从尾到头打印链表

2017-03-01 17:03:47 320

原创 分布式服务框架Dubbo使用小结

介绍:Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应

2017-03-01 16:58:40 406

原创 Makefile基础

基础运行make命令之后,make程序会在当前目前下寻找Makefile文件,根据Makefile文件中的内容执行具体的操作。执行make命令后的结果如下:Makefile的基础是如下的部分:[plain] view plain copy targets:prerequisites  

2017-03-01 16:44:48 449

原创 consul 配置---K/V存储及ACL

1.Consul简介1.1 consul的作用服务发现 Consul clients提供服务(例如API)其他的client发现服务的提供者(通过DNS或http,应用可以轻松的发现他们所依赖的服务)健康检查Key-Value存储操作 动态配置leader选举feature flaggingcoordination多数据中心(DC) 用于容灾

2017-03-01 16:43:58 2392

原创 ASmack4.0.7详细讲解

公司最近想做一个聊天软件,就选用了Openfire服务器,Asmack,下面就跟着自己的进度来写一些Asmack的基本方法,会不断跟进.由于网上对于Asmack的新版本的讲解不是太多,并且自己英语水平有限,就花了400大洋在网上买了一篇教程.自己的理解水平也是有限,大家如果有什么好的建议可以下面评论.大家共勉.开始因为对于Asmack的操作函数,用到的会很多,所以说,对Asmack做了一个

2017-03-01 16:41:17 813 1

原创 Android中实现自定义XMPP消息包收发

在Android平台实现XMPP即时通讯主要是使用asmack这个包,asmack是XMPP协议的实现。但是asmack只能帮助我们实现一些基本消息包的收发,如果需要实现特定的自定义消息包收发需要我们自己处理。 一、asmack消息的发送和接收发送Message消息:       发送一个message结的消息,可以使用sendMessage()发送消息,这个方法有

2017-03-01 14:50:15 459

原创 拆轮子之动态加载DynamicLoadApk

动态加载是什么应用在运行的时候通过加载一些本地不存在的可执行文件实现一些特定的功能,Android中动态加载的核心思想是动态调用外部的Dex文件,极端的情况下,Android APK自身带有的Dex文件只是一个程序的入口(或者说空壳),所有的功能都通过从服务器下载最新的Dex文件完成。动态加载技术的运用1、可以缩小apk体积,比如一个app的一些不常用但又不得不要的模块

2017-03-01 14:48:51 296

原创 拆轮子之动态加载DynamicLoadApk

动态加载是什么应用在运行的时候通过加载一些本地不存在的可执行文件实现一些特定的功能,Android中动态加载的核心思想是动态调用外部的Dex文件,极端的情况下,Android APK自身带有的Dex文件只是一个程序的入口(或者说空壳),所有的功能都通过从服务器下载最新的Dex文件完成。动态加载技术的运用1、可以缩小apk体积,比如一个app的一些不常用但又不得不要的模块

2017-03-01 14:48:40 309

原创 volatile型变量自增操作的隐患

用FindBugs跑自己的项目,报出两处An increment to a volatile field isn’t atomic。相应报错的代码如下:volatile int num = 0;num++;  FindBugs针对这种类型的错误给出了相应的解释An increment to a volatile field isn’t atomic This code

2017-03-01 14:27:55 337

原创 浅谈MVP模式应用与内存泄漏

MVP简介M-Modle,数据,逻辑操作层,数据获取,数据持久化保存。比如网络操作,数据库操作 V-View,界面展示层,Android中的具体体现为Activity,Fragment P-Presenter,中介者,连接Modle,View层,同时持有modle引用和view接口引用  上图摘自阮一峰大神博客:MVC,MVP 和 MVVM 的图示注:有别于MV

2017-03-01 14:24:36 333

原创 android注解入门 并来自己写一个框架

介绍这里我带大家来学习一下注解 并且用来写下一个模仿xUtils3 中View框架 此框架 可以省略activity或者fragment的 findViewById 或者设置点击事件的烦恼 我正参加2016CSDN博客之星的比赛 希望您能投下宝贵的一票,点击进入投票 我的github上的源码,包含doc和使用说明如下代码:fragmentpackage a.

2017-03-01 13:56:19 458 1

原创 Android图形图像使用总结

一.图形特效(一)特效的实现方式在Android中,提供了3种方式实现特效,setXXX方法,postXXX和preXXX()方法。1.setXXX方法用于直接设置Matrix的值,每使用一次setXXX()方法,整个的Matrix都会变掉。2.postXXX方法用于采用后乘的方式为Matrix设置值,可以连续多次使用post完成多个变换3.preXXX方法

2017-03-01 13:54:28 463

转载 React Native FlexBox布局

这段时间熟悉了一下ReactNative,里面的布局感觉很有意思,跟我以前接触的布局思想有很大不同,所以就自己测试了一些FlexBox的属性,一下是效果图:  RN的布局主要依赖于FlexBox系统,它有如下几个主要属性: flex 视图的比重,这里注意了:In React Native flex does not work the same way that it does in

2017-03-01 13:51:13 272

原创 Android开发---MediaPlayer简单音乐播放器

功能介绍实现一个简单的播放器,类似网易云音乐形式,功能包括:播放、暂停,停止,退出功能;后台播放功能;进度条显示播放进度、拖动进度条改变进度功能;播放时图片旋转,显示当前播放时间功能;界面样式 功能实现1. MediaPlayer的实现MediaPlayer常用方法介绍 MediaPlayer的实现包括初始化MediaPlay

2017-03-01 13:50:31 2056 9

原创 Dockerfile 最佳实践

本文是 Docker 官方文档 docs/archive:v1.1 中 Best practices for writing Dockerfiles 的理解和翻译。包含了 Docker 官方对编写 Dockerfile 的最佳实践和建议。这些建议是为了让你写出高效易用的 Dockerfile。Docker 官方强烈建议你遵从这些建议(实际上,如果你是在创建官方镜像,你必须得遵从这些建议)。

2017-03-01 13:49:34 351

转载 Android通知Notification全面剖析

通知通知是您可以在应用的常规 UI 外部向用户显示的消息。当您告知系统发出通知时,它将先以图标的形式显示在通知区域中。用户可以打开抽屉式通知栏查看通知的详细信息。 通知区域和抽屉式通知栏均是由系统控制的区域,用户可以随时查看。 图 1. 通知区域中的通知。 图 2. 抽屉式通知栏中的通知。注:除非特别注明,否则本指南均引用版本 4 支持库中的 Notific

2017-03-01 13:46:47 370

原创 Hession反序列化导致CPU占用飙高

背景今天发布一个线上服务,暂且称之为O,发布完后,依赖O服务的2个服务C和W大量Time报警,并且这两个服务的CPU占用都飙到了40%左右,平时只有10%的样子。 这时去看O服务的监控,Time并没有升高,QPS反倒降了一半。同时C和W服务器日志中出现了大量的WARNING,信息如下:java.lang.ClassNotFoundException: com.我是不可描述的信息

2017-03-01 13:45:36 984

原创 关于中值滤波算法,以及C语言实现

1、什么是中值滤波?中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。中值滤波可以过滤尖峰脉冲。目的在于我们对于滤波后的数据更感兴趣。滤波后的数据保留的原图像的变化趋势,同时去除了尖峰脉冲对分析造成的影响。    以一维信号的

2017-03-01 13:43:49 2444

原创 Volley超时重试机制详解

基础用法Volley为开发者提供了可配置的超时重试机制,我们在使用时只需要为我们的Request设置自定义的RetryPolicy即可. 参考设置代码如下:int DEFAULT_TIMEOUT_MS = 10000;int DEFAULT_MAX_RETRIES = 3;StringRequest stringRequest = new StringRequest(Reque

2017-03-01 13:41:57 738

原创 Android -- Vold机制简要分析

Vold是用于管理和控制Android外部存储介质的后台进程,这里说的管控,主要包括SD卡的插拔、挂载/卸载和格式化等;它是Android平台外部存储系统的管控枢纽。Vold的整个控制模块主要由三个类模块构成:NetlinkManager、VolumeManager和CommandListener,它们的功能划分大概是:NetlinkManager:用于从kernel中获取SD卡插拔的

2017-03-01 13:40:59 2255

原创 在Linux中如何利用backtrace信息解决问题

一、导读在程序调试过程中如果遇到程序崩溃死机的情况下我们通常多是通过出问题时的栈信息来找到出错的地方,这一点我们在调试一些高级编程语言程序的时候会深有体会,它们通常在出问题时会主动把出问题时的调用栈信息打印出来,比如我们在eclipse中调试Java程序时。当这些换到Linux上的C/C++环境时情况将变的稍微复杂一些,通常在这种情况下是通过拿到出问题时产生的core文件然后再利用

2017-03-01 13:37:32 473

原创 Java利器之UML类图详解

最近看一些开源项目的时候,总是看到UML中的类图,一开始自己的做法就是跳过去类图的部分,不过后来又遇到了几次,就决定学习下,不能再选择逃避了,这也是一个即将优秀的程序探索者应该必备的素质。今天把自己学习到的内容记录一下(怕健忘…),相信对类图不清楚的朋友,通过读取这篇文章后也能有一个比较清晰的认识,让你看的懂,画的出。类图作用类图是软件工程的统一建模语言一种静态结构图,该图描述了系

2017-03-01 11:59:15 865

原创 基于matlab的心电信号预处理

这是前段时间做的一个课程设计,做的比较简单,没有考虑到太细,只是初步地达到了想要的效果。这次设计主要是对心电信号进行预处理,将其信号中包含的一些干扰滤除或者抑制掉。一、心电信号(1)心电信号的特性人体心电信号是非常微弱的生理低频电信号,通常最大的幅值不超过5mV,信号频率在0.05~100Hz之间。心电信号是通过安装在人体皮肤表面的电极来拾取的。由于电极和皮肤组织之间会发生

2017-03-01 11:58:53 4898 1

原创 Android 四大组件 Service 服务

1.Service简介按照使用范围分类:类别优点缺点区别应用本地服务 Local  Service本地服务在一定程度上节约了资源,另外本地服务因为是在同一进程,因此不需要IPC,也不需要AIDL。相应bindService会方便很多。主进程被Kill后,服务便会终止。本地服务依附在主进程上,而不是独

2017-02-28 17:10:03 290

原创 Intent以及IntentFilter详解

1. 前言       在Android中有四大组件,这些组件中有三个组件与Intent相关,可见Intent在Android整个生态中的地位高度。Intent是信息的载体,用它可以去请求组件做相应的操作,但是相对于这个功能,Intent本身的结构更值得我们去研究。2. Intent与组件       Intent促进了组件之间的交互,这对于开发者非常重要,而且它还能做为消

2017-02-28 17:08:42 546

转载 javascript高级程序设计——笔记

基本概念基本数据类型包括Undefined/Null/Boolean/Number和String无须指定函数的返回值,实际上,未指定返回值的函数返回的是一个特殊的undefined值变量、作用域和内存问题基本类型值在内存中占据固定大小的空间,因此保存在栈内存中引用类型的值是对象,保存在堆内存中确定一个值是哪种基本类型用typeof,确定一个值是哪种引用用instanceof

2017-02-28 16:57:50 457

原创 代码世界中的Lambda

“ λ ”像一个双手插兜儿,独自行走的人,有“失意、无奈、孤独”的感觉。λ 读作Lambda,是物理上的波长符号,放射学的衰变常数,线性代数中的特征值……在程序和代码的世界里,它代表了函数表达式,系统架构,以及云计算架构。代码中的LambdaLambda表达式基于数学中的λ演算得名,可以看作是匿名函数,可以代替表达式,函数,闭包等,也支持类型推论,可以远离匿名内部类。为什么

2017-02-28 16:53:35 414

空空如也

空空如也

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

TA关注的人

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