- 浏览: 11183 次
- 性别:
- 来自: 上海
最新评论
文章列表
nodejs 基于事件驱动,异步I/O模型的服务端javascript开发语言,基于commonjs规范,基于Google V8引擎渲染,速度号称最快嘛。
环境准备
OS : ubuntu12.04 LTS
node: node-v0.10.21
首先确保系统安装来python,gcc,g++,如果没有则安装:
$ sudo apt-get i ...
下午逛论坛,发现坛子内有个博主写的很好,所以转载过来了
原文:http://wangjie2013.iteye.com/blog/1856897
一个35岁左右的白骨精来找我们,她需要在两个工作里面做选择。一个是年薪30万的制片总监,一个是年薪10万的市场策划。她喜欢后者的节奏与内容,却被前面的工资吸引。我们仔细算了一下她的工作时间:前者是每天加班,节假日无休赶节目,每天工作近15个小时,后者则是8小时规律的生活。这样算下来,两者的时薪差不多,只是那份“好工作”把三年的活放到一年来做罢了。如果加上由此产生的未来医药费,简直比“坏工作”还不赚钱。我问她,你现在最需要的是最快 ...
vim 和emacs是linux下进行软件开发的两大利器,据说国外的技术大牛基本都用这两款编辑器,vi是linux系统自带的编辑器,vim是vi的增强版,使用emacs需要自己安装,目前我使用的是emacs23,不过下面将要讲的是关于vim的使用方法以及 ...
尊敬的攻城狮们:
非常感谢您光临寒舍,本人潜水ITEYE好多年(之前还是叫java eye呢,谁知一不小心就进入csdn的怀抱了)一直没有勇气发帖,总觉得自己是菜鸟,不是在膜拜大神的博客,就是在膜拜大神博客的路上,怕一不小心就误人子弟了,但是也忽略了这种分享精神,不能总是无偿的索取而不去付出,这不公平。
所以我终于鼓起勇气和大家分享一下我的所学,一方面是锻炼自己的总结能力,另一方面也是考察自己学的是否扎实。
我知道我的博文含金量不高,有些可能也非原创,但是我相信好的博文与好的代码一样,都是不断重构出来的,要仔细斟酌品味才能写出优秀的文章,技 ...
JVM 的早期版本并没有进行分区管理;这样的 后果是JVM 进行垃圾回收时,不得不扫描JVM 所管理的整片内存,所以搜集垃圾 是很耗费资源的事情,也是早期JAVA 程序的性能低下的主要原因。随着JVM 的 发展,JVM 引进了分区管理的机 ...
根据jvm规范,jvm的整体架构包含2个子系统和2个组件
两个子系统:
1.Class loader 类装载器子系统
2.Execution engine 执行引擎子系统
两个组件:
1.Runtime data area 运行时数据区
2.Native interface 本地接口
Class loader作用
根据给定的全限定名类名(如java.lang.Object)将class文件的内容装载到Runtime data area 中的method area(方法区)。Java 程序员可以继java.lang.ClassLoader 类来写自己的Class loader。
Executi ...
JVM参数说明与配置
参数名与参数说明
-server 启用能够执行优化的编译器, 显著提高服务器的性能,但使用能够执行 优化的编译器时,服务器的预备时间将会较长。生产环境的服务器强烈推荐设置 此参数。
-Xss 单个线程堆栈大小值;JDK5.0 以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在 3000~5000 左右。
-XX:+UseParNewGC 用来设置年轻代为并发收集【多CPU】,如果你的服务器 有多个CPU,你可以开启此参数;开启此参数,多个C ...
jvm垃圾分代回收算法
- 博客分类:
- jvm
垃圾分代回收算法(Generational Collecting)
基于对对象生命周期分析后得出的垃圾回收算法。把对象分为年青代、年老代、 持久代,对不同生命周期的对象使用不同的算法(上述方式中的一个)进行回收。 现在的垃圾回收器(从J2SE1.2 开始)都是使用此算法的。
1. Young(年轻代)JVM specification 中的Heap 的一部份 年轻代分三个区。一个Eden 区,两个Survivor 区。大部分对象在Eden 区中生 成。当Eden 区满时,还存活的对象将被复制到Survivor 区(两个中的一个), 当这个Survivor 区满时,此区的存活 ...
1.final 修饰的类不能被继承,所以没有子类,final类的方法默认是final的。
2.final 修饰的方法不能被子类的方法覆盖,但可以被继承。
3.final 修饰的成员变量表示常量,只赋值一次,以后不再改变。
4.final 不能用于修饰构造方法。
Hibernate缓存的作用:
Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据
Hibernate缓存分类:
Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存。
Hibernate一级缓存又称为“Session的缓存”,它是内置的,不能被卸载(不能被卸载的意思就是这种缓存不具有可选性,必须有的功能,不可以取消session缓存)。由于Se ...
Hashmap 和Hashtable的区别
- 博客分类:
- java
1.Hashtable继承自Dictionary类,而Hashmap是Java1.2引进的Map接口的一个实现。
2.Hashtable 是线程安全的,hashmap是非线程安全的。
3.Hashtbale的key和value都不能为null,hashmap可以。
4.Hashtable有contains(Object key)方法,而Hashmap有containsKey(Object key) 和containsValue(Object value)方法。
5.Hashtable的方法是synchronize的,而Hashmap不是,在多个线程访问Hashtable时,不需要自己为 ...
Runtime data area 主要包括五个部分:Heap (堆), Method Area(方法区域),Java Stack(java 的栈), Program Counter(程序计数器), Native method stack(本地方法栈)。Heap 和Method Area 是被所有线程的共享使用的;而Java stack, Program counter 和Native method stack 是以 ...
assmebly language\asm\asm.pdf
c\boost\Boost程序库完全开发指南.pdf
c\boost\boost程序库导论\Beyond_the_C++_Standard_Library.pdf
c\C++Primer 第三版.pdf
c\Lambda\lambda.pdf
c\Nacl\LLVM\The_LLVM_Instruction_Set_and_Compilation_Strategy.pdf
c++\boost\Beyond+the+C+++Standard+Library(中文版).pdf
c++\boost\boost ...
GEF 是eclipse插件框架中最常用的了,但是国内的资料好少,除了ibm开发者网站上有点外,些的最好的就属八进制大大的了,所以特此转载,提供给有需要的人
via:http://www.cnblogs.com/bjzhanghao/archive/2005/02/05/102513.html
.
考虑到现有的项目使用erlang重写的复杂性和erlang对于某些数据库支持的弱点,想结合erlang的分布式、代码热加载、处理高并发方面的优势,和C++在性能上以及大量现有项目上的优势,实现集群部署。
考察了erlang和C进行交互的几种方式,ports受限于物理服务器分布,port_driver没测试成功,应该也是受限于本机,最后选定C nodes方式。
测试了c server和c client两种方式,感觉如果是server方式,还得用C写一套处理高并发的网络模块,也不方便升级,erlang的优势完全没发挥上,所以选定client方式。
大致的想法是这样的:
* erla ...