static 静态的东西可以被该类所有的对象共享; 被存在方法区中的静态区中。 静态的东西可以直接用对象名调用,也可以用类名调用,但是推荐用类名调用; 假如不用类名调用的话,还得新建一个对象才可以调用。浪费空间。 静态的随着类的加载而加载进来,比创建对象要加载的早,非静态的东西随着对象的创建而存在, ...
分类:
其他好文 时间:
2020-07-23 16:42:14
阅读次数:
73
版权声明:源出处:尚硅谷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实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。 核心概述 1.一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 2.Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最 ...
分类:
其他好文 时间:
2020-07-15 12:57:51
阅读次数:
71
内存存储的区域由最高存储地址到最低存储地址依次为: 1. 命令行参数区:命令行参数和环境变量 2.栈区:局部变量,函数局部变量的存储在栈上创建,使用完自动销毁 3.堆区:动态分配内存,new和malloc申请内存大小在此区域 4.数据段 已初始化静态变量:初始化的全局变量和静态变量 未初始化静态变量 ...
分类:
其他好文 时间:
2020-07-12 20:41:53
阅读次数:
71
两个对象,一个是静态区的”xyz”,一个是用 new 创建在堆上的对象。 ...
分类:
其他好文 时间:
2020-07-05 15:48:34
阅读次数:
65
1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象, Class对象封装了类在方法区内的数据结构, ...
分类:
编程语言 时间:
2020-07-02 16:36:09
阅读次数:
42
题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1)O(1)。若使用更高时间复杂度算法不保证能通过。 如果您认为您的代码时间复杂度正确但是 TLE,可以尝试使用快速读入: inline int read() { in ...
分类:
编程语言 时间:
2020-06-29 13:51:12
阅读次数:
67
1.栈区(stack): 主要用于存储函数的参数和局部变量。栈区由系统进行内存管理,在函数执行完成时,系统自动释放栈区的内存, 而不需要用户的参与,整个程序的栈区的大小可以在编译器中由用户自行设定。 2.堆区 由用户手动申请,手动释放。 如果用户忘记对所申请的内存资源进行释放,该内存资源可能会在程序 ...
分类:
编程语言 时间:
2020-06-28 20:42:12
阅读次数:
51
Mybatis SqlSessionFactory 一、前言 使用Mybatis 首先是使用配置文件或者代码区生产SqlSessionFactory, 而Mybatis 提供了构造器SqlSessionFactoryBuilder。 它提供了一个类Configuration 作为引导,采用的是Bui ...
分类:
数据库 时间:
2020-06-28 09:15:35
阅读次数:
52