1、面试JVM借鉴 (学习:B站:狂神说) JVM原型 理解各个区域 栈 首先栈是由一个个栈帧组成,栈不可以阻塞(线程级别) 栈内存中是由一个个栈帧组成 栈里都有啥 8大基本类型 对象引用 实例的方法(递归的本质就是压栈,弹栈) 方法区 方法区是特殊的堆,所有线程共享,所有定义的方法的信息 方法区里 ...
分类:
其他好文 时间:
2020-10-27 10:55:26
阅读次数:
14
运行时数据区域 1)程序计数器 一块较小的内存空间,是当前线程所执行的字节码的行号指示器。 线程私有 线程执行Java方法,记录的是正在执行的虚拟机字节码指令的地址。执行Native方法,计数器值为空。 2)Java虚拟机栈 每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接 ...
分类:
编程语言 时间:
2020-10-06 21:00:21
阅读次数:
33
突击并发编程JUC系列演示代码地址: https://github.com/mtcarpenter/JavaTutorial 小伙伴们,大家好,我们又见面了,突击并发编程 JUC 系列实战原子引用马上就要发车了。 原子引用 AtomicReference 类提供了对象引用的非阻塞原子性读写操作,对比 ...
分类:
其他好文 时间:
2020-09-24 21:55:36
阅读次数:
31
问题: JVM安全点是什么概念? finally是如何实现的?finally中抛出异常会怎么样? 1.JVM安全点是什么概念? 安全点就是某些记录线程此时调用栈、寄存器等一些重要的数据区域里什么地方包含了GC要管理的指针(对象引用),而这些对象引用是通过OopMaps结构进行记录的,可以直接通过对O ...
分类:
其他好文 时间:
2020-09-17 22:19:26
阅读次数:
33
那些年,我们踩过的 Java 坑 1.对象比较方法 JDK1.7提供的Objects.equals方法,非常方便地实现了对象的比较,有效地避免了繁琐的空指针检查。 1.1.问题现象 在JDK1.7之前,在判断一个短整型、整型、长整型包装数据类型与常量是否相等时,我们一般这样写: Short shor ...
分类:
编程语言 时间:
2020-09-08 20:48:51
阅读次数:
48
1 在JavaScript中的变量分别区分为两种: 一种为基本类型值,一种为应用类型值。 基本类型值指的是简单的数据段 引用类型值为可能由多个值组成的对象 引用类型的值是保存在内存中的对象,JavaScript不允许直接操作对象的内存空间,实际上操作对象的引用而不是实际对象。 var dada = ...
分类:
编程语言 时间:
2020-08-20 19:23:10
阅读次数:
112
内存分析 内存分析: Java内存分析: 堆: 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈: 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区: 可以被所有的线程共享 包含了所有的class和static变量 三 ...
分类:
编程语言 时间:
2020-07-31 14:06:11
阅读次数:
77
数据类型的分类和判断 基本(值)类型 Number 任意数值 typeof String 任意字符串 typeof Boolean true/false typeof undefined undefined typeof/ null null 对象(引用)类型 Object typeof/insta ...
分类:
Web程序 时间:
2020-07-25 23:15:50
阅读次数:
77
一、背景在企业网站后台系统中,一般会将网站统计单元进行独立设计,比如登录人数的统计、IP数量的计数等。在这类需要完成全局统计的过程中,就会用到单例模式,即整个系统只需要拥有一个计数的全局对象。在网站登录这个高并发场景下,由这个全局对象负责统计当前网站的登录人数、IP等,即节约了网站服务器的资源,又能保证计数的准确性。二、单例模式1、概念单例模式是最常见的设计模式之一,也是整个设计模式中最简单的模式
分类:
其他好文 时间:
2020-07-22 20:18:56
阅读次数:
58
变量、对象、引用之间的关系 变量是一个系统表的元素,拥有指向对象的连接的空间 对象是被分配的一块内存,存储其所代表的值 引用是自动形成的从变量到对象的指针 类型属于对象,不是变量 对象 Python中一切皆对象,如:1,'a',[1,2,3],(1,),{'a':4} 变量 a=3,a就是一个变量 ...
分类:
编程语言 时间:
2020-07-21 09:35:53
阅读次数:
79