自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

司马懿的西山居

如果觉得有帮助就点下赞,让我知道哪方面关注的人比较多,谢谢。

  • 博客(74)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java Annotation —— 注解实战

Annotation是Java5、6只后的新特征(中文称之为注解),并且越来越多的得到了应用,比如Spring、Hibernate3、Struts2、iBatis3、JPA、JUnit等等都得到了广泛应用,通过使用注解,代码的灵活性大大提高。这些都是使用别人定义的注解,一般注解的使用都是在一些基础框架或者类库中来定义的,因此很少见过有人自己去写一个注解出来并使用在程序中。通过类似注释的方式,可以控制程序的一些行为,运行时的状态,可以为成员赋值,做配置信息等等。

2016-08-02 14:11:14 2158

原创 Java 4种数组复制方式的性能比较

(1)从速度上看:System.arraycopy > clone > Arrays.copyOf > for(2)for的速度之所以最慢是因为下标表示法每次都从起点开始寻位到指定下标处(现代编译器应该对其有进行优化,改为指针),另外就是它每一次循环都要判断一次是否达到数组最大长度和进行一次额外的记录下标值的加法运算。(3)查看Arrays.copyOf的源码可以发现,它其实本质上是调用了System.arr

2016-08-31 16:46:53 5583

转载 SPA单页面应用

1、简要   SPA单页网页应用程序这个概念并不算新,早在2003年就已经有在讨论这个概念了,不过,单页应用这个词是到了2005年才有人提出使用,SPA的概念就和它的名字一样显而易懂,就是整个网站不再像传统的HTML网页一样,需要每做一个动作就更新一次网页,而是像传统的电脑软件一样,只变更显示的内容而不需变更整个网页!概念很简单,但是,事实上却有不少的问题要考虑。    2、理解单页面应用

2016-08-30 13:53:32 2055

转载 PBOC/EMV中TLV的构造和解析

转自 http://blog.csdn.net/super_mimi/article/details/49000981BER-TLV 数据对象编码根据 ISO/IEC 8825 的定义,一个 BER-TLV 数据对象包括 2-3 个连续数据域:l 标签域( Tag)包括一个或多个连续字节。它定义一种类别、类型和一个数字。本规范规定的数据对象的标签域用一个或二个字节编码。l 长度

2016-08-29 11:01:16 3611

原创 Android 通过广播监听USB连接状态的改变

一、原理讲解       Android通过广播监听USB连接状态的改变的动作在UsbManager.java文件里,为ACTION_USB_STATE。然而在UsbManager中,该常量的注释中包含{@hide},该注释是控制该API是否开放用的。未开发的API意味着google可以随时调整该API的定义或实现方式,而不用保证向下兼容。       所以尽量避免调用未开发的API,因为一旦系

2016-08-29 10:28:42 19297 4

原创 Node.js 在命令行下执行Console.log()命令时,第二行会打印undefined的原因

参考 http://stackoverflow.com/questions/9784865/node-js-console-log-throws-me-undefined问题描述:在命令行下执行Console.log()命令后,第一行会以 “正常的白字” 输出log内容,而第二行会输出一个 “50%透明的的白字” undefined,如图所示: 原因:最后一个 undefined 是console

2016-08-27 00:15:48 8127

原创 Node.js windows下搭建环境并创建服务器

一、windows下的环境搭建Node.js安装包及源码下载地址为:https://nodejs.org/en/ 这两种方式都是以(.msi)的方式下发的,双击自动安装。检测PATH环境变量是否配置了Node.js,打开运行对话框(Win+R) =》输入”cmd” => 输入命令”path”,输出如下结果: 我们可以看到环境变量中已经包含了C:\Program Files\nodejs\

2016-08-26 23:58:59 5144

转载 独立IP、特产浏览量(PV)、访问次数(VV)、独立访客(UV)有什么区别?

转自 http://blog.sina.com.cn/s/blog_a5fc76bb0101073a.html访问次数(VV):记录所有访客1天内访问了多少次您的特产,相同的访客有可能多次访问您的特产。 独立访客(UV):1天内相同访客多次访问特产,只计算为1个独立访客。 特产浏览量(PV):用户每打开一个页面便记录1次PV 独立IP(IP):同一IP无论访问了几个页面,独立IP数均为1

2016-08-26 10:50:03 9326

原创 Qt 正则表达式 用QRegularExpression代替QRegExp

