jvm 编译原理
qq_14999907
这个作者很懒,什么都没留下…
展开
-
java面试重点4:多线程
引 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。 很多人都对其中的一些转载 2018-02-26 20:25:52 · 148 阅读 · 0 评论 -
java面试重点3:jvm的内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM(jvisualvm)。 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC转载 2018-02-26 19:11:32 · 2542 阅读 · 1 评论 -
java面试重点2 垃圾回收机制
垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。不过,Java即使有了GC仍然会出现内存泄漏的情况,这个我们最后在进行讨转载 2018-02-26 18:57:20 · 177 阅读 · 0 评论 -
java面试重点1:jvm的内存管理机制
2.1 方法区 方法区存放了要加载的类的信息(如类名,修饰符)、类中的静态变量、final定义的常量、类中的field、方法信息,当开发人员调用类对象中的getName、isInterface等方法来获取信息时,这些数据都来源于方法区。方法区是全局共享的,在一定条件下它也会被GC。当方法区使用的内存超过它允许的大小时,就会抛出OutOfMemory:PermGen Space异常。 在转载 2018-02-26 12:38:34 · 184 阅读 · 0 评论 -
java编译器原理 javac
javac编译的过程 javac 是一种编译器,能将一种语言规范转化成另外一种语言规范,通常编译器都是将便于人理解的语言规范转化成机器容易理解的语言规范,如c/c++或者汇编语言都是将源代码直接编译成目标机器码,这个目标机器代码是cpu直接执行的指令集合。这些指令集合也就是底层的一种语言规范。 javac的编译器也是将java这种对转载 2017-11-19 19:43:49 · 807 阅读 · 0 评论 -
jvm编译运行(1)
Java程序编译和运行的过程(在学习反射机制的时候 ,对于动态代理和静态代理的区分,需要深层次的理解。) Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由j转载 2017-11-18 18:29:11 · 165 阅读 · 0 评论 -
jvm编译运行(2)
Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制类加载机制类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表注解处理语义分析和生成cla转载 2017-11-18 18:43:00 · 121 阅读 · 0 评论 -
学习笔记 学习jvm 原理 最基本概念(编译与运行概念)
Java编译时与运行时很重要的概念。 编译期和运行期进行的操作是不相同的,编译器只是进行语法的分析,分析出来的错误也只是语法上的错误,而运行期在真正在分配内存。 编译时是调用检查你的源程序是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。 运行时是java虚拟机解释执行字节码文件。 基础概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢转载 2017-11-18 18:53:22 · 144 阅读 · 0 评论 -
java面试重点4.1:多线程
首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。 正文 线程与进程 1 线程:进程中负责程序执行的执行单元 线程本身依靠程序进行运行 线程是程序中的转载 2018-02-27 19:07:51 · 138 阅读 · 0 评论