09 2012 档案

摘要:最近接手了一个java项目,里面用到了nio。自己以前是做.net的,底子不足,所以花时间研究了一下。 要点简述 nio有三个最关键的概念,通道(Channel)、选择器(Selector)和缓冲器(ByteBuffer)。 通道(Channel): 这玩意说白点就是个管子,外面的数据传过来会到这个管子里,你向外发送数据的时候也得塞到这个管子里。与tcp编程相关的主要是两种通道: 1. 服务器管道(ServerSocketChannel):提供一个服务器端的监听器。 2. 普通管道(SocketChannel):提供一个一般通道,客户端和服务端互相通讯的时候会用到。 一般的客... 阅读全文
posted @ 2012-09-27 17:41 李土鳖 阅读(581) 评论(0) 推荐(0)
摘要:线程间同步说的通俗一点讲就是两点: 1. 当某个线程处理好数据后能通知其他线程自己活干完了,然后别的线程能使用它处理好的数据做其他事情。(Object.notify, Object.notifyAll) 2. 某个线程需要其他线程的计算结果时,需要等待知道别的线程把活干完了,它拿到数据开始干自己的活。(Object.wait) java对并发的支持很全面,而且直接在基类Object里面提供了支持,最常用的三种方法列举如下(上面其实已经提到了): 1. Object.notify:通知某个线程自己活干好了,兄弟可以开工了。某个调用了此对象的wait方法的线程将停止阻... 阅读全文
posted @ 2012-09-20 12:37 李土鳖 阅读(260) 评论(0) 推荐(0)
摘要:今天尝试用windows的mysql客户端工具连接vmware里ubuntu虚拟机的mysql服务器,发现怎么也连不上。最后google了一下,找到了解决方案,这里分享一下。 1. 打开3306端口。 这个需要配置my.cnf cd /etc/mysql sudo cp my.cnf my.cnf_bak sudo vim my.cnf 找到下面这一行: bind-address = 127.0.0.1 将127.0.0.1改成虚拟机的IP地址(可以用ifconfig查看)。 然后重启mysql服务器: sudo service mysql restart 2. 启用外部机器... 阅读全文
posted @ 2012-09-16 12:44 李土鳖 阅读(197) 评论(0) 推荐(0)
摘要:用虚拟机的最大好处就是可以将虚拟机文件复制到另外一台机器上,同事也可以迅速以一个虚拟机为源克隆出多台虚拟机出来。今年在搭建一些集群方案的时候我经常用这种方法,不过也遇到了一些问题。下面先列举一个: 1. 复制后无法连网的问题。 复制完虚拟机我们如果用ifconfig命令查看系统网络配置,会发现没有网卡被激活,一般显示如下图: 但是如果我们用命令ifconfig -a查看,一般会看到一个未激活的网卡,一般名字为eth1,当然也可能是eth2或者eth3等。 如果我们复制的源机器的网卡名字是eth0,这里一般显示eth1,如果是源机器是eth1,这里一般是eth2。这个是虚拟... 阅读全文
posted @ 2012-09-12 10:29 李土鳖 阅读(1090) 评论(0) 推荐(0)