Java
腾云丶
这个作者很懒,什么都没留下…
展开
-
深入理解Java虚拟机读书笔记(9): 深入理解虚拟机的类加载机制<1>
深入理解Java虚拟机读书笔记(9): 深入理解虚拟机的类加载机制<1>所谓类加载机制,就是虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。在Java中,类型的加载、连接和初始化过程都是在程序运行期间完成。基于此特性,使得Java语言更加灵活,比如可以编写面向接口的程序在运行时再指定实现类;或者自己实现类...原创 2019-01-14 19:28:05 · 212 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(7): 深入理解垃圾收集器
深入理解Java虚拟机读书笔记(6): 深入理解垃圾收集器前面讨论的都是理论方面的只是,垃圾收集器则是内存回收的具体实现。在介绍这些不同的垃圾收集器之前,先介绍一些其他比较重要的概念。一、重要概念GC停顿GC停顿时,整个执行系统看起来就像被冻结在某个时间点上,不可以出现分析过程中对象引用关系还在不断变化的情况,该点不满足的话分析结果准确性就无法得到保证。Sun公司称之为“Stop The ...原创 2019-01-08 21:20:14 · 189 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(6): 深入理解垃圾回收算法
深入理解Java虚拟机读书笔记(6): 深入理解垃圾回收算法下面就几种最常见的垃圾回收算法进行简单介绍。一、标记-清除算法“标记-清除”(Mark-Sweep)算法是最基础的收集算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。不足:一个是效率问题,标记和清除两个过程的效率都不高另一个是空间问题,标记清除之后会产生大...原创 2019-01-08 15:46:10 · 184 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(5): 判定对象的死亡
深入理解Java虚拟机读书笔记(5): 判定对象的死亡通过前面的学习已经可以知道,Java内存运行时区域中的程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法进入和退出有规律的进行出栈和入栈操作。同时,每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的。因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者线...原创 2019-01-08 10:27:05 · 188 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(8): 深入理解类文件结构
深入理解Java虚拟机读书笔记(8): 深入理解类文件结构随着语言的发展,Java虚拟机已经不再仅仅是针对“Java”这一门语言而言了,语言无关性被越来越重视。虚拟机平台使用统一的程序存储格式字节码(ByteCode),实现平台无关性。然而,一大批在Java虚拟机上运行的语言如Clojure、Scala等发展越来越快。但是,实现语言无关性的基础仍然是虚拟机和字节码存储格式。 Java虚拟机不和包...原创 2019-01-12 20:06:45 · 227 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(3): JDK自带工具详解汇总(不断更新)
深入理解Java虚拟机读书笔记(3): JDK自带工具详解汇总(不断更新)对于初学者来说,学习Java时可能仅仅认识了java和javac两个命令,其他的命令没有基础过。其实jdk自带了非常多的非常好用的工具,在windows环境下,打开jdk下的bin目录,可以看到很多exe文件,如下图所示:同样的,在linux环境下jdk的bin目录下也一样提供了很多工具,这些是编译好的二进制可执行脚本...原创 2019-01-07 16:54:27 · 426 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(4): JVM参数类型分类
深入理解Java虚拟机读书笔记(3): JVM参数类型分类JVM有很多参数,一般可以分为三大类:标准参数、X参数和XX参数标准参数所谓标准参数,即一般化参数,往往是固定不变的,比如以下参数:-help-version 显式虚拟机类型 当前版本号等等这里注意JVM默认开启了mixmode混合模式,这意味着JVM在运行时可以动态的把字节码编译成本地代码-server、-cli...原创 2019-01-07 13:40:30 · 255 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(2): 深入理解HotSpot虚拟机对象
深入理解Java虚拟机读书笔记(2): 深入理解HosSpot虚拟机对象为了理解虚拟机中数据的细节,比如如何创建、如何布局以及如何访问,必须具体到某一虚拟机和某一个内存区域。此处深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。一、对象的创建反映到Java语言中,对象的创建通常不过是一个new关键字,然而反映到底层虚拟机上是如何呢?可以概括为以下三步:类加载: 虚...原创 2019-01-07 10:04:25 · 289 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(1):内存管理重要概念
深入理解Java虚拟机读书笔记(1):内存管理重要概念说到Java内存管理,不得不先贴一张非常经典的图,如下所示:这些模块有些是线程私有的,有的则是线程共享的。下面一一对这些模块进行介绍:一、程序计数器程序计数器一块比较小的内存空间,可以看做当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、 循环、 跳转、 异常处理、...原创 2019-01-06 22:05:30 · 194 阅读 · 0 评论 -
Java8源码阅读(2) ---LinkedList
一切仅在代码里,有错误欢迎指出package org.utils.MyCollection;import sun.awt.image.ImageWatched;import java.util.*;import java.util.function.Consumer;/** * 重写源码LinkedList */public class MyLinkedList<...原创 2018-07-27 21:30:50 · 1181 阅读 · 0 评论 -
Java8源码阅读(1) ---ArrayList
一切尽在代码里,有错误欢迎指出package org.utils.MyCollection;import sun.misc.SharedSecrets;import java.util.*;import java.util.function.Consumer;import java.util.function.Predicate;import java.util.function...原创 2018-07-26 20:59:24 · 1187 阅读 · 0 评论 -
idea返回撤销,还原Ctrl+Z掉的内容
晚上的时候手残了会将写好的代码Ctrl+Z撤销多了,结果将自己原本写好的给撤销没了,不过恢复的快捷键为:Ctrl+Shift+Z方可; 生活中好像好多都可以这么用。 1.Ctrl+z是撤销快捷键 2.如果想恢复Ctrl+z 掉的内容,按快捷键为:Ctrl + Shift + Z。方可转载 2017-08-06 16:03:24 · 3595 阅读 · 0 评论 -
Java中static关键字用法总结
静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法声明为static的方法有以下几条限制: · 它们仅能调用其他的static 方法。 · 它们只能访问static数据。 · 它们不能以任何方式引用this 或super。class Simple {static void go() { System.out.println("Welco转载 2017-07-05 17:22:44 · 1221 阅读 · 0 评论 -
命令行执行java文件
一、编译先用javac 命令进行编译 Windows系统下进入.java文件所在的目录,例如a.java。执行java a.java(注意此时文件带java后缀)编译Java文件二、执行退出包所在的根目录,例如包名叫org.fileTest,那么退出到org文件所在的目录,用java org.fileTest.a [参数](此时不带后缀!!!)执行原创 2017-07-03 23:00:57 · 1305 阅读 · 0 评论 -
IDEA快捷代码补全
用IDEA写JAVA代码逐渐成为主流。习惯用Eclipse的人可能会依赖以前的一些快捷操作。 在IDEA中,一些代码补全记录如下: 1. main函数: psvm 2. System.out.println(): sout原创 2017-06-29 17:55:06 · 1409 阅读 · 0 评论 -
Java中Date转Long 和Long转Date
Java代码如下: import java.text.SimpleDateFormat; import java.util.Date; public class DateAndLong { public static void main(String[] args) { SimpleDateFormat sdf=n原创 2017-04-27 22:18:00 · 13492 阅读 · 0 评论 -
MyBatis3 控制台打印SQL语句问题
MyBatis3 控制台打印SQL语句问题今天搞了半天,网上也查了很多资料,都是互相抄,没有一个起作用的。归结起来,主要不是log4j.properties文件的文件,大家的配置都差不多(可能都是互相抄)。下面贴一下我的配置:Rules reminder:DEBUG < INFO < WARN < ERROR < FATALGlobal logging configurationMy logging原创 2017-04-20 00:18:01 · 1673 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记(9): 深入理解虚拟机的类加载机制<2>
深入理解Java虚拟机读书笔记(9): 深入理解虚拟机的类加载机制<2>前面说到通过一个类的全限定名来获取描述此类的二进制字节流从而加载类,这个动作是在虚拟机外部实现的,以便实现自定义,实现这个动作的代码模块称为“类加载器”。一、类与类加载器对于任意一个类, 都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性, 每一个类加载器, 都拥有一个独立的类名称空间。...原创 2019-01-14 21:36:06 · 387 阅读 · 1 评论