摘要:
6. Hashcode的作用 官方对于hashCode的解释如下: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode met 阅读全文
posted @ 2017-06-09 02:36
不会就问咯
阅读(365)
评论(0)
推荐(1)
摘要:
学习一门语言基础是非常重要的,因此本文总结了一些常见的Java基础问题的解答,希望可以帮到大家。 1. 九种基本数据类型的大小,以及他们的封装类。 9种基本数据类型 基本类型 包装类型 大小 boolean Boolean - byte Byte 8bit short Short 16bit int 阅读全文
posted @ 2017-06-09 02:35
不会就问咯
阅读(388)
评论(0)
推荐(1)
摘要:
这篇文章详细描述了Java虚拟机的内在结构。下面这张图来自《The Java Virtual Machine Specification Java SE 7 Edition》,它展示了一个典型的JVM的主要的内部结构。 接下来的2个部分,将详细介绍这幅图中所有组成结构。 第一部分涵盖了每个线程都会生 阅读全文
posted @ 2017-06-09 02:30
不会就问咯
阅读(351)
评论(0)
推荐(1)
摘要:
参数设置 在Java虚拟机的参数中,有3种表示方法用“ps -ef |grep "java"命令,可以得到当前Java进程的所有启动参数和配置参数: 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现 阅读全文
posted @ 2017-06-09 02:29
不会就问咯
阅读(4056)
评论(0)
推荐(0)
摘要:
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆。按照官方的说法:“ 阅读全文
posted @ 2017-06-09 02:28
不会就问咯
阅读(205)
评论(0)
推荐(0)
摘要:
这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。您可以选择自己的需要选择不同的操作系统和对应的JDK的版本,但还是推荐您使用Sun公司发布的JDK。 Tomcat配置JVM参数 Tomcat本身不能直 阅读全文
posted @ 2017-06-09 02:28
不会就问咯
阅读(743)
评论(0)
推荐(0)
摘要:
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别 阅读全文
posted @ 2017-06-09 02:27
不会就问咯
阅读(304)
评论(0)
推荐(0)
摘要:
16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析 阅读全文
posted @ 2017-06-09 02:27
不会就问咯
阅读(261)
评论(0)
推荐(0)
摘要:
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 堆栈是栈 JVM栈和本地方法栈划分 Java中的堆,栈和c/c++中的堆,栈 数据结构层面的堆,栈 os层面的堆,栈 JVM的堆,栈和os如何对应 为啥方法的调用需要栈 属于月经问题了,正好碰上有人问我这类比 阅读全文
posted @ 2017-06-09 02:26
不会就问咯
阅读(2009)
评论(0)
推荐(0)
摘要:
深入Java虚拟机,ClassLoader是其中重要的一个环节。看书+查资料+动手,整理出如下要点: 另附ClassLoader.loadClass与Class.forName的区别,主要在于是否初始化: from: https://yq.aliyun.com/articles/27110?spm= 阅读全文
posted @ 2017-06-09 02:24
不会就问咯
阅读(376)
评论(0)
推荐(0)
摘要:
原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 格式和部分内容稍作修改。 在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来 阅读全文
posted @ 2017-06-09 02:24
不会就问咯
阅读(772)
评论(0)
推荐(0)
摘要:
使用BCEL动态改变Class内容 之前对Class文件中的常量池,Method的字节码指令进行了说明。JVM Class详解之一JVM Class详解之二 Method字节码指令现在我们开始实际动手,使用BCEL改变字节码指令,对Class文件进行功能扩充。 先介绍下BCEL全程Apache By 阅读全文
posted @ 2017-06-09 02:18
不会就问咯
阅读(1011)
评论(0)
推荐(0)
摘要:
首先看Class中包含哪些信息简单的说所有Java文件中有的信息class文件都有,编译器帮我们将java文件转化成了JVM能看懂的class格式而已 Class 概述 Class文件是一组以8位字节为基础的二进制流,各个数据项目按照严格顺序紧凑排列在Class文件中。所有的16位,32位,64位长 阅读全文
posted @ 2017-06-09 02:17
不会就问咯
阅读(258)
评论(0)
推荐(0)
摘要:
一些不得不说的概念 JVM JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Ja 阅读全文
posted @ 2017-06-09 02:16
不会就问咯
阅读(288)
评论(0)
推荐(0)
摘要:
前言 现在市场上最常见的虚拟化软件有VMWare workstation(VMWare)、VirtualBox(Oracle)、Hyper-V(Microsoft)、KVM(Redhat)、Xen等,这些软件统称之为VMM(Virtual Machine Monitor),使用不同的虚拟化实现。而这 阅读全文
posted @ 2017-06-09 02:15
不会就问咯
阅读(2408)
评论(0)
推荐(0)
摘要:
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。 对JVM内存的系统级的调优主要 阅读全文
posted @ 2017-06-09 02:14
不会就问咯
阅读(230)
评论(0)
推荐(0)
摘要:
JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和 阅读全文
posted @ 2017-06-09 02:13
不会就问咯
阅读(162)
评论(0)
推荐(0)
摘要:
前言 在Java语言开发过程中,out of memory错误是很常见的一种错误。对于JVM的内存结构有更深入的了解,更更好的帮我们排查此类问题,有效的避免此类问题发生。在Java 8中内存结构有进行了改变,Metaspace替代了PermGen。 内存结构简介 JVM的内存结构如下图所示:(图片来 阅读全文
posted @ 2017-06-09 02:12
不会就问咯
阅读(201)
评论(0)
推荐(0)
摘要:
Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析 阅读全文
posted @ 2017-06-09 02:12
不会就问咯
阅读(181)
评论(0)
推荐(0)
摘要:
本文主要内容: 堆的回顾 串行收集器 并行收集器 CMS收集器 零、堆的回顾: 新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden 阅读全文
posted @ 2017-06-09 02:11
不会就问咯
阅读(214)
评论(0)
推荐(0)

浙公网安备 33010602011771号