- 博客(267)
- 收藏
- 关注
原创 tmp
extern int shared;int main() { int a = 100; swap(&a, &shared);} int shared = 1;void swap(int *a, int *b) { *a ^= *b ^= *a ^= *b;} ...
2018-06-28 12:54:13
363
原创 程序的加载和链接
hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_H hello.c#include <stdio.h> void hello(const char *name) { printf("Hell...
2018-06-04 20:29:25
366
原创 C的例子
一个C的例子#include <stdlib.h> #include <stdio.h>#include <string.h> //普通的search函数int search(int * arr, size_t size, int target) { for(int i=0;i<size;i++) { if(a...
2018-04-02 17:26:49
283
原创 Zookeeper
ACID理论CAP理论 Consistency,Availability,Partition toleranceBASE理论 Basically Available基本可用,Soft state软状态,Eventually consistent最终一致性两阶段提交(存在中心节点同步阻塞,单点问题,脑裂,太过保守)三阶段提交Paxos算法,拜占庭将军问题 Pax...
2018-01-31 09:21:58
231
原创 Go总结
参考GO语言零基础入门资料整理Go语法指南Go语言中文网Go语言学习中文网 Go语言标准库例子GO标准库API Go博客列表Go中文博客Golang构建HTTP服务(一)--- net/http库源码笔记Golang构建HTTP服务(二)--- Handler,ServeMux与中间件《Go语言...
2017-11-22 10:25:11
201
原创 Linux内核--文件IO
创建一个文件(100M大小),然后格式化(ext2格式),并挂载成一个分区(需要先建立/mnt/tmpmnt目录)dd if=/dev/zero of=ramrootfs.img bs=1k count=102400mke2fs -F -m 0 -i 2000 ramrootfs.imgmount -o loop -t ext2 ramrootfs.img /mn...
2017-05-27 13:52:08
155
原创 VLAN原理详解
1.为什么需要VLAN1.1 什么是VLAN?VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的...
2017-05-22 18:01:25
183
原创 Linux 监控命令
linux下监控命令top、uptime、free 统计相关命令stat、dstatifstat、iostatnetstat、nicstatmpstat、pidstat、vmstatlsof、tcpdump、sar 其他arp、arping、traceroutestracenethogs [eth1] 查看网络流量nslooku...
2017-05-09 13:20:18
510
原创 Hadoop技术内幕 深入解析MapReduce架构设计与实现原理
Hadoop的一些重大改进1.append,HDFS支持追加写功能2.HDFS RAID在HDFS之上构建了一个新的分布式文件系统,可以用更少副本保持可用性3.Symlink 让HDFS支持符号链接4.Security 知道blockId就可以绕过namenode会有安全问题5.MRv1和MRv26.NameNode Federation,一个namenode会有...
2017-05-03 15:14:50
442
原创 高可用mysql
infiniband网卡 memcache高可用就是双写或者多写来保证数据多备份开源工具如 memagent, MemcachedHA MySql读写分离方案MySQL-Proxy(官方) Amoeba for MySQL(第三方) Atlas(360) Cobar(Alibaba)通过程序实现读写分离 参考五大常见M...
2017-04-28 14:15:08
178
原创 MySql Innodb存储引擎--备份和优化
备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务;恢复的对象,是整个库,多个表,还是单个库,单个表。 备份的类型1、根据是否需要数据库离线冷备(cold back...
2017-04-24 17:07:28
327
原创 MySql Innodb存储引擎--锁和事务
lock和latch的比较latch 一般称为闩锁(轻量级的锁) 因为其要求锁定的时间非常短,若迟勋时间长,则应用性能非常差,在InnoDB存储引擎中,latch有可以分为mutex(互斥锁)和rwlock(读写锁)其目的用来保证并发线程操作临界资源的正确性,并且没有死锁检测的机制 lock的对象是事务,用来锁定的是数据库中的UI想,如表、页、行。并且一般lock对象仅...
2017-04-21 17:20:27
334
原创 MySql Innodb存储引擎--文件和索引
MySql架构图 MySql文件类型参数文件,启动时候需要的参数日志文件,二进制文件(bin log),慢查询日志,查询日志,错误日志,重做日志(undo log)socket文件,使用域socket连接时候用的pid文件,进程的pid文件表结构文件,存储表结构的定义存储引擎文件,存放最终数据的 参数查询和修改...
2017-03-27 18:03:41
559
原创 MySql Innodb存储引擎--架构和引擎介绍
Mysql架构图1 Connectors指的是不同语言中与SQL的交互 2 Management Serveices & Utilities: 系统管理和控制工具 3 Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求 4 SQL Interface: SQL接口。接受用户的SQL命令,并且返回用户需要查...
2017-03-23 10:40:56
323
原创 Lisp 总结
基本语法宏定义(define pi 3.14)(define hi "hello") 定义一个过程(define (add a b) (+ a b))(add 10 20) 一个序对(cons 1 2)(cons 1.1 "aa") 定义一个序对(define x (cons 1 2))(define y (cons 3 ...
2017-02-25 23:53:37
397
原创 计算机程序的构造和解释
创建一个有理数(define (make-rat n d) (cons n d)) #定义一个分数(define (number x) (car x)) #number获取一个分数的分子部分(define (denom x) (cdr x)) #denom获取一个分数的分母部分 打...
2017-02-15 18:02:31
255
原创 Git 总结
git命令git init创建一个git空仓库 git add <file>将文件保存到暂存区 git commit -m "..."将暂存区的内容提交到分支 git diff <file>比较文件差异 git status查看当前状态 git log查看历史 git reflog...
2017-02-04 15:17:13
119
原创 WebSocket总结
1. websocket是什么Websocket是html5提出的一个协议规范,参考rfc6455。websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信。在websocket出现之前,web交互一般是基于http协议的短连接或者长连接。WebSocket是为解决客户端...
2017-01-16 17:52:37
142
原创 NodeJS总结
安装mysqlD:\nodejs>npm install mysqlD:\nodejs`-- mysql@2.12.0 +-- bignumber.js@2.4.0 +-- readable-stream@1.1.14 | +-- core-util-is@1.0.2 | +-- inherits@2.0.3 | +-- isarra...
2016-12-26 10:39:12
181
原创 OAuth总结
登录新浪微博授权过程url如下https://api.weibo.com/oauth2/authorize?client_id=2354958370&redirect_uri=跳转回去的urll&response_type=code&forcelogin=true参数信息client_id 2354958370forcelogi...
2016-12-22 16:15:09
120
原创 Memcached总结
Slab Allocation机制:整理内存以便重复使用最近的memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。 在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的。 但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下, 会导致操作系统比memcached进程本身还慢。Slab Alloca...
2016-12-20 17:29:10
150
原创 AJAX跨域总结
简介 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一。 和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST...
2016-12-20 11:03:08
101
原创 AJAX总结
简介AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网...
2016-12-09 15:21:39
149
原创 php总结
参考php关键字列表深入理解php内核phpstorm+Xdebug断点调试PHPPHP7和HHVM的性能之争一步步入门编写PHP扩展xhprof介绍newrelic
2016-11-29 17:12:24
160
原创 scala-简介
scala定义变量//不可变的变量val msg = "Hello, world!"//可变的变量,可以不用写变量类型,scala会自动推导val msg2: java.lang.String = "Hello again, world!" scala函数基本构成定义函数如下def max(x: Int, y: Int): In...
2016-09-14 15:28:20
104
原创 Spark-编程和执行原理
用一个例子来说明val rdd = sc.parallelize(List(('a',1),('a',2)))val rdd2 = sc.parallelize(List(('b',1),('b',2)))val x1 = rdd union rdd2val x2 = rdd union rdd2val x3 = rdd union rdd2val x4...
2016-09-13 16:28:18
113
原创 ElasticSearch-入门
简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,令...
2016-09-12 13:42:22
106
原创 Spark-环境搭建
搭建hadoop集群hadoop2.7.3 + spark1.6.1 + scala2.11.8 + jdk1.8.0_101下载hadoop2.7,修改$HADOOP_HOME/etc/hadoop下的hadoop-env.sh文件 export JAVA_HOME=/soft/jdk1.8.0_101 修改core-site.xml文件(这里讲将数据目...
2016-09-08 18:52:19
104
原创 REST简介
名词解释REST(Representational State Transfer 表述性状态转移) 一种跨平台跨语言的架构风格REST式的Web服务 是REST在Web领域的实现JAX-RS 是REST在java领域的标准Jersey 是JAX-RS标准的参考实现 REST资源地址设计功能请求类型资源地址...
2016-08-26 23:03:35
183
原创 dubbo入门
简介 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。 (1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。 此时需要一个服务注册中心,动态的注册和发现服务,使服...
2016-08-12 14:47:57
111
原创 Hadoop-DataNode分析
HDFS主要流程客户端创建到namenode的文件与目录操作客户端会调用FileSystem实现也就是DistributedFileSystem的mkdir()函数,之后DistributedFileSystem会通过IPC调用namenode的mkdir()这个操作会持久化到日志中FSImage#saveFSImage(),之后返回创建目录只是客户端和nam...
2016-04-06 18:41:48
203
原创 破坏之王
不同阶段DDos攻击事件的特点时期使用者目的时机目标探索期黑客个体兴趣和炫耀随意随意工具化政治宗教商业组织勒索竞争报复精确精确武器化国家网络战精确精确普及化群体组织表达主张受外部事件触发相关范围 知名僵尸网络1.ZeroAccess...
2016-03-30 21:44:44
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人