版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 本地方法接口 在讲Java虚拟机运行时数据区中本地方法栈之前,我们先来说说运行时数据区之外的一个叫本地方法接口的东西简称JNI(Java Native Interface) 简单来讲,一个Native Method就是一个java调用非java代码 ...
分类:
其他好文 时间:
2020-07-17 14:14:23
阅读次数:
84
版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 本地方法栈 1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用 2.本地方法栈,也是线程私有的。 3.允许被实现成固定或者是可动态拓展的内存大小。(和Java虚拟机栈在内存溢出方面情况是相 ...
分类:
其他好文 时间:
2020-07-17 14:11:21
阅读次数:
79
版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 年轻代与老年代 1.存储在JVM中的java对象可以被划分为两类: 一类是生命周期较短的瞬时对象,这类对象的创建和消亡都非常迅速 另外一类对象时生命周期非常长,在某些情况下还能与JVM的生命周期保持一致 2.Java堆区进一步细分可以分为年轻代(Y ...
分类:
其他好文 时间:
2020-07-17 13:59:31
阅读次数:
93
版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 新概念:TLAB(堆当中的线程私有缓存区域) 为什么有TLAB(Thread Local Allocation Buffer) 众所周知堆区是线程共享区域,任何线程都可以访问到堆区中的共享数据。由于对象实例的创建在JVM中非常频繁,因此在并发环境下 ...
分类:
编程语言 时间:
2020-07-17 13:57:11
阅读次数:
65
当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 一、类加载过程1.加载 加载指的是将类的class文件读入到内存,并为之创建一个java.lan ...
分类:
编程语言 时间:
2020-07-17 11:39:42
阅读次数:
65
声明:本文摘抄自:https://blog.csdn.net/u010349169/column/info/jvm-principle 作为Java程序猿,我们知道,我们写好的.java 源代码,最后会被Java编译器编译成后缀为.class的文件,该类型的文件是由字节组成的文件,又叫字节码文件。那 ...
分类:
其他好文 时间:
2020-07-17 11:32:30
阅读次数:
66
反射机制的应用和获得反射对象 Java反射优点和缺点 优点 可以实现动态创建对象和编译,体现出很大的灵活性 缺点 对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它满足我们的要求。这类操作总是慢于直接执行相同的操作。 反射相关的主要API java.lang.Cla ...
分类:
其他好文 时间:
2020-07-17 01:22:24
阅读次数:
108
常考 大数乘法 题目链接:https://leetcode-cn.com/problems/multiply-strings/ class Solution { public: string multiply(string num1, string num2) { string res(num1.s ...
分类:
编程语言 时间:
2020-07-16 12:20:14
阅读次数:
64
大数据时代随之而来的就是并发问题。Java开发本身提供了关于锁的操作。我们知道的有Synchronized。 这个是JVM层面的锁。操作简单 Lock的由来 因为Synchronized简单所以不可控制,或者说不是很灵活。Synchronized是已块进行执行加锁的。这个时候我们需要通过Lock进行 ...
分类:
编程语言 时间:
2020-07-16 11:46:11
阅读次数:
56
简介 JVM在运行的时候会对class文件进行加载,链接和初始化的过程。class文件中定义的常量池在JVM加载之后会发生什么神奇的变化呢?快来看一看吧。 class文件中的常量池 之前我们在讲class文件的结构时,提到了每个class文件都有一个常量池,常量池中存了些什么东西呢? 字符串常量,类 ...
分类:
其他好文 时间:
2020-07-16 11:44:07
阅读次数:
41