- 浏览: 45721 次
- 性别:
-
最新评论
文章列表
ZooKeeper概览
- 博客分类:
- 分布式
参考博客: http://agapple.iteye.com/blog/1111377 (zookeeper 学习记录)
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/(分布式服务框架ZooKeeper - 管理分布式环境中数据)
1. 是什么?
是一种分布式的服务框架,主要用来解决分布式环境中的数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。让他们
在集群的环境中,协调一致,就像会话管理(状态同 ...
分布式的Session管理:
参考博文: http://chenzhou123520.iteye.com/blog/1647186
推荐博文 : http://blog.csdn.net/jacktan/article/details/6112806(基于zooKeeper的分布式session管理)
是什么?
就是在服务器端,不是只有一个服务器来处理 ...
该目录下主要收集一些经典的算法问题,
以备面试之用...
比如:
数组相关:
子数组的最大和
字符串先关'
LIS 最长递增子序列
LCA
待续.......
该目录下主要收集高级的数据结构:
红黑树
B树 B* B-
trie树
.......
待续.....
Add Two Number
- 博客分类:
- leetcode-List
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
题目大意 ...
Tomcat中的session管理,首先的明白一点 : 不是你客户端一个请求传过去,服务器就会为创建一个会话,
不是的,如果后台没有对应的session操作,就是你的servlet中没有session操作(getSession(boolean)),那么就不会给你创建会话;
在开发JEE应用中,通常我们都是对会话进行处理,而对于会话的创建,维护,删除,则是服务器替我们完成!
而在Tomcat中,与会话有关的两个重要的类 : StandardSession , StandardManager(这个manager就像一个组件一样,在tomcat启动的时候就会start) ;
而sta ...
第一种 : 给定一个数值 n 求它能构成的不同的BST的个数:
这类题,很像那个求斐波那契和,关键就是把状态记录
通过一个数组 把 1 到 i 的BST数目记录 , : 范围大小相等,那么BST的数目一样,接下来就可以直接利用了! ...
笔试中常见的位运算案例分析
- 博客分类:
- 找工作
参考博文 : http://blog.csdn.net/morewindows/article/details/7354571
输入一个数字,然后计算出它二进制中'1'的个数。此方法相对于使用自带的String库,把空间节约到了O(1)。
static int bitCount(int n) {
int count = 0;
while (n != 0) {
count += (n & 1);
n >>= 1;
}
return count;
}
获取x中0到16位的低位值
x = x &am ...
与结构体对齐有关的 分析内存分配的笔试题
- 博客分类:
- 找工作
参考 : http://www.jianshu.com/p/b1fcb6c73b28 http://blog.csdn.net/mbh_1991/article/details/10241785
其实 , 我想找的工作是与Java相关的,可是每次做的几乎都是c/c++的题目 == ;
第一道题 :
输出什么 ?
#include<stdio.h>
...
Java基本数据类型 及 位操作
- 博客分类:
- 找工作
最近在笔试时,经常遇到一些与基本数据类型有关的问题,比如他们的长度
所占的字节数目啊,以及相应的为操作啊,所以,这次来做一下总结 ;
四种基本整数数据类型 : 所占字节数目按 2^n增长..... 注意,计算计数范 ...
Wildcard Matching
- 博客分类:
- leetCode-dp
'?' Matches any single character.
'*' Matches any sequence of characters (including the empty sequence).
The matching should cover the entire input string (not partial).
The function prototype should be:
bool isMatch(const char *s, const char *p)
Some examples:
isMatch("aa",&qu ...
PipeLine and Value
- 博客分类:
- Tomcat
参考博文 : http://gearever.iteye.com/blog/1540028
pipleLine 是管道,而value可以理解成是阀门 , 容器与容器间通过管道连接
所以容器中有管道这个组件(定义在ContainerBase中),管道中又存在阀门,来控制信息的流动。
一个管道中可以有多个阀门,以链表的形式表示!!Tomcat 启动时候,这些组件就会相应的启动!
如果把Tomcat比作一台大的机器的话,那么Container ,pipeline ,value就是他内部的一些小零件,当机器启动的时候,
那么相应着的,必须使小零件转动。
Stanard ...
在数组中求最大的差值
最大的差值和
两对差值最大
k对差值最大
第一种类型 ; 买进一次 卖出一次 , 求最大差价 ;
思路 : 求P(n) , 可以利用P(n-1)结果,但是 prices[n] 可能小于 前面的最大值或者大于最大值
可以通过一个变量记录前面的最小值所在小标,不要关心最大值,求P(n)时,就拿prices[n]与最小值比较 ;
if prices[n] < min , 那么就令p[n] = p[n - 1] ,并且 min = n
else 就看 prices[n] - min > p[n-1] ?
pub ...
前面 ,我们已经知道Tomcat怎么抓住从客户端传过来的请求,那么接下来就来看看,客户端传过来的
请求(Socket)怎么一步步包装成servletReqest , 以及如何调用相应servlet。
Http11Process :
processer.process(socket); --- coyote.Request
coyoteAdapter.service(request , response) ; -- - connector.Request
这一部分就不贴源码了,太多了== 。
下面这些 来自 : http://www.uml.org.cn/ ...
Tomcat接收请求
- 博客分类:
- Tomcat
1. 启动Tomcat后, 在哪里接收Request?
启动Tomcat时,部署完webapp 后,就会启动connector ,启动这个连接器,也就意味着会启动一个线程来接收请求,
具体涉及的类:
Http11Protocol
org.apach.tomcat.uitl.net ,
JIoEndPoint , WorkStack (pool), Acceptor(Runnable)
首先,启动Http11Protocol会调用JIoEndpoint中的start();JIO会new监听器线程,监控连接;
publ ...