- Android 蓝牙音频audio-a2dp分析
短距WCN协议开发分享
Bluetooth手机平板穿戴知识分享hfpandroid蓝牙bluetoothaudio
同学,别退出呀,我可是全网最牛逼的Android蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。Android系统中,对音频设备进行管理的,主要为AudioFlinger与AudioPolicyService。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种
- Windows 如何卸载 Docker
KaedaRukawa
调试容器运维windowsdocker
在卸载Docker之前,请确保系统上没有运行任何容器。运行以下cmdlet,检查是否有正在运行的容器:PowerShell#Leaveswarmmode(thiswillautomaticallystopandremoveservicesandoverlaynetworks)dockerswarmleave--force#Stopallrunningcontainersdockerps--quie
- Mac安装Neo4j图数据库
你白勺男孩TT
macosneo4j数据库
通过Homebrew安装(推荐)打开mac终端:1.安装Homebrew(如果尚未安装)/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2.安装Neo4jbrewinstallneo4j3.启动Neo4j服务brewservicesstartneo4j#后台运行#或
- 基于WinSW的创建服务的脚本攻击
zhaoyong631
安全威胁分析
WinSW(WindowsServiceWrapper)是一个开源的实用工具,用于将任何可执行程序(如脚本、Java应用等)包装成Windows服务。以下是其核心解析:WinSW的核心功能#典型使用示例(将Python脚本包装为服务)WinSW.exeinstall→创建服务WinSW.exestart→启动服务功能描述服务化封装将非服务程序(如.bat/.py)转换为Windows服务自动重启支
- Systemd 服务文件(service)
比奇堡派星星
linux服务器
LinuxSystemd服务文件编写指南1.概述在现代Linux系统中,systemd是默认的初始化系统,用于管理系统服务的启动、停止、重启等操作。systemd服务文件(以.service为后缀)是定义服务行为的核心配置文件。本文档将详细介绍如何编写一个systemd服务文件,包括文件结构、常用配置项、操作步骤以及注意事项。2.服务文件的作用systemd服务文件用于定义一个服务的以下行为:服务
- 详解Spring事务失效的八种常见场景
玦尘❀
spring数据库java
1.事务方法访问修饰符非public,导致事务失效:当事务方法的访问修饰符为非public时,SpringAOP无法正确地代理该方法,从而导致事务失效。这是因为Spring使用动态代理来实现声明式事务管理,而动态代理只能代理公共方法。下面是一个示例代码,演示了当事务方法的访问修饰符为非public时,事务失效的情况:@Service@TransactionalpublicclassUserServ
- 使用nexus在windows上搭建npm私服
WDF.
一、下载安装1、在官网下载:NexusRepositoryManagerOSS3.x,解压至任意位置。(但是我在官网下载了几次都没成功)百度云下载地址:NexusRepositoryManagerOSS3.x提取码:7w7w2、管理员运行cmd,切换到nexus-3.17.0-01/bin目录,nexus.exe/install进行安装,成功后会提示Installedservice'nexus'注
- Kubernetes 中 YAML 文件详解
为什么不问问神奇的海螺呢丶
K8Skubernetesjava容器
Kubernetes中YAML文件详解在Kubernetes(简称K8s)的世界里,YAML(YetAnotherMarkupLanguage)文件是核心配置工具。K8s作为一个强大的容器编排系统,允许用户通过YAML文件来定义和管理各种资源,如Pods、Deployments、Services等。使用YAML文件可以实现声明式配置,清晰地描述系统的期望状态,而K8s会自动确保实际状态与期望状态一
- 深入解析 Kubernetes Service(SVC)网络
XMYX-0
K8Skubernetes网络容器
文章目录深入解析KubernetesService(SVC)网络为什么需要Service?KubernetesService主要组成部分KubernetesService类型类型的对比表格ClusterIP(默认类型)NodePortLoadBalancerExternalNameService的解析与访问机制ServiceDNS解析Service负载均衡原理Service与Ingress的区别小
- Linux服务器挂载mount与卸载umount详解
lbanyan
集群部署Linux挂载mount卸载umount
常见问题:Linux服务器上,在192.168.0.2上挂载192.168.0.3中的某一目录,若挂载不成功,可在192.168.0.2上使用servicenfsrestart或/etc/rc.d/init.d/nfsrestart命令,重启nft服务,便可挂载成功。有时,192.168.0.3服务器关机重启,但192.168.0.2服务器仍在运行,导致挂载在192.168.0.2上的目录强行丢失
- springmvc集成多个redis实例
JAVA叶知秋
redisbootstrap数据库
1.配置bean2.redis实例使用@ComponentpublicclassRedisService{@Resource@Qualifier("redisTemplate1")publicRedisTemplateredisTemplate;/***缓存基本的对象,Integer、String、实体类等**@paramkey缓存的键值*@paramvalue缓存的值*/publicvoidse
- javaweb中Tomcat,Servlet跳转505错误刷新后404错误原因与解决方案。
清新脱俗的单身狗呀
servlettomcatjava
Tomcat在较新版本中使用的Servlet-api已经从原先的javax.servlet-api变为了jakarta.servlet-api如果继续使用javax.servlet-api就会发生对象创建失败。只需要将Maven中的Servlet依赖改为com.guicedee.servicesjakarta.servlet-api1.2.2.1-jre17然后将引入的包也改成相应的名字即可。
- 并发编程源码解析(十)ThreadPoolExecutor源码解析
黄小墨( ̄∇ ̄)
并发编程源码解析java开发语言
一、ThreadPoolExecutor是什么?ThreadPoolExecutor是Java中的一个线程池实现类。它实现了ExecutorService接口,可以用来管理和调度线程执行任务。线程池是一种用于管理和复用线程的机制,通过维护可重用的线程来执行任务,可以避免频繁地创建和销毁线程,提高了系统的性能和效率。ThreadPoolExecutor提供了许多灵活的配置选项,可以根据实际需求来调整
- 美年旅游总结 1
pedestrian_h
springjava后端
美年旅游总结1环境搭建1,项目整体结构2,关系3,导入环境依赖1,meinian_parentpom4.0.0cn.guojava.zookerper_dubbomeinianpom1.0-SNAPSHOTmeinian_commonmeinian_pojomeinian_daomeinian_interfacemeinian_servicemeinian_web4.125.0.5.RELEASE
- Android Low Storage机制(DeviceStorageMonitorService)
wd623894174
CommonFrameworkAndroid
文章目录1.lowstorage简介(DeviceStorageMonitorService)2.DeviceStorageMonitorService代码介绍2.1服务初始化2.2DeviceStorageMonitorInternal提供的接口2.3check()/data分区3监听lowStorage广播1.lowstorage简介(DeviceStorageMonitorService)D
- spring boot3.4.3+MybatisPlus3.5.5+swagger-ui2.7.0
期待着2013
springboot后端java
使用MyBatis-Plus操作books表。我们将实现以下功能:创建实体类Book。创建Mapper接口BookMapper。创建Service层BookService和BookServiceImpl。创建Controller层BookController。配置MyBatis-Plus和数据库连接。1.项目结构src├──main│├──java││└──com││└──example││├──
- ### **Android核心系统服务深度解析(AMS/ATMS/WMS/DMS)**
凤翎鹤冢
python开发语言
------####**一、AMS(ActivityManagerService)****职责**:管理应用生命周期、进程调度、四大组件(Activity/Service/Broadcast/ContentProvider)协调、权限控制、内存管理等。---#####**1.源码路径**-**核心类**:-`frameworks/base/services/core/java/com/androi
- 用redis实现秒杀
jingweiben219
redis并发
今日在研究秒杀系统,用数据库的乐观锁可以实现,但是在高并发下可能并不好,所以就想到了缓存系统redis,因为redis本身也有锁机制,废话不多说,直接上代码,请大神指点不足的地方。classA{privateExecutorServiceexecutorService=Executors.newFixedThreadPool(8);privateRedisTemplateredisTemplate
- android storage_state
月盈五
android
storage_state是android用来输出磁盘状态的event类型的日志,下面我们看下它的定义和使用以及磁盘状态介绍。定义#---------------------------#DeviceStorageMonitorService.java#---------------------------#Storagevolumestateandusablespaceinbytes2749st
- Android Service封装实战:基于Binder与接口的高效通信方案
tangweiguo03051987
androidbinderjava
通过封装Service,可以简化Service的使用和管理,提升代码的可维护性和复用性。无论是本地Service还是跨进程通信,封装都能让代码更加清晰和易于扩展。1.封装Service的步骤1.1创建基础Service类创建一个基础的Service类,封装通用的逻辑(如启动、停止、绑定等)。publicabstractclassBaseServiceextendsService{privatefi
- Dubbo知识点整理
eeeeeeeeethan
dubbojava
Dubbo模块划分Service:服务代码的实现。Config:RPC调用的配置,如超时时间、重试、缓存。Proxy:远程调用的服务代理。Registry:注册中心,给出调用方IP。Cluster:路由层,选择调用的服务提供者,实现路由过滤和均衡负载。Monitor:监控层。Protocol:远程调用层,封装调用过程。Exchange:信息交换层,用于封装请求并模式同步、异步获取响应结果。Tran
- ROS学习笔记
xiyuping24
学习笔记机器人图论
下载使用鱼香ROS,一键下载十分好评~学习地址官网网站:ros.wiki调试打开终端,输入roscore,发现最后输出startcoreservice,说明安装成功尝试小海龟,打开另一个终端,输入rosrunturtlesimturtlesim_node,出现小海龟的窗口,说明成功其他小海龟玩法:小海龟画圆关于文件结构最高层是home中自己建的workspace,在里面应该有三大部分:buildd
- Dubbo 通信流程 - 服务的创建、导出与注册
eeeeeeeeethan
dubbojavarpc
创建服务供远程客户端调用定义接口并实现//服务接口publicinterfaceHelloService{StringsayHello(Stringname);}importorg.apache.dubbo.config.annotation.DubboService;//服务实现类@DubboServicepublicclassHelloServiceImplimplementsHelloSer
- linux自启动服务
小蔡不做梦
linux网络运维
在Linux环境中,systemd是一个系统和服务管理器,它为每个服务使用.service文件进行配置。systemctl是用于控制系统服务的主要工具。本文将详细介绍如何使用systemctl来管理vsftpd服务,以及如何设置服务自启动。使用Systemd设置自启动服务创建或编辑服务文件每个服务都有一个对应的.service文件,这些文件通常位于/etc/systemd/system/目录下,或
- mysql插入数据java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x94\x97 B...‘ for column 问题修复
代码先觉
数据库javamysqljava数据库
问题原因原因是Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。这里可以看到编码确实不对解决方案方案1在mysql的安装目录下找到my.ini,作如下修改:[mysqld]character-set-server=utf8mb4[mysql]default-character-set=utf8mb4修改后重启Mysqlsudoservicemysq
- Google Chrome 60版本的全新特性与优势
xinwuji312
本文还有配套的精品资源,点击获取简介:Chrome60是GoogleChrome浏览器的一个重大更新,它在2017年推出,为用户和开发者提供了多项改进。新版浏览器通过升级V8JavaScript引擎,增强WebAssembly支持,改进CSSGrid布局,更新ServiceWorker,增强安全性,改进开发者工具,增加新的WebAPI,优化性能,增强隐私控制以及支持64位架构,从而提升浏览体验和开
- Ollama设置拉取模型本地保存路径和监听端口
奔跑中的小象
aiollama
在service配置文件中添加环境变量Environment具体操作如下:1.创建保存模型目录文件夹sudomkdir/home/xyh/data/ollama/modelssudochmod777/home/xyh/data/ollama/models2.修改service配置并添加环境变量Environmentsudovi/etc/systemd/system/ollama.service#将
- Java实用注解篇:@Transactional 事务失效的场景深度解析
Stay Passion
java数据库开发语言
前言在使用@Transactional时,很多开发者都会遇到一个常见困惑:明明加了事务注解,但事务却没有生效,数据库操作仍然被提交了!这是因为事务机制的触发有一些前提条件,只要触碰到事务失效的“雷区”,就会让事务变成“摆设”。接下来,我们来详细剖析几种常见的事务失效场景以及解决方案!✅1️⃣同一个类中方法直接调用,事务失效问题复现:@ServicepublicclassUserService{@A
- go注册rpc接口
march of Time
gogolangrpcqt
1.定义proto文件:syntax="proto3";packagepb;serviceService{rpcRPC(Request)returns(Reply){}}messageRequest{stringAction=1;int64TraceID=2;stringPayload=3;}messageReply{int32Code=1;int64TraceID=2;stringPayload
- ASP.NET站点配置以及VS2008下C#、JavaScript联合调试(Ajax) ----以最短路径Dijstra最短路问题为例
刘一哥GIS
《VS/C/C++/C#》ASP.NETIIS最短路径ajax
实验任务描述:用VS2008构造ASP.NET站点开发环境;用ASP.NET完成JavaScript开发调试;用Ext3.0.0完成一个简单的树显示站;WebService程序设计,Dijstra最短路Web服务;JavaScript通过Ajax技术调用WebService;一、Windows下WEB共享设置打开你的WINDOWS,鼠标点开“我的电脑”,寻找下你机器的WINDOWS版本信息,如果你
- 关于旗正规则引擎规则中的上传和下载问题
何必如此
文件下载压缩jsp文件上传
文件的上传下载都是数据流的输入输出,大致流程都是一样的。
一、文件打包下载
1.文件写入压缩包
string mainPath="D:\upload\"; 下载路径
string tmpfileName=jar.zip; &n
- 【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析
bit1129
Stream
以如下代码为例(SocketInputDStream):
Spark Streaming从Socket读取数据的代码是在SocketReceiver的receive方法中,撇开异常情况不谈(Receiver有重连机制,restart方法,默认情况下在Receiver挂了之后,间隔两秒钟重新建立Socket连接),读取到的数据通过调用store(textRead)方法进行存储。数据
- spark master web ui 端口8080被占用解决方法
daizj
8080端口占用sparkmaster web ui
spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:
1、cd SPARK_HOME/sbin
2、vi start-master.sh
3、定位到下面部分
- oracle_执行计划_谓词信息和数据获取
周凡杨
oracle执行计划
oracle_执行计划_谓词信息和数据获取(上)
一:简要说明
在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这两个词对我们解读Oracle的执行计划信息会有所帮助。
简单说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),而filter表示谓词条件的值并不会影响数据访问路径,只起到
- spring中datasource配置
g21121
dataSource
datasource配置有很多种,我介绍的一种是采用c3p0的,它的百科地址是:
http://baike.baidu.com/view/920062.htm
<!-- spring加载资源文件 -->
<bean name="propertiesConfig"
class="org.springframework.b
- web报表工具FineReport使用中遇到的常见报错及解决办法(三)
老A不折腾
finereportFAQ报表软件
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、repeated column width is largerthan paper width:
这个看这段话应该是很好理解的。比如做的模板页面宽度只能放
- mysql 用户管理
墙头上一根草
linuxmysqluser
1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:
- 关于使用Spring导致c3p0数据库死锁问题
aijuans
springSpring 入门Spring 实例Spring3Spring 教程
这个问题我实在是为整个 springsource 的员工蒙羞
如果大家使用 spring 控制事务,使用 Open Session In View 模式,
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.
- 百度词库联想
annan211
百度
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title&g
- int数据与byte之间的相互转换实现代码
百合不是茶
位移int转bytebyte转int基本数据类型的实现
在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;
主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029
int转byte;
byte转int;
/**
* 字节转成int,int转成字节
* @author Administrator
*
- 简单模拟实现数据库连接池
bijian1013
javathreadjava多线程简单模拟实现数据库连接池
简单模拟实现数据库连接池
实例1:
package com.bijian.thread;
public class DB {
//private static final int MAX_COUNT = 10;
private static final DB instance = new DB();
private int count = 0;
private i
- 一种基于Weblogic容器的鉴权设计
bijian1013
javaweblogic
服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下:
String vuser_id = "weblogic";
String vuse
- 【RPC框架Hessian二】Hessian 对象序列化和反序列化
bit1129
hessian
任何一个对象从一个JVM传输到另一个JVM,都要经过序列化为二进制数据(或者字符串等其他格式,比如JSON),然后在反序列化为Java对象,这最后都是通过二进制的数据在不同的JVM之间传输(一般是通过Socket和二进制的数据传输),本文定义一个比较符合工作中。
1. 定义三个POJO
Person类
package com.tom.hes
- 【Hadoop十四】Hadoop提供的脚本的功能
bit1129
hadoop
1. hadoop-daemon.sh
1.1 启动HDFS
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
通过这种逐步启动的方式,比start-all.sh方式少了一个SecondaryNameNode进程,这不影响Hadoop的使用,其实在 Hadoop2.0中,SecondaryNa
- 中国互联网走在“灰度”上
ronin47
管理 灰度
中国互联网走在“灰度”上(转)
文/孕峰
第一次听说灰度这个词,是任正非说新型管理者所需要的素质。第二次听说是来自马化腾。似乎其他人包括马云也用不同的语言说过类似的意思。
灰度这个词所包含的意义和视野是广远的。要理解这个词,可能同样要用“灰度”的心态。灰度的反面,是规规矩矩,清清楚楚,泾渭分明,严谨条理,是决不妥协,不转弯,认死理。黑白分明不是灰度,像彩虹那样
- java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
bylijinnan
java
public class PrintMatrixClockwisely {
/**
* Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1 2 3 4
5 6 7 8
9
- mongoDB 用户管理
开窍的石头
mongoDB用户管理
1:添加用户
第一次设置用户需要进入admin数据库下设置超级用户(use admin)
db.addUsr({user:'useName',pwd:'111111',roles:[readWrite,dbAdmin]});
第一个参数用户的名字
第二个参数
- [游戏与生活]玩暗黑破坏神3的一些问题
comsci
生活
暗黑破坏神3是有史以来最让人激动的游戏。。。。但是有几个问题需要我们注意
玩这个游戏的时间,每天不要超过一个小时,且每次玩游戏最好在白天
结束游戏之后,最好在太阳下面来晒一下身上的暗黑气息,让自己恢复人的生气
&nb
- java 二维数组如何存入数据库
cuiyadll
java
using System;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace WindowsFormsApplication1
{
- 本地事务和全局事务Local Transaction and Global Transaction(JTA)
darrenzhu
javaspringlocalglobaltransaction
Configuring Spring and JTA without full Java EE
http://spring.io/blog/2011/08/15/configuring-spring-and-jta-without-full-java-ee/
Spring doc -Transaction Management
http://docs.spring.io/spri
- Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
dcj3sjt126com
linuxalias
用途说明
设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问 题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常 用的长命令行变短,强制执行命令时询问等。
常用参数
格式:alias
格式:ali
- yii2 restful web服务[格式响应]
dcj3sjt126com
PHPyii2
响应格式
当处理一个 RESTful API 请求时, 一个应用程序通常需要如下步骤 来处理响应格式:
确定可能影响响应格式的各种因素, 例如媒介类型, 语言, 版本, 等等。 这个过程也被称为 content negotiation。
资源对象转换为数组, 如在 Resources 部分中所描述的。 通过 [[yii\rest\Serializer]]
- MongoDB索引调优(2)——[十]
eksliang
mongodbMongoDB索引优化
转载请出自出处:http://eksliang.iteye.com/blog/2178555 一、概述
上一篇文档中也说明了,MongoDB的索引几乎与关系型数据库的索引一模一样,优化关系型数据库的技巧通用适合MongoDB,所有这里只讲MongoDB需要注意的地方 二、索引内嵌文档
可以在嵌套文档的键上建立索引,方式与正常
- 当滑动到顶部和底部时,实现Item的分离效果的ListView
gundumw100
android
拉动ListView,Item之间的间距会变大,释放后恢复原样;
package cn.tangdada.tangbang.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import andr
- 程序员用HTML5制作的爱心树表白动画
ini
JavaScriptjqueryWebhtml5css
体验效果:http://keleyi.com/keleyi/phtml/html5/31.htmHTML代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" >
<ti
- 预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版
kakajw
ThinkPad预装改装windows 7windows 8
该教程具有普遍参考性,特别适用于联想的机器,其他品牌机器的处理过程也大同小异。
该教程是个人多次尝试和总结的结果,实用性强,推荐给需要的人!
缘由
小弟最近入手笔记本ThinkPad T440,但是特别不能习惯笔记本出厂预装的Windows 8系统,而且厂商自作聪明地预装了一堆没用的应用软件,消耗不少的系统资源(本本的内存为4G,系统启动完成时,物理内存占用比
- Nginx学习笔记
mcj8089
nginx
一、安装nginx 1、在nginx官方网站下载一个包,下载地址是:
http://nginx.org/download/nginx-1.4.2.tar.gz
2、WinSCP(ftp上传工
- mongodb 聚合查询每天论坛链接点击次数
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 18 */
{
"_id" : ObjectId("5596414cbe4d73a327e50274"),
"msgType" : "text",
"sendTime" : ISODate("2015-07-03T08:01:16.000Z"
- java术语(PO/POJO/VO/BO/DAO/DTO)
Luob.
DAOPOJODTOpoVO BO
PO(persistant object) 持久对象
在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.
VO(value object) 值对象
通
- 算法复杂度
Wuaner
Algorithm
Time Complexity & Big-O:
http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o
http://bigocheatsheet.com/
http://www.sitepoint.com/time-complexity-algorithms/