常用Dos命令 JAVA语言开发环境 1. JAVA虚拟机——JVM + JVM (Java Virtual Machine):即 JAVA虚拟机 ,简称JVM,是Java程序的运行环境。Java代码就在JVM中运行。 + 我们编写的程序在JVM上运行,只要有这个环境,用Java编写的软件就能在任何 ...
分类:
编程语言 时间:
2020-05-10 01:24:47
阅读次数:
71
2.2 HotSpot虚拟机中的对象 2.2.1 对象的创建 注意:这里所指的对象限于普通Java对象,不包括数组和Class对象等 当Java虚拟机遇到一条new的字节码指令时,会触发对象创建。 总结1 HotSpot中的对象创建过程: (1)首先将去检查这个指令的参数是否能在常量池( Java方 ...
分类:
其他好文 时间:
2020-05-09 16:43:18
阅读次数:
66
在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进 ...
分类:
其他好文 时间:
2020-05-09 10:46:43
阅读次数:
65
1.Java设置环境变量设置的系统环境变量,不是用户环境变量 2.java_home环境变量 使得其他相关环境变量的配置更加方便。 3.java文件的编译,需要到该文件的路径下。运行时使用的命令是 java 类名(并且没有后缀名.class) 4. classpath作用:java命令 从哪里加载字 ...
分类:
编程语言 时间:
2020-05-08 23:14:00
阅读次数:
114
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线 ...
分类:
编程语言 时间:
2020-05-07 13:46:31
阅读次数:
73
一、反射 1.在Java虚拟机种,只有一个类,所有使用使用反射机制的时候,创建多少个引用都是指向同一个类的。 2?.通过Class类对象创建java对象 package com.bjpowernode.java_learning; import com.bjpowernode.java_learni ...
分类:
编程语言 时间:
2020-05-07 00:48:40
阅读次数:
69
[TOC] 当BufferedReader读取输入流中的数据,如果没有读到有效数据,程序将阻塞该线程的执行(使用InputStream的read()方法从流中读取数据时,如果数据源中没有数据,它也会阻塞线程),也就是传统的输入流、输出流都是阻塞式输入、输出。不仅如此传统的输入流、输出流都是通过字节的 ...
分类:
其他好文 时间:
2020-05-06 21:31:28
阅读次数:
71
JVM 的生命周期 虚拟机的启动 Java 虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。 虚拟机的执行 一个运行中的 Java 虚拟机有着一个清晰的任务:执行 Java 程序。 ...
分类:
其他好文 时间:
2020-05-06 10:33:13
阅读次数:
81
一、Java虚拟机 JVM (java Virtual Machine) 平台无关性 :平台(硬件+软件) 安全性: 沙箱(放置不可靠java程序) 网络移动性: Java Applet(Java 小应用) 抽象规范 一个具体实现 一个运行中的虚拟机实例 运行时java虚拟机(JVM)天职:负责运行 ...
分类:
编程语言 时间:
2020-05-06 01:41:48
阅读次数:
74
Java虚拟机运行时数据区图 程序计数器 程序计数器,可以看作当前线程所执行的字节码的行号指示器 它是线程私有的。 Java虚拟机栈 线程私有的,生命周期与线程相同。 每个方法被执行的时候都会创建一个"栈帧",用于存储局部变量表(包括参数)、操作数栈、动态链接、方法出口等信息。 局部变量表存放各种基 ...
分类:
其他好文 时间:
2020-05-05 11:10:19
阅读次数:
62