- 浏览: 34336 次
- 性别:
- 来自: 深圳
最新评论
文章列表
其实说序,主要是为了回答自己两个问题:
1)为什么选择开一个技术blog
2)为什么选择在iteye上面开blog
最近发现,对于一个问题,我知道有解决的方法或者说更好的办法,而且之前自己处理过,或者说曾经解决过,但是一时半会总部知道具体的细节是什么了。看来确实是好记性不如烂笔头,需要有个地方记录一下了。自己多年前总认为,只要是自己亲自解决过的东西,总不会忘记。看来我错了。不过现在还不晚。从今天起,会慢慢记录技术人生中的一点一滴。
至于为什么选择iteye,主要是因为经常在这上面浏览,顺便可以看看robbin这样的大牛的文章。sina或者qq的blog不大聚 ...
webView = (WebView)this.findViewById(R.id.webView);
//设置字符集编码
webView.getSettings().setDefaultTextEncodingName("UTF-8");
//开启JavaScript支持
webView.getSettings().setJavaScriptEnabled(true);
class JsObject {
@Jav ...
GPL(General Public License)协议主要特点:
所有的源代码都是公开的,可以自由使用。但是是有版权的
如果对GPL的开源代码进行修改,就必须把修改之后的代码进行开源
如果引用了GPL的代码库,就必须开源你引用部分的代码。相 ...
2013年开发趋势与技能
- 博客分类:
- 技术人生
1. 掌握移动技术
智能移动电话的使用日渐普及,而且使用的人数已经在 2012 年超过 PC 桌面。因为使用移动设备的用户越来越多,使得响应式的 Web 设计成为了趋势。开发者应该能开发支持多种设备同时访问的网站,包括智能电话 —— iOS 、Android、Windows Phone 和黑莓等。作为一个开发者,你不能忽略大量的移动用户,因此你必须学习响应式网站开发和移动 UI 工具包。
2013 年你必须学习移动开发。
2. 敏捷方法论
开发者应该意识到敏捷开发的重要性。敏捷大致就是一系列能够帮助你日常项目管理的规则,不同于一般的项目管理规则,敏捷开发是在慢慢地影响着开发 ...
vmstat 是一个查看系统虚拟内存使用情况的命令,通过这个命令,可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。
什么是Linux的虚拟内存
在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。
当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。
其输出各个字段如下所示如下: vmstat 5 5(每隔5秒采样一次,一共5次)procs -----------memory---- ...
我一向悲观,而且一直以为,今人经历的所有情感和情绪,前人都已经经历过了,只是承载这种情绪的个体发生变化了而已。
所以生活是无趣的,只是完成一种历史使命,走一个过场而已。
在阅读代码的过程当中,经常看到有若干代码在对List进行排序时,采用遍历的方式,保守的在遍历时进行冒泡或者选择,没有充分利用java框架的特性,这里提供两种方法供参考:
一、直接利用hashCode的方法:
List<T> aList
HashSet h = new HashSet(aList);
aList.clear();
aList.addAll(h);
注:上述方法需要覆盖T中的hashCode;另外该方法不能保证List中的元素的书讯与去重前的顺序的一致性
二、依然使用hashCode特性,保证顺序的一致性
Set ...
有下面的一些jvm的参数,他们的默认值一般比较容易忽略,记录下来,方便查询
-Xms 默认情况下堆内存的64分之一
-Xmx 默认情况下对内存的4分之一
-Xmn 默认情况下堆内存的64分之一
-XX:NewRatio 默认为2
-XX:SurvivorRatio 默认为8
避免Concurrent Mode Failure
年老代剩余空间>=EDEN+SURVIROR,即:
(Xmx-Xmn)*(1-CMSInitiatingOccupancyFraction/100)>=(Xmn-Xmn/(SurvivorRatior+2))
P. ...
Linux下有一种OOM KILLER 的机制,它会在系统内存耗尽的情况下,启用自己算法有选择性的kill 掉一些进程。
一、为什么会有OOM killer
当我们使用应用时,需要申请内存,即进行malloc的操作,进行malloc操作如果返回一个非NULL的操作表示申请到了可用的内部你。事实上,这个地方是可能存在bug的。Linux有一种内存优化机制,即:允许程序申请比系统可用内存更多的内存(术语:overcommit),但是Linux并不保证这些内存马上可用,如果凑巧你申请到的内存中在你需要使用的时候还没有完全释放出来,这个时候就会触发OOM killer了。内核代码为:mm ...
性能测试的一些经验值
- 博客分类:
- Shell脚本
一般要注意以下的一些点:
1、 压测的客户端与被压的svr端之间采用长连接,否则客户端自己的TIME_WAIT会很多,压不上去的
2、 客户端和svr端 关闭掉不需要的流水,或者改为每n次请求写一条,要不io会很高,压不上去的
Linux性能分析和调整命令
- 博客分类:
- Shell脚本
CPU性能分析工具:vmstatpssartimestracepstreetopMemory性能分析工具:vmstatstracetopipcsipcrmcat /proc/meminfocat /proc/slabinfocat /proc/ /mapsI/O性能分析工具:vmstatipstatrepquotaquotacheckNetwork性能分析工具:ifconfigetherealtetherealiptrafiwconfignfsstatmrtgntopnetstatca ...
使用xargs的一个例子
- 博客分类:
- Shell脚本
ps aux|grep 进程名 | awk '{print $2 }' | xargs kill
使用xargs一次性kill掉多个进程,可以作为xargs的一个例子,供后续使用xargs的参考
在Linux划分SWAP的时候,根据物理内存的大小而定,一般而言,有下面的经验值供参考1)当物理内存不超过2G的时候将swap划分为物理内存的2倍
2)物理内存超过2G的时候,将swap划分为物理内存的大小
划分swap分区可以如下进行操作:
#一、查看系统当前的分区情况:
free -m
#二、创建用于交换分区的文件:
dd if=/dev/zero of=/Application/swap bs=4096 count=1572864
今天的内容是Linux的wc命令,这个名字很好记,因为什么,你也知道。
这个命令的功能也很好记,因为它功能很有限:
wc -c filename:显示一个文件的字节数
wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数