c语言是跨平台的,但其在windows上编译的程序是不能够在linux平台上直接执行的,需要源代码在linux平台上重新编译。gcc在编译一个程序时,一般需要完成预处理(preprocessing)、编译(compilation)、汇编(assembly)和链接(linking)过程。1、编译 gc...
分类:
系统相关 时间:
2015-08-15 16:29:49
阅读次数:
197
1 引言Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服务器上运...
分类:
编程语言 时间:
2015-08-14 21:29:49
阅读次数:
165
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点。当然,我们不...
分类:
编程语言 时间:
2015-08-14 19:15:13
阅读次数:
145
一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从JVM内存模型、GC工作原理,以及GC的几个关键问题进行探讨,从GC...
分类:
编程语言 时间:
2015-08-14 18:31:50
阅读次数:
122
最近搞坏了ubuntu,大半夜装好公司的电脑-limint系统,第二天早晨编译 ./configure出错configure: error: C compiler cannot create executables很是无语呀,找了很多解决办法:1,Having a compiler (like gc...
分类:
其他好文 时间:
2015-08-14 15:08:30
阅读次数:
112
finalize的作用的在进行垃圾回收前,执行的一个方法,这个方法里面不能放回收资源的东西,比如关闭流等,因为这个方法不一定被调用
这个方法只有进行垃圾回收时才被调用
下面这个例子是关于finalize的一个使用情景...
分类:
编程语言 时间:
2015-08-14 11:51:09
阅读次数:
209
Java中垃圾回收有什么目的?什么时候进行垃圾回收? 垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。 System.gc()和Runtime.gc()会做什么事情? 这两个方法用来提示JVM要进行垃圾回收。但是,立即开始还是延迟进行垃圾回收是取决于JVM的。 finalize()方...
分类:
其他好文 时间:
2015-08-13 10:01:52
阅读次数:
222
在上一篇中,大致讲述了GC回收的算法,接下来就在本篇文章里介绍一下如何去预估Java对象的大小,以便后续再优化JVM提供数据理论基础。
一个普通对象的内存大小如下:
1._mark对象头 占用8byte;
2.oop指针,默认占用4byte;
3.数据区 具体根据对象属性而定;
4.padding,内存对齐(如果不懂,可以看看计算机组成原理 这本书 大学计算机系必修之一) Java以8的...
分类:
其他好文 时间:
2015-08-12 23:38:32
阅读次数:
122
回顾:1.内存管理:JVM 1)堆:new出来的对象以及成员变量 成员变量生命周期: 创建对象时存在,对象被回收时消失 垃圾回收器(GC)不定期回收没有任何引用指向的对象 回收过程是透明的,快一些System.gc() 内存泄露: 不再...
分类:
其他好文 时间:
2015-08-12 23:01:21
阅读次数:
94
《GC资源管理器》公文:administrator’s Guide->24 Using the Database Resource Manager用法:在实际生产环境中使用的少行动:限制使用数据库资源。CPU undo表空间 IO session场合:当有多个应用使用一个数据库而且资源紧张时可用“....
分类:
数据库 时间:
2015-08-12 21:14:36
阅读次数:
188