上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 1.前言 在进行垃圾收集之前需要普及几个比较重要的概念。 2.内存溢出和内存泄露的概念和区别: (1):内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间可以分配,系统不能满足需求,出现了out of memory;比如申请了一个int,但是它存了long才能存下的数, 阅读全文
posted @ 2017-11-02 12:21 申公 阅读(1070) 评论(0) 推荐(0) 编辑
摘要: 这里汇总一些平时用到的、看到的一些虚拟机参数: (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要 阅读全文
posted @ 2017-11-02 09:51 申公 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1.对象创建 Java是一门面向对象的语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(克隆、反序列化)就是一个new关键字而已,但是虚拟机层面上却不是如此。看一下在虚拟机层面上创建对象的步骤: 对象的建立过程 图一:对象建立过程 1、类加载检查。 当JVM检测到有一条 阅读全文
posted @ 2017-11-01 18:47 申公 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 1.前言 上一篇我们介绍了java的内存区域结构,这一篇,模拟内存溢出的几个场景,下面一个图是总体的指导思想: 2.Java堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不被回收,那么对象数量达到最大堆容量限制后就会产生内存溢出异常了。所以测试的时候把堆的大小固定住并且让 阅读全文
posted @ 2017-10-31 20:26 申公 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 1.几个计算机的概念 为以后写文章考虑,也为巩固自己的知识和一些基本概念,这里要理清楚几个计算机中的概念。 1、计算机存储单位 从小到大依次为位Bit、字节Byte、千字节KB、兆M、千兆GB、TB,相邻单位之间都是1024倍,1024为2的10次方,即: 1Byte = 8bit 1K = 102 阅读全文
posted @ 2017-10-31 18:17 申公 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 1.前言 由于后期学习需要用到大量的JVM底层的东西,所有本人调整了一下学习计划,打算先从JVM入手,了解整个JAVA的运行机制,内存模型,编译原理等等一些底层的东西,这样在学习 后面的东西,会有一种豁然开朗的感觉。后期的内容有从网上直接复制粘贴的内容,但是大部分的内容都是经过自己整理后的,我觉得参 阅读全文
posted @ 2017-10-27 18:02 申公 阅读(1569) 评论(0) 推荐(1) 编辑
摘要: 1. 前言 在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。 2.Class.getResource(String path) path不以'/'开头时,默认是从此类所在的包下取资源; path以'/'开头 阅读全文
posted @ 2017-10-26 16:13 申公 阅读(8833) 评论(0) 推荐(4) 编辑
摘要: 可变对象(immutable)和不可变对象(mutable) 这个是之前一直忽略的一个知识点,比方说说起String为什么是一个不可变对象,只知道因为它是被final修饰的所以不可变,而没有抓住不可变三个字的重点: 1、不可变对象就是那些一旦被创建,它们的状态就不能被改变的对象,每次对它们的改变都是 阅读全文
posted @ 2017-10-24 19:13 申公 阅读(2177) 评论(1) 推荐(0) 编辑
摘要: 1.前言 之前对动态代理的技术只是表面上理解,没有形成一个体系,这里总结一下,整个动态代理的实现以及实现原理,以表述的更清楚一些。 2.动态代理的实现应用到的技术 1、动态编译技术,可以使用Java自带的JavaCompiler类,也可以使用CGLIB、ASM等字节码增强技术,Java的动态代理包括 阅读全文
posted @ 2017-10-24 16:25 申公 阅读(3677) 评论(0) 推荐(0) 编辑
摘要: java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表 阅读全文
posted @ 2017-10-24 09:47 申公 阅读(9971) 评论(0) 推荐(2) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页