自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WonSoon的专栏

程序人生-Coding your life

  • 博客(119)
  • 资源 (12)
  • 收藏
  • 关注

转载 微博高并发场景下的分布式缓存架构

1.Memcached内存分配原理介绍掌握Memcached的安装、使用命令,其实对大部分的同学来说已经足以开展相关开发工作了。但当碰到一些线上问题的时候,单纯的会用Memcached是无法快速、合理的分析问题所在的。所以接下来我们将介绍Memcached的内存分配管理原理。Memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存。Slab Allocator的基本原理

2015-08-11 11:47:55 5395 1

原创 Java agent实现JVM exception 统计

Java agent实现JVM异常监控原理对于javaagent,或许大家都听过,甚至使用过,常见的用法大致如下:java -javaagent:myagent.jar=mode=test Test我们通过-javaagent来指定我们编写的agent的jar路径(./myagent.jar),以及要传给agent的参数(mode=test),在启动的时候这个agent就可以做一些我们希望的事了。j

2016-07-05 10:24:43 1593

原创 Spring bean实例化时间点及相关若干问题

一简要说明Spring什么时候实例化bean,首先要分2种情况  第一:如果你使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化  第二:如果你使用ApplicationContext作为Spring Bean的工厂类,则又分为以下几种情况:       (1):如果bean的scope是singleton的,并且l

2016-04-20 16:53:23 4856

转载 你应该知道的RPC原理

你应该知道的RPC原理  在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。  而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服

2016-01-11 14:05:46 1346

转载 使用监听器对Spring bean id进行唯一校验

背景: 项目中用到了多数据源,不同的数据源根据业务不同配置在不同的工程中,由maven来统一聚合。但是前几天在开发过程中突然发现项目前台工程的事务配置不起作用了,在之前明明测试过事务功能,当时是生效的。然后检查了一下配置文件中事务部分的配置,发现没什么改动。为了排除其它因素的干扰,采用了单元测试重新测试了一次,结果发现当前数据源事务正常。根据这个分析可能是当前的事务配置被其它配置干扰了,仔细检查了

2015-10-20 10:10:32 856

转载 使用ZooKeeper实现配置同步

使用ZooKeeper实现配置同步前言应用项目中都会有一些配置信息,这些配置信息数据量少,一般会保存到内存、文件或者数据库,有时候需要动态更新。当需要在多个应用服务器中修改这些配置文件时,需要做到快速、简单、不停止应用服务器的方式修改并同步配置信息到所有应用中去。本篇文章就是介绍如何使用ZooKeeper来实现配置的动态同步。ZooKeeper在

2015-10-19 16:02:17 15640

原创 Merge k Sorted Lists

