- 浏览: 194391 次
- 性别:
- 来自: 北京
最新评论
-
only_java:
博主,你好。感谢这篇你的这篇文章,我的问题是跟你一样,也是在跑 ...
JVM Crash分析 -
shuofenglxy:
1 确保程序运行时没有更新程序需要的相关jar包。2 确保程序 ...
JVM Crash分析 -
renduly:
# A fatal error has been detect ...
JVM Crash分析 -
shuofenglxy:
renduly 写道博主好。这两天我在公司程序也出现了类似的问 ...
JVM Crash分析 -
renduly:
博主好。这两天我在公司程序也出现了类似的问题。博主能否说的详细 ...
JVM Crash分析
文章列表
转载请著明作者与出处。franciscolv http://shuofenglxy.iteye.com/admin/blogs/1330539
第一条:划分shard,使用replSet,保证服务不会全部失效,存储容灾很关键。
第二条:大表要分表,划分ReplSet之后,表还是只存在于一个shard中。小表看 ...
Linux硬件查看命令 ZZ
- 博客分类:
- Linux相关
查看CPU信息(型号)# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz(看到有8个逻辑CPU, 也知道了CPU型号)# cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1(说明实际上是两颗4核的CPU)PS:Jay added on 10th, May, 2011# 其实是可 ...
良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux® 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。
动态内存管理
内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:
最小化管理内存所需的时间
最大化用于一般应用的可用内存(最小化管理开销)
内存管理实际上 ...
ZZ paxos 实现
- 博客分类:
- ZooKeeper
paxos 实现
from:http://rdc.taobao.com/blog/cs/?p=162
本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举leader的时候采用了paxos算法(主要是fast paxos),这里主要介绍其中两种:LeaderElection 和FastLeaderElection.
我们先要清楚以下几点
一个Server是如何知道其它的Server
在zookeeper中,一个zookeeper集群有多少个Server是固定,每个Server用于选举的IP和PORT都在配置文件中
...
分布式事务处理,两端提交协议 ZZ
- 博客分类:
- 分布式
from:http://blog.sina.com.cn/s/blog_4a1f59bf0100pplp.html
随着网络环境的日益普及,新的应用呈现出许多相似的特点那就是开放性和分布性。对于Internet商业应用来说分布性和开放性更是最基本的要求,并且随着人们对电子商务、安全防范等复杂的Web应用需求的增加,Web应用不仅仅是对只读信息的存取,面向商业活动的读取将迅速增加。这意味着,从简单的数据系统全球联网查询,逐步转向更具有分布式数据库系统特色的应用环境。
我们知道,研究分布式数据库系统的目的、动机主要是组织目标,即为应用所驱动。开放性、分布性不仅是当前新应用的要求,也同样 ...
问题描述:{4,5,7,8,1,2} 找值为K的元素。
两种做法,一种常规的稍好于直接查找,另一种为二分o(lgn)
import java.util.Arrays;
public class FindK {
public static void main(String[] args) {
int[] a = { 4, 5, 7, 8, 1, 2 };
int[] b = { 1, 2, 3, 4, 5 };
System.out.println(findK0(a, 5));
System.out.println(findK(a,5));
...
简单的整理一下全排列思路。全部遍历,打印前筛选条件。全部遍历则是交换,递归,还原。
package SortSet;
public class PermOrder {
private int[] a;
public PermOrder(int[] a) {
this.a = a;
}
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5 };
new PermOrder(a).premOrder(0);
}
public void premOrd ...
简单的四则运算计算器
- 博客分类:
- 算法基础
这是一个简单的四则运算计算器,不支持括号,没有做乘法的越界计算和除0等异常处理。
只是简单的描述一个四则运算过程。
package SortSet;
import java.util.Stack;
public class OperationTest {
private static Stack<Character> opeStack = new Stack<Character>();
private static Stack<Integer> numStack = new Stack<Integer> ...
shell 命令中要直接与java进程进行端口通信的话,可以使用exec 8>/dev/tcp/172.27.24.12/11111;
if [ "$?" != "0" ];then
echo "open $host $port fail!";
exit 1;
fi
echo "test">&8;
exec 8>&-
exit 0;
注意:这里的关闭连接只是关闭了shell到java进程的一端。由于tcp是双工,所以java进程端也需要 ...
select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。
对于单进程多线程,每个线程处理多个fd的情况,select是不适合的。
1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费
2.1024上限问题,一个处理多个用户的进程,fd值远远大于1024
所以这个时候应该采用poll,
poll传递的是数组头指针和该数组的长度,只要数组的长度不是很长,性能还是很不错的,因为poll一次在内核 ...
原文来自:http://simpleframework.net/bbs/835/14129.html
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。在比较这两个模式之前,我们首先的搞明白几个概念,什 ...
这两天在重构代码,发现有几个map有出现内存泄露的问题。考虑到独立性,通过java 的timetask来实现。
这里要注意的地方就是任务起始时间的获得。
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* 定时清除类 防止内存泄露 每天清除一次 凌晨三点
*
* @author franciscolv
*
*/
public class ScheduleTask extends ...
Crontab -e编辑定时任务
***** 分 小时 天 周 月 +command即可。
Crontab与java程序。
如果想要定时调用java程序,则需要在调用的java程序之前声明path,并export path。
顺带java home jre home classpath都要上。
原来默认的系统设计path在crontab任务中无效。
crontab 与dos2unix 需要dos2unix不能在当前目录下行执行。
crontab 与前台进程 前台进程+&则转换为后台进程,这样crontab进程能够释放。
mysql -uroot -p旧密码登录
use mysql;
update user set password=password('新密码') where user='root';
FLUSH PRIVILEGES;
quit;
mysql -uroot -p新密码。
OK了
show databases;
select version();
apache重启
./apachectl -k restart