自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

司马懿的西山居

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

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

原创 Qt 转发两串口数据(二、桌面程序版)

需求两串口设置统一,均如下图:项目实战(桌面程序版,这里采用的是动态布局)项目的pro文件在项目的pro文件中添加QT += serialportforwardobj.h#ifndef FORWARDOBJ_H#define FORWARDOBJ_H#include <QObject>#include <QtSerialPort/QSerialPort>#include <QtSerialPo

2016-12-14 08:51:33 1554

翻译 Android Host-based Card Emulation

译自 https://developer.android.google.cn/guide/topics/connectivity/nfc/hce.html Many Android-powered devices that offer NFC functionality already support NFC card emulation. In most cases, the card is

2016-12-29 14:06:55 2744

翻译 Android Advanced NFC

译自:https://developer.android.google.cn/guide/topics/connectivity/nfc/advanced-nfc.html This document describes advanced NFC topics, such as working with various tag technologies, writing to NFC tags,

2016-12-28 15:45:01 11295

翻译 Android NFC Basics

译自 https://developer.android.google.cn/guide/topics/connectivity/nfc/nfc.html This document describes the basic NFC tasks you perform in Android. It explains how to send and receive NFC data in the f

2016-12-22 16:45:21 1763

翻译 Android Near Field Communication

译自 https://developer.android.google.cn/guide/topics/connectivity/nfc/index.html Near Field Communication (NFC) is a set of short-range wireless technologies, typically requiring a distance of 4cm or

2016-12-22 15:51:22 1272

原创 JavaScript Math

