java内存结构 一、垃圾回收机制 堆内存分为:新生代,老年代 默认比例: 1:2 新生代:刚出生不久的对象,存放在新生代里面,存放不是经常使用的对象 老年代:存放比较活跃的对象,存放经常被引用的对象 垃圾回收机制回收在新生代比较频繁,老年代回收的次数比较少。 二、jvm参数调优 常见参数配置 -X ...
分类:
其他好文 时间:
2018-12-23 18:02:18
阅读次数:
194
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。 ...
分类:
编程语言 时间:
2018-12-23 15:20:24
阅读次数:
142
首先需要阐明的就是,闭包会把一些变量值永久的存储在内存中,这些变量不会随着函数的执行结束而销毁掉。我们可以通过闭包去访问这些函数内部变量的值,这也是闭包的特点。 闭包就是一种延缓垃圾回收的机制,一般一个函数执行完函数内部的变量会跟着销毁掉,但是有时候你还需要这个变量,为了不让这个变量被销毁掉,只要让 ...
分类:
Web程序 时间:
2018-12-22 18:40:32
阅读次数:
168
明白生产环境中的jvm参数写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了……一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的。比如说:JDK版本是多少?采用何种垃圾回收器?程序启动的时候默认分配堆内存空间是多少?随着程序的运行,程序最多能使用多大的内存空间?程序中使用了多少个线程?这些线程又处于何种状态?了解了这些,会对程序的运行有一个更好的了
分类:
其他好文 时间:
2018-12-20 11:50:26
阅读次数:
217
此文已由作者赵计刚授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 下面介绍在LocalCache(CacheBuilder, CacheLoader)中调用的一些方法: CacheBuilder-->getConcurrencyLevel()int getConcurren ...
分类:
系统相关 时间:
2018-12-19 10:12:09
阅读次数:
161
虚拟机遇到new指令时: 首先检查方法区中是否加载了类信息,如果没有加载,则先加载类信息 类加载后,为对象分配内存,大小在加载类信息时确定 如果对内存是规整的,即垃圾回收后整理内存碎片合并成一块未使用的区域则分配内存就是将记录内存位置的指针移动相应大小的一段距离(指针碰撞) 如果内存不规整,即垃圾回 ...
分类:
其他好文 时间:
2018-12-18 02:08:11
阅读次数:
244
GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾收集器会自动进 ...
分类:
其他好文 时间:
2018-12-18 00:05:15
阅读次数:
215
一、如何确定对象是一个垃圾:1.引用计数法:每产生一个对象为其产生一个计数器,每当对象被引用计数器自增,当引用失效(赋予新值或引用超出作用范围时)自减。当计数器值为0时,对象被认为是一个垃圾。此方法好处是短时间运行,不会长时间中断程序运行,缺点是无法处理循环引用,会让其他引用这个对象的引用为null ...
分类:
其他好文 时间:
2018-12-17 23:52:05
阅读次数:
170
垃圾回收机制,共享变量,线程栈,cas 集合类底层(arraylist扩容问题,hashmap,concurrenthashmap) mysql引擎,b+树 tcp三次握手四次挥手,https建立连接过程 cookie和session,浏览器cookie禁用后能否用session,不同域名间是否可以 ...
分类:
其他好文 时间:
2018-12-17 02:43:09
阅读次数:
216
一、标记清除算法 标记清除算法顾名思义,就是将需要回收的对象进行标记,然后进行清除。那么这个算法就有标记和清除两种过程。标记过程主要是通过可达性分析算法进行判断存活对象,然后遍历所有的对象来找到需要回收的对象,开始进行清除过程。 这种算法虽然非常的简单,但是也有很多缺点:1.效率问题,上面我们已经将 ...
分类:
编程语言 时间:
2018-12-17 02:41:02
阅读次数:
201