QRegularExpression 是Qt 5.0才引进的,相对于QRegExp,QRegularExpression class修复了很多bug,提高了效率,提供了对Perl的RegEx几乎全面兼容的搜索引擎。简单说,QRegExp年久失修,bug较多,使用时建议使用QRegularExpression。       注意:若在正则表达式中需要用到”\”,需要在它前面补一个转义字符”\”,因为

2016-08-23 09:13:13 6669 2

原创 Java wait、notify与synchronized的奇妙之处

synchronized是Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。synchronized就是针对内存区块申请内存锁。(1)JAVA中的Object类型都是带有一个内存锁的,在有线程获取该内存锁后,其它线程无法访问该内存,从而实现JAVA中简单的同步、互斥操作。(2)this关键字代表类的一个对象,所以其内存锁是针对相同对象的

2016-08-22 19:26:57 6792 2

原创 Java list、map、set、vector集合类型中的null值

在面向对象语言中,空(Empty)、空值(Null)、不存在(Not Exists)分别具有这不同含义。 举个通俗的例子:空表示这个位置是用来放这个东西的,但是这个东西的数量现在是0;Null是一个占位符,表示这个地方我占了,现在没空间给你放东西;不存在表示根本就没有这里地方,更别说放在这里的东西了;面向对象是不是很神奇!其实和我们平常对事物的理解是一样的。 因此,空(Empty)、空值(N

2016-08-22 12:00:12 10052

转载 UART(Universal Asynchronous Receiver/Transmitter,异步收发传输器)

转自 http://baike.baidu.com/link?url=8hQCnHbH_IWvPK1Tp3RHqFgD9YtAzj-JDFQFaqbhY136q9EvODCZe8aQXW_u-gcJnIVWtlaHLFh2xq7GRdbseq通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发

2016-08-19 16:37:04 5124

原创 AndroidStudio导入项目一直卡在Building gradle project info的解决办法

AndroidStudio导入项目一直卡在Building gradle project info,实际上是因为你导入的这个项目使用的gradle与你已经拥有的gradle版本不一致,导致需要下载该项目需要的gradle版本,不知是被墙了还是什么原因,反正就是会一直卡住,直至下载完成。解决方案:(1)修改gradle配置文件。 打开 “项目目录”\gradle\wrapper\gradle-wra

2016-08-18 17:01:30 4694

原创 Java NIO —— Buffer(缓冲区)

Buffer是一个抽象类,位于java.nio包中,主要用作缓冲区。注意:Buffer是非线程安全类。capacity一旦初始化后就不会改变,其值一直为常量。在使用中我们一般使用Buffer的抽象子类ByteBuffer.allocate()方法,实际上是生成ByteArrayBuffer类。(1)Buffer中定义的变量含义/** * <code>UNSET_MARK</code> means

2016-08-18 16:46:11 3733

转载 接手别人的代码,死的心有吗?

转自 http://blog.csdn.net/foruok/article/details/52225569团队里的程序员张三丰要离职,领导让你接手他的工作,叮嘱你一定要尽快掌握张三丰的代码。你的心儿扑通扑通地跳动,你的脑海里萦绕着三个选择:是拒绝呢,还是拒绝呢,还是拒绝呢?你强颜欢笑但实际上心烦意乱怨气纵横——接手别人的代码,那可是程序员要面对的最痛苦最可怕的事啊。你记

2016-08-18 11:00:35 1695

转载 Java ThreadPoolExecutor机制

转自 http://825635381.iteye.com/blog/2184680一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。 3、先来了解其线程池管理的机制

2016-08-18 10:35:54 1587

转载 Java 线程池ThreadPoolExecutor使用简介

转自 http://blog.chinaunix.net/uid-20577907-id-3519578.html 一、简介 线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,

2016-08-18 10:33:10 1236

转载 Java BlockingQueue

转自 http://wsmajunfeng.iteye.com/blog/1629354     在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。

2016-08-17 19:56:02 1575

原创 Android 查看蓝牙日志

1、打开 Android 手机的开发人员选项中的【开启蓝牙 HCI 信息收集日志】 2、让你的 Android 手机与蓝牙设备正常通讯,现在日志就会写到你的 bt_stack_log.conf 中指明的日志文件里了。 (1)adb shell (2)cat /etc/bluetooth/bt_stack.conf 找到“BtSnoop log output file”所指向的位置“BtSno

2016-08-17 15:02:44 30294

转载 低功耗蓝牙开发知识:服务名称及ID

转自 http://www.qdac.cc/?p=3363//基础ID服务名称:Base GUID 服务编码:{00000000-0000-1000-8000-00805F9B34FB}// GATT 配置服务名称:GAP 服务编码:{00001800-0000-1000-8000-00805F9B34FB} 服务名称:GATT 服务编码:{00001801-0000-1000-8000-0080

2016-08-17 14:31:35 7175

原创 低功耗蓝牙BLE对应Gatt的UUID

参考http://blog.csdn.net/zhangjs0322/article/details/39048939 参考http://code.taobao.org/p/watch_demo/diff/2/trunk/yqc_watch/Components/ble/include/gatt.h1、在BLE中UUID由32个Hex字符组成(共16字节)。格式为 88888888-4444-4

2016-08-17 11:54:48 17844

转载 Java设计模式23种(搞笑版)

转自http://blog.sina.com.cn/s/blog_657572dc0100sh41.html   昨天做了一下支付宝的笔试题目被打击了,大量的逻辑推理和数学规律运算题目,其中还有问道Java设计模式的题目,一点都不知道,今天看到一份不错的介绍,非常好理解,作者是谁我没有办法考证,但是所有权是属于原作者的,我只是放在这里,便于自己理解查找,也便于大家查找,没有任何商业用途!   作

2016-08-17 09:50:41 2384

转载 Java开发中的23种设计模式详解

转自 http://zz563143188.iteye.com/blog/1847029设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易

2016-08-17 09:46:37 1690

转载 我们为什么要使用空接口

转自 http://www.cnblogs.com/shanyou/archive/2005/10/22/259674.htmlFxCop设计规则中的第三条提供了对空接口的检查.下面是它的描述: 一个接口提供了一组行为和使用契约(usage contract),任何一个类型都可以实现这个Interface, 而不需要考虑这个类型的继承层次。一个类型通过实现接口的成员而实现这个接口。一个空的接口没有定

2016-08-16 17:30:46 5106

原创 ble 传输速率

整合自 http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/59848.aspx根据TI的文档说明,BLE的传输速率可以达到5.9Kb/s。现在我使用SimpleBLECentral于SimpleBLEPerpheral通讯。建立了一个具有GATT_PROP_NOTIFY|GATT_PR

2016-08-16 17:06:56 3464 1

原创 Java 接口多继承

接口是”常量”和”方法”定义的集合。接口是一种特殊的抽象类。java类是单继承的。classB extends classA java接口可以多继承。Interface3 extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?因此多继承容易导致钻石危机(也称棱形问

2016-08-16 11:38:10 1928

转载 Android NestedScrolling机制完全解析 带你玩转嵌套滑动

转自 http://www.tuicool.com/articles/JnmIrqU一、概述Android在 support.v4 包中为大家提供了两个非常神奇的类:NestedScrollingParentNestedScrollingChild如果你从未听说过这两个类,没关系,听我慢慢介绍,你就明白这两个类可以用来干嘛了。相信大家都见识过或者使用过 Co

2016-08-15 14:27:28 1864

转载 Android CoordinatorLayout

转自 http://blog.csdn.net/xyz_lmn/article/details/48055919一、CoordinatorLayout有什么作用CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能: 1、作为顶层布局 2、调度协调子布局CoordinatorLayout使用新的思路通过协调调

2016-08-15 14:22:58 1517

转载 Android toolbar详解

转自 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2006.html今年(2014) 的 google i/o 发表令多数人为之一亮的 material design,而 google 也从「google i/o 2014」 开始,大家也陆陆续续地看到其更新的 android app 皆套用了这个设计介面。

2016-08-13 14:57:14 1513

转载 Android Material Design

转自 http://www.androidchina.net/1381.html关于Material Design的开源库,本人已经在GitHub上创建了一个项目MaterialDesignCenter,用于收集Material Design的相关资源,会不定时更新,大家可以star或者提交自己的MaterialDesign的资源,欢迎fork和star。Material Desi

2016-08-13 13:42:45 2109

转载 手机标准蓝牙各类服务对应的UUID

转自 https://www.douban.com/group/topic/20009323/手机蓝牙各类服务对应的UUID

2016-08-12 17:23:34 5219

转载 用算法告诉你为何手机摔落时总是屏幕朝下?

日前,摩托罗拉的一项调查显示,英国有三分之一的人都在使用屏幕破裂的智能手机。人们的手机摔落时,似乎总会遇到屏幕正面朝下的情况,从而导致屏幕四分五裂。这究竟是为何呢?英国物理学家及阿斯顿大学客座教授Robert Matthews用理论解释了这一现象的发生。Matthews教授在研究报告指出,人们在手拿智能电话通常不会握得很紧,用户的手指在手机重心下方,这样一来很容易导致手机跌落,一旦手机跌落,作用在手

2016-08-12 14:53:03 1948

转载 Android 5.0 BLE 周边(BluetoothLeAdvertiser)

转自 http://blog.csdn.net/songzeyang99/article/details/41727023      具有低功耗蓝牙模块的设备可以扮演2个角色,中心,周边。周边是数据提供者,中心是数据接收/处理者。IOS设备可以很好的扮演这2个角色,利用现成的API就能开发出具有周边和中心功能的应用,我大Android就有点悲催了,自Android 4.3的系统就规定了BLE的API

2016-08-12 14:39:01 2997

转载 Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现

转自 http://blog.csdn.net/jimoduwu/article/details/21604215Android4.3 规范了BLE的API,但是直到目前的4.4,还有些功能不完善。在BLE协议中,有两个角色,周边(Periphery)和中央(Central);周边是数据提供者,中央是数据使用/处理者;在iOS SDK里面,可以把一个iOS设备作为一个周边,

2016-08-12 14:29:27 1777

转载 Bluetooth MTU

在网络上如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。蓝牙也一样,如果蓝牙发送方设备的MTU 值比接受端设备的MTU大, 大的数据包就会被拆开来传送,蓝牙传输速度就会降低. 蓝牙的MTU 值是在L2CAP(逻辑链路控制层)中定义的.

2016-08-12 11:53:23 3780

转载 Android:Bluetooth 的打开和关闭

转自 http://www.ifeegoo.com/android-turn-on-and-turn-off-bluetooth.html摘要:Android 中打开和关闭 Bluetooth 的代码虽然并不困难,但是我们还是需要注意一些细节和异常情况,这样我们才能更好的优化我们的与 Bluetooth 相关的应用。Runtime EnvironmentOS: Wi

2016-08-11 11:14:37 3073 1

原创 Java 获取类名

一、概述 (1)String java.lang.Class.getName() Returns the name of the entity (class, interface, array class, primitive type, or void) represented by this Class object, as a String. 返回代表这个类的实体(类、接口、数组类、原始

2016-08-10 17:21:09 2508

转载 iso14443 非接触式IC卡协议

转自百度百科 http://baike.baidu.com/link?url=Y1koEW6mX0AgDV5kt37i7M5RaV0g_WwxU163dO-VKUbR5w4qEHv0OMOnbw1BT0mRR_5Oasjq1QAglZh7TOm8f_#2_4iso14443 ISO14443协议是Contactless card standards(非接触式IC

2016-08-10 11:50:28 6245

原创 Map 非线程安全的证明 以及线程安全方案(Concurrent)

参考 http://blog.csdn.net/nx188/article/details/50988037一、概述       大部分容器(比如:List、Map、Set)都是设计成非线程安全的,因为任何同步都是会损耗性能的。除了部分,如Vector是线程安全的。 线程安全的定义:       比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成:1. 在 Items

2016-08-09 20:04:15 1817

转载 事务的ACID特性

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

2016-08-09 17:25:29 1286

React Developer Tools 4.2.0_0.crx

React Developer Tools,是chrome下的react插件,更新于2019年11月29日。由于国内被墙,且网上的插件很多都太旧了,不好用。故而分享出最新版的

2019-11-29

tar for windows 64位绿色版,可以打包大量文件

由于网上都是32位的,没有64位的,我就分享一个给大家用吧。 用法:tar -cvf \bak\www.tar D:\wwwroot\www 此命令可以打包d盘的www文件夹到d盘bak目录,注意bak前面无需输入盘符。 注意:此命令仅存储,无压缩,这样速度才快,如果需要压缩,请自己更改指令。

2018-12-10

Xffect Editor Pro v5.3.0 修正版

由于 Xffect Editor Pro v5.3.0 有一些废弃的API导致的错误,在Unity2018.1.0b13上报错且不能正常运行,因此特地修复这些错误并上传一个在2018版本中能正常运行的版本

2018-06-25

XffectEditorPro V5.3.0

xffect editor pro是适用于unity的高级特效编辑插件,软件内置了70多个高质量的特效示例,并拥有丰富的模板,可以帮助用户制作出令人满意的视频特效。

2018-06-25

JavaScript 时钟

JavaScript 实现带滴答音效的时钟

2017-01-28

Qt 使用Poppler实现pdf阅读器

Qt 使用Poppler实现pdf阅读器 博客地址:http://blog.csdn.net/chy555chy/article/details/51613545

2016-08-03

PBOC交易流程图

相应的博客地址 http://blog.csdn.net/chy555chy/article/details/51888839

2016-07-12

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

TA关注的人

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