法1.分而治之ListNode merge2(ListNode a, ListNode b) { ListNode dummyHead, curr; dummyHead = new ListNode(-1); curr = dummyHead; while (a != null && b != null) {

2015-10-18 12:29:52 541

转载 大数据多路归并排序

多路归并排序问题给你1个文件bigdata,大小4663M,5亿个数,文件中的数据随机,如下一行一个整数:61963023557681612158020393452095006174677379343122016371712330287901712966901...7005375现在要对这个文件进行排序,怎么搞?内部排序先

2015-10-17 23:36:04 17597 7

原创 Remove Duplicates from Sorted Array

Remove Duplicates from Sorted ArrayMy SubmissionsQuestion Solution Given a sorted array, remove the duplicates in place such that each element appear only once and return the new

2015-10-14 12:34:01 533

原创 Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.解决思路首先想到的还是把链表当做有向图来深度遍历,但

2015-10-13 22:01:42 693

转载 Docker run 命令的使用方法

Docker run 命令的使用方法注意,本文基于最新的Docker 1.4文档翻译。Docker会在隔离的容器中运行进程。当运行 docker run命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过docker run命令重新

2015-10-12 17:44:01 56947 3

原创 弗洛伊德判圈算法

先来看链表是否有环的判断设链表起始节点为H,回路起始节点为S,两指针第一次相遇节点为M。设回路的长度为c,S到M的距离为c1,M到S的距离为c2。设H到S的距离为d。设hare每次移动2,tortoise每次移动1。移动k次后两者相遇。不难发现,H到M的距离为k。为了便于理解,请参考下图:由已知条件,可得到下列等式:hare和tortoise相遇时,hare套了tortoi

2015-10-08 21:29:29 2640

转载 使用 awk 命令行快速分析HTTP Server 访问日志

使用 awk 命令行快速分析HTTP Server 访问日志为了了解 IBM HTTP Server 的运行状况,需要对 IBM HTTP Server 的日志进行快速有效的分析。虽然现在有很多商业、或开源软件提供图形化用户界面的方式,辅助分析服务器的访问日志,但是他们大多需要事先在服务器端安装和配置。使用 awk 命令,在很多特殊情形下,可以

2015-09-12 17:20:09 1955

翻译 Searching a 2D Sorted Matrix Part II

二维整型矩阵Table [m][n]. 满足Table[i][j] ≤ Table[i][j + 1], Table[i][j] ≤ Table[i + 1][j]在此中进行查找元素。1.阶梯搜索从右上角或者左下角开始,如下图红线所示的查找13的过程bool stepWise(int mat[][N_MAX], int N, int targ

2015-09-10 12:27:25 642

转载 Tomcat启动报Error listenerStart错误

今天启动Tomcat启动不了,报以下错: org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/******] s

2015-09-02 17:19:57 588

原创 Gas Station

Gas StationThere are N gas stations along a circular route, where the amount of gas at stationi is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to trave

2015-08-26 20:55:39 476

转载 Git 每次提交时的用户名和密码设置

在使用 Git 的时候,经常会遇到需要频繁输入密码的情况,在每次 commit 的时候都要求输入你的用户名和密码,如果提交频繁的话甚是不便。NOTE: 如果你在用 Mac 并且刚刚升级到 Mountain Lion,那么会导致 git 命令找不到的错误,请参见这篇文章《Mountain Lion 中 Git “Command Not Found” 错误的解决办法》。那么,究

2015-08-13 10:42:17 15919

转载 ZooKeeper管理分布式环境中的数据

ZooKeeper管理分布式环境中的数据引言本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法、Zab协议、通信协议等相关知识,理解起来比较抽象所以还需要借助一些应用场景,来帮我们理解。由于内容比较多,一口气吃不成胖子,得慢慢来一步一个脚印,因此我对后期ZooKeeper的学习规划如下:第一阶段:

2015-08-10 11:45:06 2167

转载 Memcache内存分配原理介绍

1   Memcached简介1.1 什么是MemcachedMemcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并

2015-06-15 14:23:06 2973 1

转载 CAS协议

什么是CAS协议 Memcached于1.2.4版本新增CAS(Check and Set)协议类同于Java并发的CAS(Compare and Swap)原子操作,处理同一item被多个线程更改过程的并发问题。 在Memcached中,每个key关联有一个64-bit长度的long型惟一数值,表示该key对应value的版本号。这个数值由Memcached server产生,从

2015-06-05 14:48:44 726

转载 快慢指针在链表中的应用

链表的操作题有很多,最常见的莫过于,单链表的反转之类,这里仅对可以用快慢指针来解决的题目进行解析。        1、判断单链表中是否存在有环,如果有的话,找出这个环的入口节点;        2、取单链表的中间节点;        3、判断两个单链表是否相交,如果相交,找到交点;解析:      1、判断单链表中是否存在有环,如果有的话,找出这个环的入

2015-05-23 13:21:03 710

原创 字典树

Design a data structure that supports the following two operations:void addWord(word)bool search(word)search(word) can search a literal word or a regular expression string containing only lett

2015-05-20 19:36:21 524

原创 用dfs实现拓扑排序

拓扑排序,详见算法导论There are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which

2015-05-16 00:27:56 1956

原创 有向图判断是否有环

There are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as

2015-05-13 23:41:02 695

原创 N皇后问题

The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens puzzle.

2015-05-10 12:57:12 583

转载 尾递归

尾递归递归与尾递归关于递归操作,相信大家都已经不陌生。简单地说,一个函数直接或间接地调用自身,是为直接或间接递归。例如,我们可以使用递归来计算一个单向链表的长度:public class Node{ public Node(int value, Node next) { this.Value = value; this.Ne

2015-05-08 21:07:57 494

转载 linux基础编程:IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO

IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字,指向内核中一个结构体(文件路径,

2015-05-08 12:53:11 817

转载 分布式一致性算法

分布式设计与开发中有些疑难问题必须借助一些算法才能解决,比如分布式环境一致性问题,感觉以下分布式算法是必须了解的(随着学习深入有待添加):Paxos算法一致性Hash算法Paxos算法1)问题描述分布式中有这么一个疑难问题,客户端向一个分布式集群的服务端发出一系列更新数据的消息,由于分布式集群中的各个服务端节点是互为同步数据的,所以运行完客户端这系列消息指令后各

2015-05-08 12:49:12 2251

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2015-05-08 12:46:27 1543 2

原创 Best Time to Buy and Sell Stock IV

Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most k transactions.Note:You may

2015-05-03 14:43:02 1345

原创 有序数列中位

算法导论第九章习题原题:int min(int a, int b) { return a>b?b:a;}double findKth(int a[], int m, int b[], int n, int k){ //always assume that m is equal or smaller than n if (m > n) return fi

2015-04-30 11:28:50 442

原创 将升序数组转化为平衡二叉树

public class Solution { TreeNode convert(int num[], int l, int r) { if (l >= r) return null; int m = (l + r) / 2; TreeNode left = convert(num, l, m); TreeNode root

2015-04-29 20:13:17 1726

原创 平衡二叉树判定

1. int height(TreeNode root) { if (root == null) return 0; return Math.max(height(root.left), height(root.right)) + 1; } public boolean isBalanced(TreeNode root) { if

2015-04-29 18:44:48 620

原创 文件路径化简

Given an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"Corner Cases:Did you consider the case where path 

2015-04-29 16:37:14 822

原创 生成所有的BST

Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.For example,Given n = 3, your program should return all 5 unique BST's shown below. 1 3

2015-04-29 13:23:54 1134

转载 ConcurrentHashMap深入分析

ConcurrentHashMap深入分析一、Map体系Hashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算)。Hashtable继承的是Dictionary(Hashtable是其唯一公开的子类),并不继承AbstractMap或者HashMap。尽管Hashtable和HashMap的结构非常

2015-04-28 10:08:07 620

原创 矩形相交判断超简单方法

设矩形A(xa1,ya1),(xa2,ya2),B(xb1,yb1),(xb2,yb2)其中:xa1xb1先看线段相交的判断:La:xa1,xa2   xa1Lb:xb1,  xb2   xb1考虑对立面(只有两种情况):不相交的条件:xa2xb2由摩根律,得出相交条件:xa2>=xb1&&xa1矩形A B相交的条件为:分别在X和Y轴上的投影相交

2015-04-27 19:26:44 8216

转载 Sed的常用命令语法备忘

Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。vi中的正则表达式命令在sed中大多可以通用。sed常用选项-e script 指定sed编辑命令-f scriptfile 指定的文件中是sed编辑命令-n 寂静模式,抑制来自sed命令执行过程中的冗余输出信息,比如只显示那些被改变的行。-i[SUFFIX], –in-place[=SU

2015-04-27 15:11:57 627

转载 java动态代理(JDK和cglib)

JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为

2015-04-26 22:27:08 443

原创 求二叉树最远距离

int max=Integer.MIN_VALUE; int maxHeightSum(TreeNode root) { if (root == null) return 0; int maxL = Math.max(maxHeightSum(root.left), 0); int maxR = Math.max(maxHeightSum

2015-04-25 19:14:19 653

精益数据分析

精益数据分析 大数据时代数据化运营参考书 中文版值得一看

2017-11-21

Java性能权威指南

Java性能权威指南 中文版 mobi格式,kindle阅读 比较好的java性能优化书籍

2017-11-21

2013年腾讯笔试试题全版(照片)

2013年腾讯笔试试题全版(照片),可以参考一下

2012-11-04

2007年emc笔试题目

EMC Written Exam for Software Engineer Applicants November 2007 Instructions You will have 3 hours to take this exam. This exam contains 19 pages, and is divided into 4 sections. During this exam, you are NOT allowed to use any computers, calculators, or other electronic devices. Please review the questions first, and pace yourself accordingly. Good luck! Section 1: Informational only(0 points each, 0% of total score) This section contains multiple-choice questions. These questions do not count for any points, and are only for informational purposes. Please mark your answers on the answer sheet located on

2012-11-04

IOI后缀数组论文

本文介绍后缀数组的基本概念、方法以及应用。 首先介绍 O(nlogn)复杂度构造后缀数组的倍增算法,接着介绍了配合后缀 数组的最长公共前缀 LCP(Longest Common Prefix)的计算方法,并给出一个 线性时间内计算 height 数组(记录跨度为 1 的 LCP 值的数组)的算法。为了让 读者对如何运用后缀数组有一个感性认识,还介绍了两个应用后缀数组的例子: 多模式串的模式匹配(给出每次匹配 O(m+logn)时间复杂度的算法)以及求最 长回文子串(给出 O(nlogn)时间复杂度的算法) 。最后对后缀数组和后缀树作了

2011-12-27

现代微机原理与接口技术 (杨全胜 编)习题答案

现代微机原理与接口技术第二版 (杨全胜 编)习题答案

2008-12-26

接口与通讯课程设计代码

接口与通讯课程设计代码: 1)pci配置信息获取 2)简单I/O实验 3)8253中断实验 4)8255并口实验(a键盘扫描;bLED显示) 5)计数器8259实验 .......

2008-12-26

酒店管理系统c语言实现

帮一个学弟写的小程序(c语言初学者可以看看有些bug):实现订房,查询,退房,评估业绩等诸多简单功能。 vc6.0编译通过~~~~~~~

2008-12-05

操作系统课程设计实习报告

~~~~~~~操作系统课程设计实习报告: 1)FIFO时间片轮转实现线程调度; 2)消息缓冲队列实现进程间的通信; 3)简单的文件系统实现。 tc2.0+vc6.0环境编译通过~~~~

2008-12-05

《软件过程》高教出版社习题答案

软件工程答案,高教出版社,第二章习题----软件过程

2008-12-05

《软件工程导论》课后习题答案

《软件工程导论》(第五版,张海藩 著,清华大学出版社)课后习题答案,比较全的。

2008-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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