- 浏览: 55365 次
- 性别:
- 来自: 北京
最新评论
文章列表
[置顶] mono 系列一 序言
- 博客分类:
- mono
随着微软宣布发布了asp.net vNext,新版本可以在windows、linux、mac三大平台上运行。mono的命运也越来越受到关注,mono是用c语言写成的一个dotnet的一个跨平台实现,已经存在了约14年之久,mono的命运究竟会如何呢?是会跟微软在非微软平台平分秋色,还是默默的淡去,还是会跟微软联姻,做大做强呢?
微软是靠PC业务起家的,其主要营收来源是windows和office。随着web和移动的迅速的发展,微软的地位一度受到挑战,新的CEO上任后,微软确立了“云为先、移动为先”的发展战略,不再单独的靠只能在windows上运行C#,来“绑架“ ...
Jetty在启动时,先启动Server,调用jettyserver的父类 HandlerWrapper的dostart方法,启动handler,handler是一个HandlerWrapper,总共包含8个Handler,循环调用Handler的start方法,启动各个Handler。
其中XX,负责解析webapp的基本信息,解析web.xml,并将信息保存到实体中。然后调用WebAppContext 的doStart 启动, 记载和调用在web.xml中解析并已经加载的所有Listener的contextInitialized 方法,启动listener ...
今天碰到了一个问题,asp.net应用中双机的一台间歇性的出现cpu占用率100%的情况,而另外一台基本稳定在50%以下较为稳定,初步的跟其他工程师沟通,程序中没有复杂的算法和很深的循环等。
下面记录下简单的分析过程:
1、应用做了基于F5负载均衡,另外一台cpu占用比较低而且稳定证明并发并不是很高。
2、在并发不高,没有复杂算法的前提下,初步断定不是gc时产生的压力,而且cpu占用率较高时应用访问并没有较为明显的停顿。
3、同时监控web的cpu,db的cpu和网络访问性能,发现cpu较高时DB的压力并不大,基本稳定在50%左右,但是较高的给CPU峰值过后,会出现网络的流量的峰值, ...
写道
Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示“子目录或子模块”的关系。下面是对每一个目录的简单描述。include/子目录包含了建立内核代码时所需的大部分包含文件,这个模块利用其它模块重建内核。init/ 子目录包含了内核的初始化代码,这是内核开始工作的起点。arch/子目录包含了所有硬件结构特定的内核代码,如图1.3,arch/ 子目录下有i386和alpha模块等等。drivers/ 目录包含了内核中所有的设备驱动程序,如块设备,scsi 设备驱动程序等等。fs/ 目录包 ...
类加载:
实现机制:
Java instanceof 关键字是如何实现的?
请教一个share/vm/oops下的代码做fast subtype check的问题
GC:
并发垃圾收集器(CMS)为什么没有采用标记-整理算法来实现?
内存分配:
并发:
调优:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
逃逸分析 http://www.zhihu.com/question/27963717/answer/38871719
jls:
http://do ...
epoll为什么这么快,epoll的实现原理
- 博客分类:
- 网络
转自; http://zhidao.baidu.com/link?url=g-JOZq5QK1MYHJU69l-n7dplQtu0h9bJU4J8dqdvTH-y-ymTqBPzga_uMJ5Dm900cwUIJ_mxEToMgskpPQoj53S8oJut-w0rMNwwt_VfvNa
以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直守候在A号楼门口等待朋友的到来,在这段时间里你不能做别的事情,不难知道,这种方式的效率是低下 ...
1:首先需要安装tclsh
从http://tcl.tk/software/tcltk/download.html下载合适的版本安装
2:安装neteans
3:从已有代码新建c项目,调试即可。
为了很好的了解sqlite的功能,我们最好就是从源码入手:
sqlite 整体结构:
1:
open_db()
-sqlite3_initialize()
--sqlite3_open()
---openDatabase()
----初始化sqlite sqlite3Malloc()
mono系列1 MSIL解析
- 博客分类:
- mono
.net中间代码为MSIL,C#的静态编译就是把C#代码编译为MSIL的过程,要想了解编译过程,那么必然要先理解MSIL,以及DLL和exe的格式。
首先复习一下go的基本语法1:变量定义val 变量 变量类型
val v1 int
val v2 string
val v3 [10]int //定义一个int10的数组
val v4 map[string] string //定义一个字典 key为string value也为string
val v5 func(a int) int //v5指向一个函数
可以更简单一些,根据数据推断类型,如下:
v6 := 90
v7 := "hello china"
匿名变量 _,_,name := GetName() 如果调用一个方法返回多个变量 ...
今天在rhel 6.5上用源码安装R语言,遇到了一些问题,记录一下备忘:
Linux RHCE6.5 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
1:需要安装的包
gcc gfortran readline libpng
由于rhel没有注册,所以不能用redhat官方的yum源头,我就用rpm包的方式安装
wget ftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/gcc-gf ...
在centos6.5上编译openjdk7
第一步:查看当前os版本:
uname -a
Linux centos65 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
第二步:环境准备:
1.首先去 这里 http://download.java.net/openjdk/jdk7/ 下载OpenJDK7的源码zip包
2.安装需要的包
sudo yum install cups-dev unzip zip freetype cmake gcc
3 ...
JVM Internal 一 性能优化
- 博客分类:
- 虚拟机
1:大对象可以直接进入old区,多大的对象?大于eden区的剩余空间的对象直接进入old区域。
-Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8
eden区8M,from和to各1M,old区10M,总共20M的空间
用参数-XX:PretenureSizeThreshold=3145728
lua的虚拟机是基于寄存器的,我们所了解的虚拟机中大部分是基于堆栈的(包括c#、python、jvm等),android的davik虚拟机是基于寄存器的,那么基于寄存器和基于堆栈的虚拟机有什么区别和优缺点呢?
打算建一个独立到博客玩玩,这2天考察了github和WordPress。github感觉不太像一个博客,感觉是静态网站,感觉管理和使用不太方便,虽然有版本管理到功能,感觉还是太麻烦了,评论功能使用起来也不爽。WordPress有现成的模板,对与我这种没什么页面设计能力到人太方便了。评论功能也不算差。
第一步开始找托管的空间,在 一峰 大哥到blog当中了解到了redhat的OpenShift 。以前一直对redhat有好感,上学的时候接触到第一个linux操作系统就是redhat9,在那个朦胧的年代,对这个公司充满了崇拜。这是一个支持云的平台大概了解了下,他支持 ...