最新文章列表

Netty内存池原理分析

为了避免频繁的内存分配给系统带来负担以及GC对系统性能带来波动,Netty4提出了全新的内存管理,使用了全新的内存池来管理内存的分配和回收。内存池这块的代码复杂难懂,而且几乎没有注释阅读起来比较费力,特别是以前没有接触过内存分配算法的阅读起来更为蛋疼,好在经过几个晚上的努力,终于捋出了一些端倪,特来此记录一番。   Netty4的内存池集大家之精华,参考了各路英雄豪杰的优秀思想,它参考了sl ...
yuqingshui 评论(0) 有589人浏览 2019-07-25 11:46

golang空间扩容

一、内存构成   内存管理组件构成 二、扩容 一般来说当内存空间span不足时,需要进行扩容。而在扩容前需要将当前没有剩余空间的内存块相关状态解除,以便后续的垃圾回收期能够进行扫描和回收,接着在从中间部件(central)提取新的内存块放回数组中。 // 根据空间规格 获取对应的索引 再获取alloc数组中对应的span func (c *mcache) refil ...
dalan_123 评论(0) 有412人浏览 2019-01-08 15:47

垃圾收集器与内存分配策略

1、对象已死   堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象有哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)   1.1、引用计数算法   给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。——实现简单,判定效 ...
decao 评论(0) 有893人浏览 2017-11-27 09:42

openssl内存分配

一 内存分配         用户在使用内存时,容易犯的错误就是内存泄露。当用户调用内存分配和释放函数时,查找内存泄露比较麻烦。openssl提供了内置的内存分配/释放函数。如果用户完全调用openssl的内存分配和释放函数,可以方便的找到内存泄露点。openssl分配内存时,在其内部维护一个内存分配哈希表,用于存放已经分配但未释放的内存信息。当用户申请内存分配时,在哈希表中添加此项信息,内存释 ...
cakin24 评论(0) 有1015人浏览 2016-12-13 20:44

String类的equal(),hashCode(),==

