解决 - java.lang.OutOfMemoryError: unable to create new native thread
摘要:工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。一、认识问题:首先我们通过下面这个测试程序来认识这个问题:运行的环境(有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序:Java代码importjava.util.concurrent.CountDownLatch;publicclassTestNativeOutOfMemoryError{publicstaticvoidmain(String[]args){for(inti=0;;i
阅读全文
posted @
2013-09-28 13:35
道法自然smile
阅读(352)
推荐(0)
java socket编程 初级 服务器端和客户端 通信
摘要:package server; import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Calendar; public class Server { public Server() { } public static void main(String[] args) { Server manager...
阅读全文
posted @
2013-09-26 17:38
道法自然smile
阅读(192)
推荐(0)
Socket的错误码和描述(中英文翻译)
摘要:Socket的错误码和描述(中英文翻译)//下面是Socket Error的错误码和描述:Socket error 0 - Directly send errorSocket error 10004 - Interrupted function //call 操作被终止Socket error 10013 - Permission denied //c访问被拒绝Socket error 10014 - Bad address //c地址错误Socket error 10022 - Invalid argument //参数错误Socket error 10024 - Too many open
阅读全文
posted @
2013-09-26 17:25
道法自然smile
阅读(610)
推荐(0)
JAVA网络编程Socket常见问题 【长连接专题】
摘要:一. 网络程序运行过程中的常见异常及处理第1个异常是 java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监 听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。第2个异常是java.net.ConnectException: Connection refused: connect。该异常
阅读全文
posted @
2013-09-26 17:21
道法自然smile
阅读(527)
推荐(0)
最近跑hadoop遇到的一些问题
摘要:一、[#|2013-09-16T18:19:02.663+0800|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=23364;_ThreadName=Thread-2;|2013-09-1618:19:02,663 WARN DataStreamerException: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File:xxx could only be replicatedto
阅读全文
posted @
2013-09-22 18:29
道法自然smile
阅读(754)
推荐(0)
java Socket的怪异之处
摘要:怪异之一:connect(SocketAddress endpoint):这个方法,尝试连接server端,如果连接不上,就抛出IOException异常。如果连接成功了,就继续执行下一步的代码。怪异之二:boolean isConnected() :这个方法的结果仅仅代表这个socket曾经成功连接到了server,但并不表示现在这个时刻它和server仍保持连接状态。有心的人会发现,即使你已经切断了server和socket之间的连接(比如server down掉了或网络中断了),但是这个函数执行的结果仍旧是true。所以,我认为这个方法并不像我们想象中的那么“管用”。怪异之三:考虑这样一
阅读全文
posted @
2013-09-21 21:50
道法自然smile
阅读(158)
推荐(0)
PHP Warning: date(): It is not safe to rely on the system's timezone settings
摘要:转载自:http://blog.sina.com.cn/s/blog_5cd54bb40100n0tg.html在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个"PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you
阅读全文
posted @
2013-09-16 12:26
道法自然smile
阅读(155)
推荐(0)
查看hadoop管理页面,修改本地hosts,Browse the filesystem
摘要:问题:hadoop管理界面,ip:50070,中点击Browse the filesystem会出现网页无法访问,看地址栏,是集群中的主机名::50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/原因:浏览器找不到主机名对应的ipresolution:在本地hosts中配置ip和主机名的对应关系,hosts文件路径C:\Windows\System32\drivers\etc (这是win7的)
阅读全文
posted @
2013-09-12 18:19
道法自然smile
阅读(836)
推荐(0)
Hadoop常用命令
摘要:启动Hadoop进入HADOOP_HOME目录。执行sh bin/start-all.sh关闭Hadoop进入HADOOP_HOME目录。执行sh bin/stop-all.sh1、查看指定目录下内容hadoop dfs –ls [文件目录]eg: hadoop dfs –ls /user/wangkai.pt2、打开某个已存在文件hadoop dfs –cat [file_path]eg:hadoop dfs -cat /user/wangkai.pt/data.txt3、将本地文件存储至hadoophadoop fs –put [本地地址] [hadoop目录]hadoop fs –put
阅读全文
posted @
2013-09-10 22:09
道法自然smile
阅读(186)
推荐(0)
top 查看资源使用
摘要:top:动态观察程序的变化?[root@linux~]# top [-d] | top [-bnp]参数:-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5秒;-b :以批次的方式执行 top ,还有更多的参数可以使用喔!通常会搭配数据流重导向来将批次的结果输出成为档案。-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。-p :指定某些个 PID来进行观察监测而已。在 top 执行过程当中可以使用的按键指令:? :显示在 top 当中可以输入的按键指令;P:以CPU的使用资源排序显示;M:以 Memory 的使用资源排序显示;N:以PID来排序喔!T:由该 Proc
阅读全文
posted @
2013-09-10 20:30
道法自然smile
阅读(692)
推荐(0)
jvisualvm远程监控Tomcat
摘要:网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结。一.Java VisualVM 概述 对于使用命令行远程监控jvm太麻烦。在jdk1.6中Oracle提供了一个新的可视化的。JVM监控工具JavaVisualVM。jvisualvm.exe在JDK的bin目录下。双击启动JavaVisualVM后可以看到窗口左侧“应用程序”栏中有“本地”、“远程”、“快照”三个项目。“本地”下显示的是在localhost运行的Java程序的资源占用情况,如果本地有Java程序在运行的话启动JavaVisualVM即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的C
阅读全文
posted @
2013-09-10 11:41
道法自然smile
阅读(210)
推荐(0)
聊聊并发(六)——ConcurrentLinkedQueue的实现原理分析
摘要:1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下Doug Lea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技巧。2. ConcurrentLinkedQueue的介绍ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列
阅读全文
posted @
2013-09-09 18:34
道法自然smile
阅读(215)
推荐(0)
Centos memcached的php拓展 管理界面
摘要:确定已安装apache一、安装php51.安装libxml21 tar zxvf libxml2-2.6.32.tar.gz2 cd libxml2-2.6.323 ./configure --prefix=/usr/local/libxml24 make5 make install2.安装php5#tarzvxf php-5.3.8.tar.gz#cd php-5.3.8#./configure \ --prefix=/usr/local/php5 \ --with-apxs2=/usr/local/apache/bin/apxs \--with-libxml-dir=/usr/local/
阅读全文
posted @
2013-09-07 23:40
道法自然smile
阅读(190)
推荐(0)
CentOS 安装apache 及所需的 apr,apr-util,pcre
摘要:安装apache前确定已安装 apr,apr-util,pcre一、安装apr[root@xttest]#tar-zxfapr-1.4.5.tar.gz [root@xttest]#cdapr-1.4.5 [root@xtapr-1.4.5]#./configure--prefix=/usr/local/apr [root@xtapr-1.4.5]#make&&makeinstall 二、安装apr-util[root@xttest]#tar-zxfapr-util-1.3.12.tar.gz [root@xttest]#cdapr-util-1.3.12 [root@xtap
阅读全文
posted @
2013-09-07 23:38
道法自然smile
阅读(1419)
推荐(0)
CentOS 安装memcached
摘要:一,安装libevent安装位置 /usr/lib#tar -zxvf libevent-2.0.21-stable.tar.gz# cdlibevent-2.0.21# ./configure -prefix= /usr#make#make install 安装完成后测试libevent是否安装成功:# ls-al /usr/lib | grep libevent二,安装memcached安装位置:/usr/local/memcached,需指定./configure-prefix=/usr/local/memcached#tar -zxvf memcached-1.4.15.tar.gz.
阅读全文
posted @
2013-09-07 23:32
道法自然smile
阅读(154)
推荐(0)
Memcached FAQ
摘要:这篇FAQ包含了大家普遍关心的问题。非常值得一看。原文:http://blog.csdn.net/jarfield/archive/2009/07/05/4322953.aspx最后更新时间 2009-04-10 更新人 dormando@rydia.net这里收集了经常被问到的关于memcached的问题一般的问题什么是memcached?从哪获得memcached?怎么安装memcached?哪些平台可以运行memcached?什么情况下适合使用memcached?什么情况下适合使用memcached?怎么访问memcached?怎么把memcached当成database使用?能够遍历m
阅读全文
posted @
2013-09-05 12:17
道法自然smile
阅读(155)
推荐(0)
memcache 集群
摘要:memcache 是一个分布式的缓存系统,但是本身没有提供集群功能,在大型应用的情况下容易成为瓶颈。但是客户端这个时候可以自由扩展,分两阶段实现。第一阶段:key 要先根据一定的算法映射到一台memcache服务器。第二阶段从服务器中取出缓存的值。但是有一个问题,比如其中一台服务器挂了,或者需要增加一台服务 的时候,这个时候第一阶段的算法就很重要了,怎样使得原来的数据尽可能的继续有效,减少扩展节点或缩减节点带来的冲击。下面列出想到一些解决方法:一:hash一致性算法:优点:当一个节点失效的时候,其他节点的数据不会受到破坏,这个节点的数据会被分流到另外一个节点。当增加一个节点时,只会对一个节点的
阅读全文
posted @
2013-09-05 12:16
道法自然smile
阅读(306)
推荐(0)
CentOS6.2安装memcache
摘要:一,安装libevent# cd /tmp
# wget http://www.monkey.org/~provos/libevent-1.3.tar.gz
# tar -zxvf libevent-1.3.tar.gz
# cd libevent-1.3
# ./configure -prefix=/usr
# make
# make install 安装完成后测试libevent是否安装成功:[root@CentOS ~]# ls -al /usr/lib | grep libevent
lrwxrwxrwx. 1 root root 21 8月 13 15:10 libevent-1..
阅读全文
posted @
2013-09-05 12:16
道法自然smile
阅读(160)
推荐(0)
centos安装和卸载软件
摘要:==如何卸载:1、打开一个SHELL终端2、因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。查找RPM包软件:rpm -qa ×××*注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qa realplay*3、找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2执行卸载命令:rpm -e firefox-1.0.1-1.3.2===安装目录,执行命令查找:rpm -ql f
阅读全文
posted @
2013-09-05 11:55
道法自然smile
阅读(799)
推荐(0)
zookeeper错误KeeperErrorCode = ConnectionLoss解决
摘要:原因:一般是由于连接还未完成就执行zookeeper的get/create/exsit操作引起的.解决方法:利用"CountDownLatch 类 + zookeeper的watcher + zookeeper的getStat" 实现连接完成后再调用.可防止此错误发生.示例类如下(为一配置获取类):[java]view plaincopyimportjava.util.concurrent.CountDownLatch;importorg.apache.zookeeper.WatchedEvent;importorg.apache.zookeeper.Watcher;imp
阅读全文
posted @
2013-09-04 11:48
道法自然smile
阅读(10695)
推荐(0)