前沿拓展:
**tp虚拟服务器
Windows 2000用户
安装设置服务端
Windows XP和2000本身就拥有构件**TP服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除Windows组件”,弹出“Windows组件向导”对话框,在其中双击“Internet信息服务(IIS)”项,
虽然是汇编,但代码并不多,我们一句一句来阅读:1)mov%eax,-0x8000(%esp):检查栈溢。2)push%ebp:保存上一栈帧基址。3)sub$0x18,%esp:给新帧分配空间。4)mov 0x8(%ecx),%eax:取实例变量a,这里0x8(%ecx)就是ecx+0x8的意思,前面代码片段“[Constants]”中提示了“this:ecx=‘test/Bar’”,即ecx寄存器中放的就是this对象的地址。偏移0x8是越 过this对象的对象头,之后就是实例变量a的内存位置。这次是访问Java堆中的数据。5)mov$0x3d2fad8,%esi:取test.Bar在方法区的指针。6)mov 0x68(%esi),%esi:取类变量b,这次是访问方法区中的数据。7)add%esi,%eax、add%edx,%eax:做2次加法,求a+b+c的值,前面的代码把a放在eax中,把b 放在esi中,而c在[Constants]中提示了,“parm0:edx=int”,说明c在edx中。8)add$0x18,%esp:撤销栈帧。9)pop%ebp:恢复上一栈帧。10)test%eax,0x2b0100:轮询方法返回处的SafePoint。11)ret:方法返回。
在这个例子中测试代码比较简单,肉眼直接看日志中的汇编输出是可行的,但在正式环境中-XX:+PrintAssembly的日志输出量巨大,且难以和代码对应起来,这就必须使用工具来辅助了。 JITWatch[5]是HSDIS经常搭配使用的可视化的编译日志分析工具,为便于在JITWatch中读取,读者可使用以下参数把日志输出到logfile文件:-XX:+UnlockDiagnosticVMOptions-XX:+TraceClassLoading-XX:+LogCompilation-XX:LogFile=/tmp/logfile.log-XX:+PrintAssembly-XX:+TraceClassLoading
在JITWatch中加载日志后,就可以看到执行期间使用过的各种对象类型和对应调用过的方法了, 界面如图4-28所示。
选择想要查看的类和方法,即可查看对应的Java源代码、字节码和即时编译器生成的汇编代码, 如图4-29所示。
拓展知识:
**tp虚拟服务器
**TP是电子邮件发送服务.
**tp虚拟服务器
**TP 简单邮件传输协议。在 STD 10、RFC 821 中定义用于在 Internet 上传输电子邮件的协议。
整个的就是简单邮件传输协议虚拟服务器
**tp虚拟服务器
知道什么是服务器、VPS、虚拟主机,让你做网站不被忽悠,还省钱
原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/11322.html