在javaJDK中,大部分的equal函数都是先判断对象是不是属于同一类,如果是则比较对象的值是不是相等,如果是则返回相等;在String类中先判断是不是都是String类,再判断数组是不是相等,如果是则返回true; public boolean equals(Object anObject) { if (this == anObject) { ...
mili_qm 评论(0) 有401人浏览 2016-04-04 12:43

【转载】JVM内存分配与调优参数列表

本文转载自http://shift-alt-ctrl.iteye.com/blog/1842631   一.运行时数据区:   程序计数器:它是一块较小的内存空间,主要作用是当前线程所执行的字节码 ...
IXHONG 评论(0) 有934人浏览 2015-07-20 00:07

<2-2> 垃圾收集器与内存分配

2.4 垃圾收集器 如果说垃圾收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数共用户根据自己的应用特点和要求组合出各个年代所使用的收集器。这里讨论的收集器基于Sun HotSpot虚拟机1.6版Update 22,这个虚拟机包含的所有收 ...
足至迹留 评论(0) 有931人浏览 2014-08-22 10:41

Java数据保存与内存分配

       在叙述以下问题时先解释一下java中的堆与栈:        栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。        栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共 享。堆的优势是可以 ...
xuanzhangyang 评论(0) 有1023人浏览 2014-04-07 18:59

java字符串池和内存分配

/** * public String intern() * 返回字符串对象的规范化表示形式。 * 一个初始为空的字符串池,它由类String私有地维护。 * 当调用intern方法时,如果池已经包含一个等于此String对象的字符串(用equals(Object)方法确定),则返回池中的字符串。 * 否则,将此String对象添加到池中,并返回此String对象的 ...
JQXChao 评论(0) 有1756人浏览 2013-05-28 11:14

object-c 对象内存分配情况

最近在翻 《iphone开发秘籍》第二版 这本书,发现还是挺不错的,很多细节的问题都介绍的比较清楚。 不过刚看到第三章的时候,有个“内存分配” 的小节,里面有个问题:     NSObject *object = [[NSObject alloc]init]; NSLog(@"object pointer: %ld\n",sizeof(object)); NSL ...
jakend 评论(0) 有3235人浏览 2013-03-31 22:41

最快线程间数据交换算法,有效避免锁竞争 -- TwoQueues

本人CSDN博客地址:http://blog.csdn.net/hzdiy/article/details/8694642 处理多线程数据共享问题注意的几个要点: 1、锁竞争:尽量减少锁竞争的时间和次数。 2、内 ...
hzdiy 评论(0) 有810人浏览 2013-03-28 16:44

Java内存分配

原文地址:http://www.cnblogs.com/transmuse/archive/2010/11/18/1881282.html   1. java中内存的分配 java程序在运行时,内存结构分为:方法区(method),栈内存(stack ...
luckytyy 评论(0) 有784人浏览 2013-03-27 13:07

java中多维数组探讨及发散思考

今天在stackoverflow上面看到一个帖子讨论说关于提高数组效率的问题,看了下他的问题,是关于一个四维数组的效率问题,四维数组类似这样子: ushort[, , ,] map = new ushort[3000, 3000, 3, 3]; 暂且先不管为啥要搞一个四维数组(毕竟四维已经超出了人的立体思维想象了-_-),我随手写了一个测试类来测试,但是发现了一个更有意思的现象,数组声明方式不同会导 ...
feikiss 评论(0) 有1213人浏览 2012-12-10 18:19

忆Java String

  平时 .NET 写多了, Java 很多东西都忘记了,前两天和同事聊天说到 equals 时谈到 Java 中的 String 时自己没能理清楚,唉,以前都研究过了,但还是忘了(头脑不行了),所以决定记在这里给自己长长脑子。   做 Java 时,我们可以发现对于 String 类型的实例化 ...
xdwangiflytek 评论(0) 有1269人浏览 2012-11-15 08:38

java基本概念

【形参与实参】 形参;是定义方法的时候的参数 例如;void test(int a,short b) a,和b 就是形式参数。没有具体的值。实参;实际参数,实实在在的有值的参 ...
hualikejava 评论(0) 有1246人浏览 2012-06-27 17:26

c++中malloc与free

  from:http://hi.baidu.com/hayrek/blog/item/4ed2749a5e8307b2c8eaf4c3.html   c++中malloc与free 一、malloc()和free()的基本概念以及基本用法:  1、函数原型及说明:  ...
hao3100590 评论(0) 有1056人浏览 2012-06-04 15:32

以NIO通信例子结合Jconsole解释JVM内存分配机制

    JAVA的内存分配机制,在很多地方都已经解析很多次了,个人如何方便的来直观的了解,还有很多人不是很清楚,或者没有这样的机会,在这里我结合一个小例子,采用JDK自带的JConsole来说一下JVM的内存分配机制。 案例 首先解释下场景,服务端是一个通信服务器,接受客户端发过来的通信信息,并做业务处理;服务端采用JAVA中的MINA2框架,客户端可以任意,C++也好,JAVA也好,只要符合服务 ...
scholers 评论(0) 有3798人浏览 2012-03-22 22:11

PostgreSQL的内存管理机制十二:共享内存/shmem分配

pg 的内存除了 AllocSet/MemoryContext 外,另一个主要部分就是共享内存(shared memory )。这一节讨论共享内存(简写shmem )的分配。 pg 在 reset_shared () 这个函数里, 计算数据缓冲、xlog 、clog 、共享进程、子事务、并发控制、轻量级锁、backend 进程等需要的共享内存, 调用 shmg ...
BeiGang 评论(0) 有4331人浏览 2012-02-23 21:40

java环境配置与基本概念

  配置java环境变量: JAVA_HOME:配置JDK的目录 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置 LINUX系统(在" .bash_profile "下的环境变量设置) JAVA_HOME=/opt/jdk1.5.0_06 CLASSPATH=.:$JAVA_HOME/lib/ ...
剑锋无刃 评论(0) 有658人浏览 2012-02-05 19:11

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics