个人简介

Echo Blog


江湖无名 安心练剑
  • JVM-04-GC
    GC 概念 在计算机科学中,垃圾收集(GC)是一种自动内存管理方式。 垃圾收集器,或者仅仅是收集器,试图回收垃圾,或者被程序不再使用的对象占用的内存。 垃圾收集是John McCarthy在1959年左右发明的,用于简化Lisp中的手动内存管理 垃圾收集本质上与手动内存管理相反,手动内存管理要求程序员指定释放和返回内存系统的对象。然而,许多系统使用多种方法的组合,包括堆栈分配和区域...
    2018-10-08 02:04:06 | Java
  • JVM-03-OOM
    OOM 为什么要知道 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; 2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的定位问题的位置,缩短解决故障的时间。 概念 内存泄露 指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。 ...
    2018-10-08 02:04:06 | Java
  • JVM-02-JMM 运行时内存模型
    运行时内存模型 相关内容参见 java 运行时内存模型 直接内存 特征 直接内存并非 JVMS 定义的标准 Java 运行时内存。 直接内存区域是全局共享的内存区域。 直接内存区域可以进行自动内存管理(GC),但机制并不完善。 本机的 Native 堆(直接内存) 不受 JVM 堆内存大小限制。 可能出现 OutOfMemoryError 异常。 nio ...
    2018-10-07 23:19:52 | Java
  • JVM-02-HotSpot 虚拟机对象探秘
    对象的内存布局 在 HotSpot 虚拟机中,对象的内存布局分为以下 3 块区域: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding) 对象头 对象头记录了对象在运行过程中所需要使用的一些数据: 哈希码 GC 分代年龄 ...
    2018-10-07 23:19:52 | Java
  • JVM-01-jvm ovewview
    Java 技术体系 组成部分 java 编程语言 jvm class 文件格式 API 类库 其他三方库 JDK 与 JRE JDK java 编程语言、API 类库、JVM 开发环境 JRE Java SE API、JVM 运行环境 Java技术体系的...
    2018-10-07 23:19:52 | Java
  • JVM-00-what is jvm
    什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。 但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。 在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。 如果你有不同的理解,欢迎交流。 我们都知道java程序必须在虚拟机上运行。 那么虚拟机到底是什么呢? 先看网上搜索...
    2018-10-07 23:19:52 | Java
  • database Jdbc-03-fetchsize
    聊聊jdbc statement的fetchSize 在使用MySQL的JDBC时,如果查询结果集过大,使用一次查询,可能会出现Java.lang.OutOfMemoryError: Java heap space问题,因为DB服务器端一次将查询到的结果集全部发送到Java端保存在内存中而造成OOM。 MySQL JDBC需要一条SQL从数据库读取大量数据,而不发生JVM OOM,可以采...
    2018-10-07 06:51:25 | Database
  • database Jdbc-02-PreprareStatement & Statement
    执行计划的区别 以Oracle为例吧 Statement为一条Sql语句生成执行计划, 如果要执行两条sql语句 select colume from table where colume=1; select colume from table where colume=2; 会生成两个执行计划 一千个查询就生成一千个执行计划! PreparedStatement用于使用绑定...
    2018-10-07 06:51:25 | Database