2015年7月8日

JVM系列(三)垃圾回收

摘要: 什么对象需要被回收?? 没有被引用的对象要被回收。怎么判定对象已经没有被引用???1、引用计数算法。(因为循环引用问题,java没有使用这种方法)2、可达性分析法。(主流实现。判定对象是否被引用。从GC ROOTS节点找引用链。)gc roots是?Class- class loaded by s... 阅读全文

posted @ 2015-07-08 19:36 Emmerich.Luang 阅读(195) 评论(0) 推荐(0) 编辑

JVM系列(二)各区域的OOM

摘要: stack的内存溢出demo,无限递归:public class StackOOM { private static void fun(){ fun(); } /** * VM arg -Xss128K * @param args ... 阅读全文

posted @ 2015-07-08 14:23 Emmerich.Luang 阅读(609) 评论(0) 推荐(0) 编辑

2015年7月7日

JVM系列(一)内存模型

摘要: 好久没有整理这方面的东西了。现在整理一下JVM相关的东西。这是第一篇,JVM内存模型。进程&JVM 首先,何谓JVM?为什么要有JVM的存在? JVM就是java virtual machine的简称。当然了,除了java的VM以外还会有好多别的虚拟机。java的VM模型有好几个,其中最常见... 阅读全文

posted @ 2015-07-07 17:01 Emmerich.Luang 阅读(218) 评论(0) 推荐(0) 编辑

获取IP、mac等信息

摘要: 主要是通过NetworkInterface类实现。现在一个机器,一般会有多个IP,多个网卡。 其次,Runtime.getRuntime().exec可以用来调用系统命令。 下面贴个代码:package networkInterface;import java.io.BufferedRead... 阅读全文

posted @ 2015-07-07 15:36 Emmerich.Luang 阅读(246) 评论(0) 推荐(0) 编辑

2015年6月24日

memcached(七)--常用指令抓包分析

摘要: 使用spymemcached客户端,通过wireshark抓包,更清晰的看到memcached的命令。 先来一个简单的demo:package spymc;import java.io.IOException;import java.net.InetSocketAddress;import n... 阅读全文

posted @ 2015-06-24 20:50 Emmerich.Luang 阅读(731) 评论(0) 推荐(0) 编辑

2015年6月16日

memcached(五)--源码分析,启动

摘要: 源码memcached.c中,main入口函数。第一步,根据memcached的启动参数做校验参数、配置。main函数中,几乎600行代码都是这些参数校验。吐槽一个。第二步,初始化。 2.1:初始化主线程的libevent。main_base = event_init(); 2.2:初始化m... 阅读全文

posted @ 2015-06-16 20:39 Emmerich.Luang 阅读(341) 评论(0) 推荐(0) 编辑

2015年6月14日

apt安装mysql + 简易配置

摘要: 基于ubuntu/debian系统使用apt可以很轻易地安装mysql。安装 通过apt安装mysql,就一条命令:apt-get install mysql-server 如果安装不成功的话,根据提示尝试:系统有安装了mysql-client什么的服务,先通过apt-get remove命... 阅读全文

posted @ 2015-06-14 00:16 Emmerich.Luang 阅读(1058) 评论(0) 推荐(0) 编辑

2015年6月11日

memcached(六)--spyMemcached的get操作

摘要: 我们使用memcached客户端进行get、set还是比较方便的。比如说一个get的操作: MemcachedClient c = new MemcachedClient(new InetSocketAddress("127.0.0.1", 11211)); c.ge... 阅读全文

posted @ 2015-06-11 21:17 Emmerich.Luang 阅读(2404) 评论(0) 推荐(0) 编辑

2015年6月5日

解决mysql获取不到连接的问题

摘要: 应用使用mysql的过程中。提示获取不到数据库连接。 例如:Connections could not be acquired from the underlying database!Cannot obtain a new connection... 通过命令:show status wh... 阅读全文

posted @ 2015-06-05 11:45 Emmerich.Luang 阅读(4271) 评论(0) 推荐(0) 编辑

2015年6月3日

tcp一些要点

摘要: 三次握手建立1、客户端向服务端发送syn。2、服务端向客户端回复syn+ack。3、客户端向服务端确认ack。建立链接的阶段, 客户端/服务端会确认mss(maximum segment size)。客户端发送mssA,服务器响应mssB。二者之间小的那个作为MSS。建立的过程一边确认RTT。四次挥... 阅读全文

posted @ 2015-06-03 21:14 Emmerich.Luang 阅读(466) 评论(0) 推荐(0) 编辑

导航