- 博客(50)
- 资源 (4)
- 收藏
- 关注
原创 从源码学spring一启动
Jetty在启动时,先启动Server,调用jettyserver的父类 HandlerWrapper的dostart方法,启动handler,handler是一个HandlerWrapper,总共包含8个Handler,循环调用Handler的start方法,启动各个Handler。 其中XX,负责解析webapp的基本信息,解析web.xml,并将信息保存到...
2016-11-29 17:05:22 154
原创 asp.net性能优化
今天碰到了一个问题,asp.net应用中双机的一台间歇性的出现cpu占用率100%的情况,而另外一台基本稳定在50%以下较为稳定,初步的跟其他工程师沟通,程序中没有复杂的算法和很深的循环等。下面记录下简单的分析过程:1、应用做了基于F5负载均衡,另外一台cpu占用比较低而且稳定证明并发并不是很高。2、在并发不高,没有复杂算法的前提下,初步断定不是gc时产生的压力,而且cpu占用率较...
2015-03-31 22:09:53 134
原创 Linux源代码结构
写道Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示“子目录或子模块”的关系。下面是对每一个目录的简单描述。include/子目录包含了建立内核代码时所需的大部分包含文件,这个模块利用其它模块重建内核。init/ 子目录包含了内核的初始化代码,这是内核开始工作的起点。arch/子目录包...
2015-02-21 10:41:10 221
原创 JVM帖子收藏及分类
类加载: 实现机制:Java instanceof 关键字是如何实现的? 请教一个share/vm/oops下的代码做fast subtype check的问题 GC: 并发垃圾收集器(CMS)为什么没有采用标记-整理算法来实现? 内存分配: 并发: 调优:http://www.joelonsoftware.com/articles/...
2015-02-16 11:59:34 98
原创 epoll为什么这么快,epoll的实现原理
转自; http://zhidao.baidu.com/link?url=g-JOZq5QK1MYHJU69l-n7dplQtu0h9bJU4J8dqdvTH-y-ymTqBPzga_uMJ5Dm900cwUIJ_mxEToMgskpPQoj53S8oJut-w0rMNwwt_VfvNa 以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是...
2015-01-20 00:03:07 120
原创 linux 下用netbeans调试sqlite3
1:首先需要安装tclsh从http://tcl.tk/software/tcltk/download.html下载合适的版本安装2:安装neteans3:从已有代码新建c项目,调试即可。为了很好的了解sqlite的功能,我们最好就是从源码入手:sqlite 整体结构:1:open_db()-sqlite3_initialize()--sqlite3_o...
2015-01-10 14:35:11 262
原创 mono系列1 MSIL解析
.net中间代码为MSIL,C#的静态编译就是把C#代码编译为MSIL的过程,要想了解编译过程,那么必然要先理解MSIL,以及DLL和exe的格式。
2015-01-05 22:38:54 327
原创 mono 系列一 序言
随着微软宣布发布了asp.net vNext,新版本可以在windows、linux、mac三大平台上运行。mono的命运也越来越受到关注,mono是用c语言写成的一个dotnet的一个跨平台实现,已经存在了约14年之久,mono的命运究竟会如何呢?是会跟微软在非微软平台平分秋色,还是默默的淡去,还是会跟微软联姻,做大做强呢? 微软是靠PC业务起家的,其主要营收来...
2015-01-05 22:12:10 138
原创 go 网络编程
首先复习一下go的基本语法1:变量定义val 变量 变量类型val v1 int val v2 stringval v3 [10]int //定义一个int10的数组val v4 map[string] string //定义一个字典 key为string value也为stringval v5 func(a int) int //v5指向一个函数 可以更简单一些,...
2014-12-31 14:25:44 125
原创 rhel6.5 安装R语言
今天在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没有注...
2014-11-10 22:25:52 197
原创 centos 6.5 编译openjdk7
在centos6.5上编译openjdk7第一步:查看当前os版本:uname -aLinux 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...
2014-11-09 14:57:42 131
原创 JVM Internal 一 性能优化
1:大对象可以直接进入old区,多大的对象?大于eden区的剩余空间的对象直接进入old区域。-Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 eden区8M,from和to各1M,old区10M,总共20M的空间用参数-XX:PretenureSizeThreshold=3145728 控制。 注意:PretenureSize...
2014-11-02 21:50:46 684
原创 lua 源码阅读一虚拟机
lua的虚拟机是基于寄存器的,我们所了解的虚拟机中大部分是基于堆栈的(包括c#、python、jvm等),android的davik虚拟机是基于寄存器的,那么基于寄存器和基于堆栈的虚拟机有什么区别和优缺点呢? ...
2014-08-01 15:18:18 170
原创 WordPress博客建立
打算建一个独立到博客玩玩,这2天考察了github和WordPress。github感觉不太像一个博客,感觉是静态网站,感觉管理和使用不太方便,虽然有版本管理到功能,感觉还是太麻烦了,评论功能使用起来也不爽。WordPress有现成的模板,对与我这种没什么页面设计能力到人太方便了。评论功能也不算差。 第一步开始找托管的空间,在 一峰 大哥到blog当中了解到了re...
2014-05-27 23:11:24 115
原创 关于弱引用
提纲:1:什么是弱引用弱引用就是引用他的时候,可以进行内存回收。比如缓冲可以用,但是无法准确的控制缓冲的策略,但是他的方便之处就在于我们不用控制缓冲的内容在内存不够的时候如何处理,由GC来处理。2:弱引用的作用3:C#如何高效的利用内存 4:C#的性能分析 闭包可以记住不在当前作用域内的“值”,这个值可能只引用。 using System; ...
2014-05-27 22:38:49 116
C语言深度解析笔记1
1:static修饰变量,因为它在静态区内,函数返回后其仍然存在,即便是局部变量也是如此。2:static修改函数,其为局部函数,不会跟其他文件的同名函数重名,??名字解析式如何弄的呢?3:sizeof是关键字不是函数。被某些人冤枉了太久太久。4:...
2014-05-06 22:51:14 130
原创 centos上安装openoffice 4.0
写道1、展开你的安装包。OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz # tar zxvf OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz 资料来源:从本光盘中找到 OOo_2.2.1_LinuxIntel_install_wJRE_zh-cn.tar.gz 2、安装 Java-ru...
2014-03-16 11:18:18 123
原创 在centos上折腾 django的部署
很多事情都是折腾,折腾来折腾去又回到了原点。 这次安装centos6.5,前面2次刻U盘,启动之后在界面让press any key to start setup。但是点击任何键都没有反应。用新版本的UltraISO刻录后成功启动安装。安装的过程中在包检测的地方也报错了,无奈选择的最小desktop安装,安装成功。升级python到2.7 首先升级pyth...
2014-03-15 22:41:34 130
原创 汇编语言笔记
1:寄存器操作 cs寄存器不能用mov指令赋值,需要用jmp等调转指令。但还可以将cs寄存器的值mov到寄存器或者内存 ds寄存器可以用mov赋值,通常是这样操作 mov bx:地址 mov ds:bx。可以将ds中的值mov到寄存器或者内存。2:实模式和保护模式实模式实模式下访问内存是通过 Segment:Offset来进行的。段的基地址是16的倍数,段的长度是寄...
2013-12-28 10:58:19 99
C# 和java的finally
本文章主要对比 java和C#执行finally的异同。一:C#中的处理 C#代码 class Program { static void error() { throw new Exception(); } static int test() {...
2013-06-24 14:23:57 138
Linux Nasm hello world
linux nasm helloworld demoplease see:http://blog.markloiseau.com/2012/04/hello-world-nasm-linux/http://www.ibm.com/developerworks/cn/linux/l-gas-nasm.htmlhttp://blog.csdn.net/flickedball/art...
2013-05-27 23:25:10 150
原创 函数调用的过程
C语言在函数调用的过程中的参数到底是怎么传递的,传值和传参数的差别在哪里,我从最简单的过程开始,让自己复习一下。如果我们不采用方法调用,正常的计算过程是这样的。int a = 9;int b =8;int c = a+b; 其对应的汇编代码如下: int a = 9;000913BE mov dword ptr [a],9 int b =8...
2013-05-22 22:28:48 120
深入理解 JavaScript 之基础
以前总觉得javascript仅仅是一个浏览器端的脚本语言,完成操作DHTML和css。给网页一些动态性。对于Jquery、Dojo、 MooTool等也听说很久了,但是没有深入的了解。最近看Jquery的代码,发现javascript原来可以写的如此优雅和简介。再假设该最近 Node.js等服务器端javascript的发展,感觉自己对javascript的认识有很大的误区和局限,于是想仔细...
2013-04-30 23:07:23 103
原创 深入理解javascript (二)
javascript是以原型为基础的继承机制,不同于java、C#的以类为基础的原型机制。所以习惯了类继承的在理解原型继承的时候不是那么顺利。下面是2者的对比情况:原型继承:是以对象为原型来创建新对象的,复用的是对象。类继承:是类为模板的来创建新对象的,复用的是类。 javascript是最容易受人误解的语言之一,以原型继承,却因为追当时流行的面向对象语言的风引入了类继...
2013-04-30 23:03:57 100
原创 计算机中信息的处理
从接触计算机到现在,碰到数的处理着一章就头大,没有好好到思考理解过,为了仔细到巩固这一章到知识,今天好好复习一 下。主要包括以下几个内容: (1)信息的存储: (2)数的计算 (3)位计算 (4)逻辑计算 (5)字符到存储 (6)图像和视频到存储...
2012-12-28 11:01:48 633
原创 oracle 创建表空间语法
很久没用oracle数据库了,发现语法都有点淡忘了。最近发现语言接触多了,语法是一个最容易混淆的地方,只有明白了其内在的原理用起来才能得心应手不会遗忘吧。下面是一个项目中用到的一些语句,记录下来,免得下次再找。create temporary tablespace cz_temp tempfile 'D:\db\cz_temp.dbf' size 50m autoexten...
2012-12-12 11:07:43 161
原创 链接、装载、库读书笔记(一)
可执行文件的执行 可执行文件的类型是跟操作系统、编译器密切相关的,是有操作系统加载执行的,在不同的平台下有不同的格式,做到跨平台执行很难。而其他格式的文件如image、txt等文件,是有解析他的可执行文件(图片查看器、office软件等)来加载执行,跨平台相对容易。那么可执行文件的格式究竟是怎么样的呢?一个可执行文件是如何加载解析执行的呢?1:首先我要理解清楚可执行文件的格式。...
2012-12-06 22:46:32 110
原创 从今天开始主要的工作环境迁移到linux下了
从今天开始主要的工作环境迁移到linux下了。暂时安装的是ubuntu的12.10,是当前的最新版本。强迫自己逐渐熟悉linux的日常操作。强化在linux下的编程锻炼。 编程语言主要是C语言和Java和C#。 每天要保持一定的代码数量。博客要经常更新,请大家监督。 家里的电脑也装成了linux。老婆也被迫在linux下逛taobao了。 ...
2012-12-03 22:20:17 109
原创 Sqlite源码研究1
最近想深入的分析一下语言的编译的过程和数据库方面的东西,一个sql语句可以写的非常复杂,于是乎觉得有必要动手分析下SQLITE的源码。1:初始化 2:sql解析SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg)sqlite3Parser 主要的解析函数 ...
2012-11-29 14:13:55 116
原创 谈谈学习
说起学习,自认为是个爱学习的人,也想做一个爱学习的人。小的时候就认为那种活到老学到老的人,很潇洒,很是让人羡慕。但是一直“成绩”不是很出色。总想静下心来分析分析原因,但是一直不曾有这个机会。今天看云风大哥的顿悟,便静下心来想想。 一直觉得自己是个有独到见解的人,可是很多时候还是跟在别人的后面,重复别人的见解,很少做到独到。原因自然是自己独自分析,...
2012-11-28 23:13:34 83
原创 各个语言中的函数指针
C#中有委托,actionscript中有 function类型等这些于C语言中的函数指针有什么关系呢,在汇编中又是怎么样对应的呢?今天我们来总结一下:ActionScript: java C# delegate void dosomething(string name); class demo { public void test...
2012-11-28 14:21:02 109
原创 异步编程的探析(一)
在IO设置中CPU对内存的操作都是主动的,CPU去读内存和写内存。对其他IO设备比如网卡、键盘、鼠标等,cpu去轮询每个设备的状态,那系统会运行的很慢,而且这些设备和cpu的交互不是很频繁。于是引入了中断机制。当这些设备有事件发生(比如键盘有按键按下,网卡有数据包到达等)时会引发一个中断,每个设备都有一个中断号。(主要设备的中断号是多少呢)。然后CPU转向预定的代码去执行。 ...
2012-11-26 13:55:35 90
原创 程序的异常处理
在程序的运行过程中难免会出现异常,很多时候由于对异常的理解和应用不到位,导致程序不稳定,更可怕的是程序在错误的数据环境下长时间的运行。那么我们应该怎样对待异常,操作系统又是怎么样处理异常的呢?...
2012-11-26 13:54:24 93
原创 网络编程基础探析(一)
我们平时编写程序,调用各个语言的网络编程接口(Socket等),一个数据的流向和行为是怎么样的呢?我们今天做一个探析。我想了解的内容主要包括以下:(1)我调用Socket接口后,数据的封装是怎么样的;(2)到网卡的过程中缓冲区和IP协议是如何工作的;(3)IP协议又是如何把数据包从一个网卡经过多个关卡(各个路由器、网线、网关等)到达另外一个网卡,如何到达对方的缓冲区。(4)跟对...
2012-11-21 23:04:02 63
原创 sql join 备忘
在做sql join 连接时需要注意的问题,如果2个表不是百分之百同时有记录的时候要用left或者rightjoin。如果连接出来要做不等于的排除运算时注意 null的判断,因为当两个表不是同时存在问题时,缺少数据的一个表连接出来的数据是null。...
2012-10-25 17:39:33 63
原创 进程的创建
在linux中可以用fork创建进程,当我们双击应用程序,操作系统发生了什么呢?用一个加载器加载可执行文件,在win32平台,可执行文件的格式是固定的,所以加载器应该是操作系统自带的加载器。如果要执行别的平台的可执行文件,也不是没有可能,但是要实现一个加载器,去读取可执行文件。加载器跟进程是什么关系呢??如果实现自己的加载器? 还记得JVM的加载器吗?默认的加载器,自定义的加载器。...
2012-09-14 14:50:43 69
原创 窗口句柄
要创建一个控件,并且让这个控件加到parent container里面的时候,他的句柄才算创建,否则老是用线程等待是不会成功的。现象:在启动一个线程线程任务是否及时办理的线程中,往控件写信息的时候老是出现错误。 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。 错误发生在这句代码上: gridControl1.BeginInvoke(...
2012-09-09 11:46:15 111
Sams - Microsoft SharePoint 2007 Development Unleashed - May 2007
2011-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人