- nrf51822 secure DFU by OTA: How to Set Password in the DFU zip File
Chia-Te Kuan
nRF51822IoTdfunrf51822securitypassword
ThisarticleistoprovideasecuritysolutionforDFU.MyapplicationisbasedonHeartrateService(s110withdfuinNordicSDK)C:\..\..\..\nRF51_SDK_10.0.0\nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_hrsthe
- 供应NRF52840-QIAA-R原装芯片
FLYAOTO
5G单片机笔记大数据时序数据库
长期供应各品牌芯片和回收工厂库存:NRF52840-QIAA-RNRF52810-QCAA-RNRF52832-QFAA-RNRF52810-QFAA-RnRF52833-QDAA-RnRF52833-QIAA-RnRF51822-QFAC-RnRF51802-QFAA-RNRF24L01P-RCC2541F256RHARMLPF18M2500P69-L12SFHG42YA002RFBLN0605
- 供应NRF52810-QCAA-R等各型号蓝牙芯片
FLYAOTO
正则表达式逻辑回归编辑器汇编单片机数据结构数据库
NRF52832-QFAA-RnRF52840-QIAA-RNRF52810-QFAA-RnRF52833-QDAA-RnRF52833-QIAA-RnRF51822-QFAC-RnRF51802-QFAA-RNRF24L01P-RCC2541F256RHARAD5061BRJZ-2500RL7AD5770RBCBZ-RL7AD7683BRMZRL7AD7699BCPZRL7AD8304ARUZ-
- 蓝牙室内定位,SOC芯片NRF52832
C18025394486
蓝牙芯片
本次就来深入分析下Nordic的最新蓝牙芯片nRF52832。目前有很多的芯片原厂发布了自己的BLESoC芯片,其中NORDIC半导体的nRF52832是知名的nRF51822的后续作品,它将BLESoC带到了一个新的高度。这款产品有很多让人兴奋的地方,它带来了更高的性能、更低的功耗以及更多的功能。从nRF51822/nRF51422升级而来知名的nRF51822是一颗BluetoothLowEn
- BLE开发系列(7) - 开源项目
冷面水手
百度手环-NRF51822链接:https://pan.baidu.com/s/1B6QcO4bGpT_-WueSzJ8Cvg提取码:v0yx小米手环-DA14580链接:https://pan.baidu.com/s/1CVqnVdb7-TnFJAKvkOQCJg提取码:4qqr
- C语言中的一些关键字
jet007_007
VC关键字c语言
volatile关键字volatile关键字以前用的很少,但是在进行nRF51822定时器编程时,碰到在如下程序段,结合程序分析volatile关键字的作用。#include"nrf51.h"#include"nrf_gpio.h"#include"led.h"#include"time.h"#include#include/***@briefFunctionfortimerinitializat
- Nordic 52840 dongle
张志中
https://github.com/NordicSemiconductor/pc-ble-driver/blob/master/README.md#Installing-dependencies参考BLEmesh说明https://blog.csdn.net/weixin_42396877/article/details/87004053NRF51822UART与BLE转发https://www
- 超低功耗蓝牙5.0芯片PHY6202替代NRF51822/NRF51802/NRF52832
2355239039qq
PHY6202替代NRF51822蓝牙芯片
随着IOT领域智能穿戴、智能家居、智慧医疗等市场应用对蓝牙芯片低功耗、低成本要求的不断提高,PHY62系列芯片应运而生。PHY6202是一款具有强大性能,高灵活性的超低功耗多协议蓝牙芯片,同时支持低功耗蓝牙,蓝牙5.0,蓝牙MESH,ZigBee,谷歌Thread,Mist等多种通信协议,面向智能终端周边设备,智能语音,智能家居,智能制造,智能交通等应用。PHY6202使用一颗32位ARMCort
- NRF51802和NRF51822技术参数资料详解对比
13631676419佐
蓝牙蓝牙4.0NRF51802NRF51822蓝牙4.2
51822-QFAA和51802-QFAA在FLASHRAM的容量没有差别;区别在于:1,接收灵敏度51802是-91dBm;51822是-93dBm,这个差异导致接收距离有差异;2,TxPower@省电模式51822是-35dBm,51802是-30dBm;这个导致芯片的发射的功耗不同;51822的功耗更低3,OdBm@DC/DC供电情况下:51822发射电流9.7mA,51802发射电流10m
- 智能门锁DIY方案NRF51802+SI522超低功耗搭配
Wang13631676419
蓝牙芯片
今天终于把智能门锁测试好了,历经一个月终于调试稳定,完美兼容了原本的13.56MHZ芯片,图中的芯片应该是友商的FM175系列或者NXP的RC522。被我替换成SI522,目前正常工作。功耗也低,原本友商的芯片一个月消耗我两颗电池,目前使用SI522一个多月,电量还是满格。我使用的是NRF51802搭配SI522,两颗都是超低功耗IC。NRF51802是NRF51822的精简版本,主要区别是:1、
- NRF51802/NRF51822/NRF52832内核对比
13631676419佐
蓝牙NRF52832芯片蓝牙
NRF51822的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF51802的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF52832的内核为M4F,FLASH是512K,RAM是64K,蓝牙BLE5.0NRF52810的内核为M4,FLASH是192K,RAM是24K,蓝牙BLE
- MicroPython 的优势
diaokuang5304
python硬件开发lua
定位的场景MicroPython在设计上最初就是为了嵌入式微处理器运行,例如在nRF51822(256kBflash+16kBRAM)的芯片上也可以运行起来,也有人肾得慌在STM32F103上跑起来了,从代码上来看Python函数栈的官方默认是16KRAM,也就意味着它可以在许多微芯片上提供一个最小的Python代码交互环境,但这并不包含它们的拓展功能,毕竟编译更多的功能代码意味着需要更多的Fla
- [nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)...
weixin_34087301
蓝牙在短距离无线通信领域占据举足轻重的地位——从手机、平板、PC到车载设备,到耳机、游戏手柄、音响、电视,再到手环、电子秤、智能医疗器械(血糖仪、数字血压计、血气计、数字脉搏/心率监视器、数字体温计、耳温枪、皮肤水分计等),再到智能家居等领域均占有一席之地。而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议。随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后
- BLE-NRF51822教程10-手机动态修改设备名
随风258741
蓝牙开发
该教程讲解如何实现用手机来动态修改设备名,达到手机连接设备后修改设备名称,然后断开连接再扫描能够看到新的设备名。教程基于sdk9.0下的uartdemo,如下目录中xxx\Keil_v5\ARM\Pack\NordicSemiconductor\nRF_Examples\9.0.0\ble_peripheral\ble_app_uartNordic的协议栈实现中默认都会有一个GenericAcce
- nRF51822 自定义UUID,ble_advdata_set的时候 NRF_ERROR_DATA_SIZE 错误的解决
火山之父
nRF51822
在做nRF51822的时候,需要自定义一个服务,那么就要自定义一个UUID。但是这个UUID在ble_advdata_set的时候,返回码为NRF_ERROR_DATA_SIZE。经过搜索资料,才发现。NORDIC的网站上的tutrial讲到了这个问题。BLEAdvertising,abeginner'stutorialadvertising的第一次广播的payload只能是31byte。自定义U
- NRF51822蓝牙初学笔记1.1之协议栈简单分析
一头小笨驴
技术初学
1.0、关于协议栈协议栈在蓝牙里面占有重要地位,在实际项目开发中,协议栈最多是作为配置配置时钟来源的作用。我们现在简单分析一下。先源码:staticvoidble_stack_init(void){uint32_terr_code;nrf_clock_lf_cfg_tclock_lf_cfg=NRF_CLOCK_LFCLKSRC;//InitializetheSoftDevicehandlermo
- [nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library...
weixin_34146410
:本篇是我翻译并加入自己理解的nRF51SDK中按钮相关操作的库和先进先出队列库。虽然是nRF51的SDK,但是通过此文你将更多地了解到在BSP(板级支持)上层嵌入式程序或OS的构建方法。1、按钮相关操作库按键管理程序是通过GPIO事务和事件管理程序来检测一个按钮是否被按下的。当然,其中也做了消抖的工作——在GPIOTE事件中启动一个定时器用来延时一段时间,当该定时器失效后如果按钮仍然处于按下状态
- NRF51822基于蓝牙协议栈SDK+FDS-Flash data storage 的使用及应用例程
天才精英2020
嵌入式软件
操作系统:win1064位开发IDE:KeilMDKV5.26SDK蓝牙协议栈:nRF5SDKv12.3.0使用NRF51822的FDS(Flashdatastorage)进行Flash的操作,用于存储一些掉电后需要保存的数据。如何使用呢?(1)使用FDS,最好把SDK升级到较新的版本,如nRF5SDKv12.3.0(2)在sdk_config.h中,配置使能FDS,即把FDS_ENABLED改为
- nrf51822 ---空中升级(DFU)
a369000753
nordicnrf51822蓝牙4.0
1.目的空中升级2.分析在实际应用中可能会遇到产品不稳定,或者需要给产品添加功能,需要给产品升级,这个时候可以用空中升级。3.平台:协议栈版本:SDK10.0.0编译软件:keil5.12硬件平台:nrf51822最小系统例子:examples\ble_peripheral\ble_app_hrs\pca100284.步骤准备材料如下:a.打开examples\dfu\bootloader\pca
- nrf51822 --- 模拟比较器
a369000753
nordicnrf51822蓝牙4.0
1.目的学习nrf51822模拟比较器2.分析模拟比较器,用于比较2个模拟信号的大小,3.平台:协议栈版本:SDK10.0.0编译软件:keil5.14硬件平台:nrf51822最小系统例子:SDK10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110\arm44.步骤1.把SDK10.0\components\drivers_nrf\l
- nrf51822 --- adc转换
a369000753
nordicnrf51822蓝牙4.0
1.目的模拟信号转换成数字信号2.分析在实际产品中经常用到adc功能,比如采集电池电压等等。3.平台:协议栈版本:SDK10.0.0编译软件:keil5.14硬件平台:nrf51822最小系统例子:SDK10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110\arm44.步骤1.在nrf51822中有8个模拟通道,如下图所示。当然P0.2
- nrf51822 --- 从机主动断开蓝牙连接
a369000753
nordicnrf51822蓝牙4.0
1.目的从机主动断开蓝牙连接2.分析实际应用当中,时常需要需从机主动断开蓝牙,防止不明主机连接的情况3.平台:协议栈版本:SDK10.0.0编译软件:keil5.14硬件平台:nrf51822最小系统例子:SDK10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110\arm44.步骤首先,要知道主动断开连接的API:/**@briefDi
- NRF51822蓝牙服务(5)——FLASH存储数据
西米爱吃虾米
BLE
前言有时候我们希望能够把蓝牙接收的数据保存下来,为以后调用和处理提供方便。所以这里我们可以尝试把数据存放在内部FLASH里面,因为FLASH掉电不易失,是一个很好的存储方式。实验分析NRF51822官方BLE协议栈实际上是提供了FLASH存储库函数,采用这些库函数,可以很方便的在工程里面进行FLASH的相关操作,这样就避免了我们重复造轮子了。NRF51822官方在SDK例程里面提供了两个文件pst
- nRF51822 ADC PWM
酱油专业户
硬件nRF51822adcpwm
网上nRF51822的资料太少了,这么两天看了一点关于nRF51822的adc,pwm,希望对新手有点作用吧,高手勿喷,我也是个初学者:nRF51822ADC引脚分布:当然P0.26和P0.27也可以做ADC引脚!~~~把官方给的nrf_adc.c加入工程,然后直接在main函数中调用就行了:nrf_adc_init(ADC_RES_8bit,ADC_INPUT_AIN7_P06,ADC_INT_
- 一起学nRF51xx 9 - pwm
张礼富
nrf51822pwm
前言上一讲我们学习了nrf51822定的器的使用,那行如何用定时器实现PWM输出呢,NRF51的time模块不支持PWM功能,不可我们可以通过定时器+PPI+GPIOTE模块一起工作的方式在NRF51XX上产生PWM信号。下面以使用TIMER0为例,来介绍用定时器产生PWM的方法。关于定时器,PPI,及GPIOTE模块的介绍可以查看之前的博文,本节将基于NRF51822芯片实现PWM信号输出,实现
- [nRF51822] 12、基础实验代码解析大全 · 实验19 - PWM
weixin_34015336
一、PWM概述:PWM(PulseWidthModulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形。PWM的几个基本概念:1)占空比:占空比是指在一个周期内,信号处于高电平的时间占整个信号周期的百分比,方波的占空比是50%。2)调制频率:周期的倒数。3)脉冲宽度:信号处于高电平的时间。二、nRF51822的PWM产生:NRF51822通过Timer、PPI
- NRF51822自学笔记(五)蜂鸣器
weixin_30908649
蜂鸣器的资料网上也有很多……这里就简单记录一下……有有源蜂鸣器和无源蜂鸣器两种这里我用的是无源蜂鸣器的模块,自带了放大电路,否则要自己焊一个……这里我设想的是用不同频率的pwm波驱动蜂鸣器发出不同频率的乐音,对于钢琴上的CDEFGAB。一共搞了两个程序,第一个没有实现功能,第二个实现了。(一)只能输出固定频率可调占空比的pwm波形nrf_pwm.c#include"nrf_gpiote.h"#in
- nRF51822使用Timer制作4路PWM波详解
Yang-Zheng
蓝牙
Date:2015.5.8Author:杨正QQ:1209758756一、pwm简介PWM英文名叫PulseWidthModulation,中文名叫脉宽调制。那它到底是什么呢?其实它是由定时器产生的,比普通的定时器多了一个比较寄存器。PWM里面有一个词叫占空比,即一个周期内,高电平持续时间与周期的比值。如下图:占空比(dutycycle)=t/T。PWM用途:控制电机调速,控制蜂鸣器播放音乐,控制
- NRF51822 Timer
rical730
NRF51822
首先熟悉一下NRF51822,这一篇文章讲得不错,链接如下:http://wenku.baidu.com/link?url=JNSJuhxNtMn3HJg6q5rETABXbejF_dallu8CkGzQCb1azNtVv5MJeYbrI26KCl4RrPaq0C41wqkeDihF9RnG577vEhHY993ZksVlSV6FHV_定时器简介定时器可谓是熟悉一个芯片主频之后第二个要熟悉的模块。
- nrf51822 --- 动态修改连接间隔
Jason.liu17
Nordic
1.目的在蓝牙连接上的时候动态修改连接间隔,已达到功耗平衡2.分析在实际应用的时候,有时候需要发送数据快一点,这个时候我们可以把连接间隔改小一点,这样发送数据快,但是功耗大,当把数据发完的时候,可把连接间隔改小一点,这样可以降低功耗,达到一个均衡.比如穿戴设备连接上的时候,可能需要快速把本地数据发给手机,这个时候就可以把连接间隔设置小点。传送完毕后间隔设置大点。这样功耗就不会太大。3.平台:Sof
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不