执行数学任务。Math 对象的属性E 返回算术常量 e,即自然对数的底数(约等于2.718)。LN2 返回 2 的自然对数(约等于0.693)。LN10 返回 10 的自然对数(约等于2.302)。LOG2E 返回以 2 为底的 e 的对数(约等于 1.414

2016-12-22 14:18:08 1282

原创 JavaScript Navigator

Navigator 对象包含的属性描述了正在使用的浏览器。可以使用这些属性进行平台专用的配置。虽然这个对象的名称是 Netscape 的 Navigator 浏览器,但其他实现了 JavaScript 的浏览器也支持这个对象。Navigator 对象的实例是唯一的,可以用 Window 对象的 navigator 属性来引用它。测试用例<html> <head> <meta

2016-12-22 11:50:06 2047

原创 Android BLE Scan failed, reason app registration failed for UUID

问题:BLE Scan failed, reason app registration failed for UUID起因:我在进行压力测试,每次都扫描并连接同一个BLE蓝牙设备,然后传输数据,接着断开,如此重复10多次,但是一般在第7次左右或后面就会报该错误。猜测:这应该是读写数据或者扫描的数据把BLE堆栈占满了,亦或是之前申请的空间没有被正确释放等等。总之目前可以确定是Android BLE 框

2016-12-21 18:11:51 5900

原创 Java volatile 关键字

读书笔记《Effective Java》位域表示法允许利用位操作,有效地执行先 union(联合)和 intersection(交集)这样的集合操作。但是位域有着int枚举常亮的所有缺点,甚至更多。当位域一数字形式打印时,翻译位域比翻译简单的int枚举常量要困难得多。甚至,要遍历位域表示的所有元素都没有很容易的方法。//Bit field enumeration constant - OBSOLET

2016-12-20 20:49:24 1136

原创 Java EnumMap 代替序数索引

学习笔记《Effective Java 中文版 第2版》经常会碰到使用Enum的ordinal方法来索引枚举类型。public class Herb { public enum Type { ANNUAL, PERENNIAL, BIENNIAL }; private final String name; private final Type type; Herb(St

2016-12-20 17:26:32 1671

原创 Java EnumSet 代替位域

读书笔记《Effective Java》位域表示法允许利用位操作,有效地执行先 union(联合)和 intersection(交集)这样的集合操作。但是位域有着int枚举常亮的所有缺点,甚至更多。当位域一数字形式打印时,翻译位域比翻译简单的int枚举常量要困难得多。甚至,要遍历位域表示的所有元素都没有很容易的方法。//Bit field enumeration constant - OBSOLET

2016-12-20 15:53:28 1998

原创 Java Base64

JDK中的Base64演化流程Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。在JDK1.6之前,JDK核心类一直没有Base64的实现类。一般通过反射调用 Sun/Oracle JDK 里面的 sun.misc.BASE64Encoder 和 sun.misc.BASE64Decoder,使用它的优点就是不需要依赖第三方类库,缺点就是可能在未来版本会被删除(用maven

2016-12-15 16:50:15 2058

转载 HTTP 状态消息

转自 http://www.w3school.com.cn/tags/html_ref_httpmessages.asp当浏览器从 web 服务器请求服务时,可能会发生错误。从而有可能会返回下面的一系列状态消息:1xx: 信息 消息 描述 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。 101 Switching P

2016-12-15 14:39:30 1166

原创 JavaScript hash 与 history 实现客户端路由的原理

window.history 对象在编写时可不使用 window 这个前缀。history.back() 加载历史列表中的上一个 URL,与浏览器点击后退按钮作用相同。等价于history.go(-1)。history.forward() 加载历史列表中的下一个 URL,与浏览器点击向前按钮作用相同。等价于history.go(-1)。history.go(int n) 加载历史列表中

2016-12-15 11:56:09 1409

原创 HTML 一种重定向方法 / JavaScript 两种重定向方法

HTML <meta><html> <head> <title>Relocation</title> <meta http-equiv="refresh" content="3; URL=file:///C:/Users/Administrator/Desktop/test.html" </head> <body> </body></

2016-12-15 10:40:43 1369

原创 JavaScript 键盘事件

JavaScript 键盘事件有以下3种keydown 键盘按键按下(如果按着不放,会持续触发该事件)keypress 键盘非功能按键按下(在keydown之后触发,如果按着不放会持续触发该事件)。keyup 键盘按键弹起。全局事件对象eventevent.ctrlKey 功能键”ctrl”键是否按下。event.altKey 功能键”alt”键是否按下。event.shif

2016-12-14 20:09:52 2263

原创 JavaScript 鼠标事件

JavaScript 鼠标事件有以下8种mousedown 鼠标的键钮被按下。mouseup 鼠标的键钮释放弹起。click 鼠标左键(或中键)被单击。 事件触发顺序是:mousedown -> mouseup -> clickdblclick。 鼠标左键(或中键)被双击。 事件触发顺序是:mousedown -> mouseup -> click -> mousedown ->

2016-12-14 17:10:45 1413

原创 C/C++/Qt 控制台输入输出

Qt 控制台输入输出Qt 控制台输入输出采用 QTextStream(stdin) 和QTextStream(stdout)。QTextStream 类有自己的缓存机制,一般是行缓冲,一行满了才显示,所以加了 endl 之后才会显示,不加的话暂时不会显示,等到 endl 或者程序结束的时候才会显示。 而标准C中可以用 setvbuf(…) 来改变缓存机制,但是 Qt 没有。#include <QC

2016-12-13 14:17:49 19446

原创 Dependency Walker PE模块依赖性分析工具

摘要本文主要讲解利用Dependency Walker为Qt的exe程序添加dll,以使得其可以在客户的机器上运行。Dependency Walker 程序的目录PE模块依赖性分析打开depends.exe,有3种方式引入待分析的文件:File -> Open菜单栏 -> 文件夹图标将待分析的程序拖入depends程序界面它可以分析exe或dll文件。我这里拖入一个exe文件,弹窗报错。这是

2016-12-13 10:56:28 4716 1

原创 Qt 转发两串口数据(一、命令行版)

需求两串口设置统一,均如下图:项目实战forwordobj.h#ifndef FORWORDOBJ_H#define FORWORDOBJ_H#include <QObject>#include <QtSerialPort/QSerialPort>#include <QtSerialPort/QSerialPortInfo>#include <iostream>using namespace

2016-12-12 19:52:27 2280 2

原创 Notepad 格式化JS

菜单栏 Plugin -> Plugin Manager -> Show Plugin ManagerPlugin Manager 对话框 -> Available 选项卡 -> 勾选 JSTool -> InstallWould you like to restart now? 对话框 -> Yes菜单栏 Plugin -> JSTool -> JSFormat 或 快捷键(Ctrl + Alt

2016-12-12 11:37:36 2865

原创 Java 可变长参数

原理Java可变长参数列表的实现是通过编译器把把这些参数封装成一个数组来传递的。注意点可变成参数列表不能与同类型数组重载,因为它本身就是数组void print(int... args) { }//Error : Duplicate method printvoid print(int[] args) { }可变成参数类型不能与自动装箱后类型相同的方法重载void print(int... arg

2016-12-12 10:49:13 1219

原创 JavaScript childNodes attributes

DOM 节点在 HTML DOM (文档对象模型)中,每个部分都是节点:文档本身是文档节点所有 HTML 元素是元素节点所有 HTML 属性是属性节点HTML 元素内的文本是文本节点(空白文本也算)注释是注释节点Element 对象在 HTML DOM 中,Element 对象表示 HTML 元素。Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。NodeLi

2016-12-11 17:41:20 1321

原创 div设置float后下一个div要换行的解决办法

div设置float之后,如果没有清除,则下一个被设置float的div会根据上一个float的div的布局进行排版;而下一个没设置float属性的div则是根据它的前一个元素进行排版。要清除float属性,只能使用style=”clear:both”。注意,clear:both不能脱离style独立存在。且clear:both仅对容器元素有效,对非容器元素无效。另外<br />和<p>的换行高

2016-12-11 17:15:05 9208

原创 HTML 网页中文乱码

产生中文乱码的原因HTML文本文件的编码方式与浏览器默认的编码方式不同。解决方案首先将HTML文件用记事本打开,另存为UTF-8格式。然后在HTML文件的<head>和</head>中间插入<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">这就相当于告诉浏览器,以UTF-8编码集解码该HTML文件。

2016-12-11 15:24:56 1250

原创 JavaScript 动态添加、移除元素或属性

JavaScript 动态添加、移除元素appendChild(newnode) 向节点的子节点列表的末尾添加新的子节点。insertBefore(newnode, existingnode) 在已有子节点之前插入新的子节点。removeChild(node) 删除元素的某个指定的子节点,并以 Node 对象返回被删除的节点,如果节点不存在则返回 null。innerHTML 属性设

2016-12-11 13:45:18 19333 1

原创 CSS font

简介font 可以在声明中一次性设置所有字体属性。可设置的属性是(按顺序): “font-style font-variant font-weight font-size/line-height font-family”font-size和font-family的值是必需的。如果缺少了其他值,默认值将被插入,如果有默认值的话。font:italic bold 12px/20px arial,sans

2016-12-09 17:00:58 1504

原创 JavaScript canvas

简介HTML5 <canvas> 是绘制 图形/图像 的容器。它本身并没有绘制能力,您必须使用脚本来完成实际的绘图任务(通常是 JavaScript)。如果浏览器不支持<canvas>的话,会显示<canvas>标签内定义的元素。例如,下面代码在不支持的<canvas>浏览器下就会忽略<canvas>标签,显示<p>标签。<canvas id="canvas" width="500" height=

2016-12-09 15:18:37 2092

转载 SVG viewport、viewBox、preserveAspectRatio

转自 http://www.w3cplus.com/html5/svg-coordinate-systems.htmlSVG元素不像HTML元素一样由CSS盒模型管理。这使得我们可以更加灵活定位和变换这些元素-也许一眼看上去不太直观。然而,一旦你理解了SVG坐标系和变换,操纵SVG会非常简单并且很有意义。本篇文章中我们将讨论控制SVG坐标系的最重要的三个属性:viewport, viewB

2016-12-09 14:21:02 2853

翻译 SVG 动画(animate、animateTransform、animateMotion)

参考 MDN开发文档 https://developer.mozilla.org/en-US/docs/Web/SVG/SVG_animation_with_SMILSMIL As of Chrome 45.0, SMIL animations are deprecated in favor of CSS animations and Web animations. Gecko 2.0

2016-12-09 10:20:27 38799

原创 Notepad 格式化XML

菜单栏 Plugin -> Plugin Manager -> Show Plugin ManagerPlugin Manager 对话框 -> Available 选项卡 -> 勾选 XML Tools -> InstallWould you like to restart now? 对话框 -> Yes菜单栏 Plugin -> XML Tools -> Pretty print (XML on

2016-12-09 10:08:04 3452

原创 SVG 剪裁与蒙版(clipPath & mask)

<clipPath>简介参考MDN https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath The SVG element defines a clipping path. A clipping path is used/referenced using the clip-path property. The

2016-12-08 17:16:06 4560 1

原创 Java Exchanger(两线程交换数据)

简介Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据。当线程A调用Exchange对象的exchange()方法后,他会陷入阻塞状态,直到线程B也调用了exchange()方法,然后以线程安全的方式交换数据,之后线程A和B继续运行。测试用例package com.demo.test;import java.util.concurrent.Exchanger

2016-12-07 20:16:04 1328

原创 Java Semaphore

Oracle 官方文档http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each acquire() blocks if necessary

2016-12-07 16:03:11 1259

原创 Java CyclicBarrier

Oracle官方文档http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CyclicBarrier.html A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier poin

2016-12-07 11:53:02 1132

原创 Java CountDownLatch

Oracle官方文档http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CountDownLatch.html A synchronization aid that allows one or more threads to wait until a set of operations being performed in

2016-12-07 10:17:58 1125

转载 Java final关键字

转自 http://www.importnew.com/7553.html前言Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。fina

2016-12-07 09:33:18 1120

原创 Java json(com.google.gson)

JSON 官方文档http://www.json.org/ JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is

2016-12-06 11:41:35 7598 3

转载 Java BIO、NIO、AIO(NIO.2) 区别

转自 http://stevex.blog.51cto.com/4300375/1284437先来个例子理解一下概念,以银行取款为例:同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API

2016-12-06 10:36:42 1345

原创 Java StringBuffer和StringBuilder的区别

简介之所以要使用StringBuffer或者StringBuilder是因为:字符串本身是不可变的,而字符串拼接符“+”,实际上就相当于C++中的操作符重载函数,它的参数为2,因此在拼接次数较多的时候会产生大量的零时变量,并且不断地申请和释放资源,造成大量的时间和空间上的浪费。而StringBuffer和StringBuilder均继承自AbstractStringBuilder,它的本质是使用

2016-12-06 10:19:33 1119

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关注的人

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