10 suibo0912hf

尚未进行身份认证

暂无相关简介

等级
TA的排名 18w+

软件设计精粹

以下来自——RobPike——一、终极目标软件设计的终极目标不是增加功能,而是消除需求。二、设计原则1.你无法断定程序会在什么地方耗费运行时间。瓶颈经常出现在想不到的地方,所以别急于胡乱找个地方改代码,除非你已经证实那儿就是瓶颈所在。2.估量。在你没对代码进行估量,特别是没找到最耗时的那部分之前,别去优化速度。3.花哨的算法在n很小时通常很慢,而n通常很小。花哨算法的常数复杂

2017-03-15 18:30:48

windows交叉编译golang

1、下载相关程序。  Golang下载:http://www.golangtc.com/download  Git下载:http://git-scm.com/download/  TDM-GCC下载:http://tdm-gcc.tdragon.net/download2、Go编译环境配置  安装TDM-GCC,程序会自动设置PATH环境变量,如果没有设置成功请手动设置。  安装Go,安装完后需要

2017-01-10 15:08:14

redis数据淘汰策略

在redis中,允许用户设置最大使用内存大小server.maxmemory,在内存限定的情况下是很有用的。譬如,在一台8G机子上部署了4个redis服务点,每一个服务点分配1.5G的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis提供6种数据淘汰策略:volatile-

2016-06-15 19:12:26

redis持久化策略

一、Redis提供了哪些持久化机制:   1).RDB持久化:   该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。       2).AOF持久化:   该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。   3).无持久化:   我们可以通过配置

2016-06-15 18:10:54

kafka设计理念浅析

Kafka设计背景及原因Kafka最初被LinkedIn设计来处理活动流数据(activitystreamdata)和系统处理数据(operaitonaldata)。活动流数据是指像pageview、用户搜索关键词等等通过用户操作产生的数据,它的常见场景有时间线(timeline)即新鲜事提醒、用户浏览量搜索量排名等等。系统处理数据是服务器性能相关的数据,如CPU、负载、用户请求数等,它

2016-06-06 16:12:24

安装nginx及tcp代理

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。(百度百科-http://www.dwz.cn

2016-06-03 13:16:24

再谈java内存模型

不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于java开发人

2016-05-19 15:00:08

kafka消费API理解

主要消费部分API:ConsumerConnectorconnector=Consumer.create(consumerConfig);interfaceConsumerConnector{publicMap<String,List<KafkaStream>>createMessageStreams(Map<String,Int>topicCountMap);p

2016-05-12 17:29:48

linux部署kafka

1、关闭SELINUXvi/etc/selinux/configSELINUX=enforcing#注释掉SELINUXTYPE=targeted#注释掉SELINUX=disabled#增加:wq!#保存退出setenforce0#使配置立即生效2、配置防火墙,开启9092端口vi/etc/sysconfig/iptables#编辑防火墙配置文件-AINPUT

2016-05-12 12:48:51

分布式系统中的一致性协议之两阶段提交协议(2PC)

两阶段提交协议是很常见的解决分布式事务的方式,他可以保证分布式事务中,要么所有参与的进程都提交事务成功,要么都取消事务,这样做可以在分布式环境中保持ACID中A(原子性)。在两阶段提交协议中,包含了两种角色:协调者与参与者。参与者就是实际处理事务的机器,而协调者就是其中一台单独的处理分布式事务的机器。该算法分为两个阶段:1.投票阶段2.提交阶段阶段1:请

2016-04-19 17:04:26

java泛型

一、java泛型的好处1,类型安全。泛型的主要目标是提高Java程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。2,消除强制类型转换。泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。3,潜在的性能收益。泛型为

2016-04-13 19:57:36

Linux Shell根据进程名杀死进程

功能是给出一个进程名,就会把关联进程Id全部kill掉。Shell脚本源码如下:#!/bin/sh#根据进程名杀死进程if[$#-lt1]thenecho"缺少参数:procedure_name"exit1fiPROCESS=`ps-ef|grep$1|grep-vgrep|grep-vPPID|awk'{print$2}'`foriin$

2015-12-01 16:53:18

android中M页唤醒app及信息传递

一,采用openapp协议1,在AndroidManifest.xml中声明接收请求的activity:<activityandroid:name=".OpenAppActivity"><intent-filter><actionandroid:name="android.intent.action.VIEW"/>

2015-10-13 14:26:56

linux安装git

一般linux自带git版本很旧,会有一定问题,可以先卸载系统自带git:yumremovegit下载及安装git:wgethttps://github.com/git/git/archive/v2.2.1.tar.gztarzxvfv2.2.1.tar.gzcdgit-2.2.1makeconfigure./configure--prefix=/usr/local

2015-09-15 10:31:50

AtomicBoolean的妙用

在开发中,经常要设置开关,通常的做法如下://这是一个全局变量booleanisStart=false;然后在某一个需要设置开关的位置:if(!isStart){isStart=true;doSomething();}显然这是线程不安全的,通过使用AtomicBoolean可以这样做:privatestaticAtomicBooleanisStart

2015-09-15 09:38:26

CountDownLatch和CyclicBarrier的应用场景

jdk1.5之后,java的concurrent包提供了一些并发工具类,比如CountDownLatch和CyclicBarrier,这里只讲它们的应用场景,暂不作原理剖析。CountDownLatch:一个线程A等待其它线程都执行完毕后,线程A继续执行。这个线程A也可以是一组线程(使用同一个CountDownLatch来控制即可).CyclicBarrier:一组线程互相等待,所有线程都达

2015-09-15 09:07:49

ThreadLocal的个人理解

本文只讲诉实现原理用来记录。ThreadLocal的核心对象就是ThreadLocalMap,但是它却声明在Thread类里面,所以才能关联一个线程,以达到存储共享变量的作用:ThreadLocal.ThreadLocalMapthreadLocals=null;它的初始化和操作都在ThreadLocal类里面,也就是说ThreadLocal只是工具类,ThreadLocalMap才是共

2015-09-14 17:08:03

即时通讯 - netty4纪要

netty4的NioEventLoopGroup是一个线程池,专门负责处理io事件,boss NioEventLoopGroup负责监听网络事件,worker NioEventLoopGroup负责读写,都不能发生阻塞,否则会影响并发性能,可以在handler通道ChannelPipeline中使用内置的线程池EventExecutorGroup来处理耗时业务,相关代码如下:Channel

2015-04-30 18:08:34
勋章 我的勋章
    暂无奖章