上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页

剖析Java虚拟机的机理,深入了解JVM

摘要: 1、Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1 Java四个方面的关系 运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存, 一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和 Java应用程序接口搭建,Jav... 阅读全文
posted @ 2013-05-01 17:14 李涛_buptsse 阅读(212) 评论(0) 推荐(0) 编辑

linux lsof详解

摘要: lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。 lsof使用lsof输出信息含义在终端下输入lsof即可显示系统打开的文 阅读全文
posted @ 2013-05-01 16:39 李涛_buptsse 阅读(175) 评论(0) 推荐(0) 编辑

brk, sbrk 用法详解

摘要: brk() , sbrk() 的声明如下:[cpp]view plaincopy#include<unistd.h>intbrk(void*addr);void*sbrk(intptr_tincrement);这两个函数都用来改变 "program break" (程序间断点)的位置,这个位置可参考下图:如 man 里说的:引用brk()andsbrk() change the location of the program break, which defines the end of the process's data segment (i.e., 阅读全文
posted @ 2013-05-01 16:21 李涛_buptsse 阅读(399) 评论(0) 推荐(0) 编辑

linux sar命令详解

摘要: sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS6.3 x64系统为例,介绍sar命令。sar命令常用格式sar [options] [-A] [-o file] t [n]其中:t为采样间隔,n为采样次数,默认值是1;-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。options 为命令行选项,sar命令常用选项如下:-A:所有 阅读全文
posted @ 2013-05-01 12:11 李涛_buptsse 阅读(115) 评论(0) 推荐(0) 编辑

Linux iostat监测IO状态

摘要: Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。1. 基本使用$iostat -d -k 1 10参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。$iostat -d -k 1 10 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 39.29 21.14 1.44 441339807 29990031 sda 阅读全文
posted @ 2013-05-01 11:27 李涛_buptsse 阅读(115) 评论(0) 推荐(0) 编辑

Linux上的free命令详解

摘要: 解释一下Linux上free命令的输出。 下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:FO[2][1] = 24677460FO[3][2] = 10321516 1 2 3 4 5 61 total used free shared buffers cached2 Mem: 24... 阅读全文
posted @ 2013-04-30 20:50 李涛_buptsse 阅读(117) 评论(0) 推荐(0) 编辑

Linux Load average负载详细介绍

摘要: 也许你在学习Linux操作系统,会遇到很多问题,这里为你讲解Linux系统Load average负载的知识,你可能对于 Linux 的负载均值(load averages)已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到,它们可能会显示成这个样子: load average: 0.09, 0.05, 0.01 很多人会这样理解负载均值:三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。数字越高,说明服务器的负载越 大,这也可能是服务器出现某种问题的信号。 而事实不完全如此,是什么因素构成了负载均值的大小,以及如何... 阅读全文
posted @ 2013-04-30 15:50 李涛_buptsse 阅读(147) 评论(0) 推荐(0) 编辑

进程优先级和进程nice值

摘要: 首先,我想用一个简单的命令来引起这个议题。 无论在linux或者unix系统中,用ps –l命令则会类似输出以下几个内容:[root@dbbak root]# ps –l --- 这里用的是linux测试F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD4 S 0 20538 20534 0 75 0 - 1063 wait4 pts/2 00:00:00 bash4 R 0 20663 20538 0 75 0 - 828 - pt... 阅读全文
posted @ 2013-04-30 15:49 李涛_buptsse 阅读(231) 评论(0) 推荐(0) 编辑

Java类和对象的初始化顺序

摘要: 本文摘录于http://blog.csdn.net/socoolfj/archive/2006/05/23/750425.aspx,并修改例子的代码,加上自己的见解。类装载步骤在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:装载:查找和导入类或接口的二进制数据;链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;校验:检查导入类或接口的二进制数据的正确性;准备:给类的静态变量分配并初始化存储空间;解析:将符号引用转成直接引用;初始化 阅读全文
posted @ 2013-04-28 22:08 李涛_buptsse 阅读(184) 评论(0) 推荐(0) 编辑

JVM内存结构浅析

摘要: 内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收、GC),这对于开发人员来说确实大大降低了编写程序的难度,但带来的一个副作用就是,当系统运行过程中出现JVM抛出的内存异常(例如OutOfMemoryError)的时候,很难知道原因是什么,另外一方面,要编写高性能的程序,通常需要借助内存来提升性能,因此如何才能合理的使用内存以及让JVM合理的进行内存的回收是必须掌握的,本节将主要分析一下JVM的内存结构。其实对于我们一般理解的计算机内存,它算是C 阅读全文
posted @ 2013-04-26 23:14 李涛_buptsse 阅读(349) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页