JVM运行时数据区 JVM运行时数据区 Java虚拟机栈每个线程在创建的过程中都会创建一个虚拟机栈,其内部保存着一个一个的栈帧(Stack Frame),每个栈帧对应着一个方法,线程私有的,生命周期与线程一致。 栈是一种快速有效的分配存储地址,访问速度仅次于程序计数器。只有入栈和出栈操作。 主管程序运行,它保存方法的局部变量(8种基本数据类型和对象的引用地址)和部分结果,并参与方法的调用与返回。 局部变量 VS 成 2023-03-10 Java #Java #JVM
JVM-垃圾回收GC JVM-垃圾回收GC什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 为什么需要GC? 如果没有GC,内存迟早会被消耗完 除了释放没用的对象,垃圾回收也可以清除内存里的记录碎片。碎片整理将所占用的堆内存移到堆的一端,以便jvm将整理出的内存分配给新的对象。 随着程序业务越来越庞大,复杂,没有GC就不能保证应用程序的正常运行 早期的垃圾回收:手动申请和释放 2023-03-10 Java #Java #JVM
RabbitMq学习笔记 RabbitMq学习笔记Erlang安装https://www.erlang-solutions.com/downloads/ 123456789101112131415#运行Package Cloud提供的RabbitMQ Server快速安装脚本curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-serv 2023-03-10 MQ > Middleware #Middleware #RabbitMq
RocketMq学习笔记 RocketMq学习笔记Quick Start12345> unzip rocketmq-all-4.9.4-source-release.zip > cd rocketmq-all-4.9.4-source-release/ # 改完配置需要重新编译 > mvn -Prelease-all -DskipTests clean install -U > cd distri 2023-03-10 MQ > Middleware #Middleware #RocketMq
多线程总结 多线程面试题总结Java并发volatile 关键字 保证可见性 volatile 关键字可以保证变量的可见性,如果我们将变量声明为 volatile ,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。 禁指令重排序 如果我们将变量声明为 volatile ,在对这个变量进行读写操作的时候,会通过插入特定的 内存屏障 的方式来禁止指令重排序。此外,如下方法也可以实现内存 2023-03-10 Interview #Interview #MultiThread
JVM总结 JVM多语言混合编程 jvm不仅仅能解释运行java程序,只要是编译后的字节码文件遵循jvm规范的语言都能被jvm执行。 JVM正在从Java语言的虚拟机向多语言虚拟机的方向发展,不同语言解决自己擅长的领域,最后全部使用JVM解释执行。 JVM种类 HotSpot JRockit IBM的J9 Graal VM 未来有可能会替代HotSpot虚拟机 前端编译器 JIT后端编译 2023-03-09 Java #Java #JVM
JVM——执行引擎 JVM——执行引擎 本地方法接口(JNI) 本地方法:非Java语言编写的方法 为什么要使用本地方法? Java需要与外面的环境进行交互 有些层次的任务用Java实现起来不容易,或者对效率很在意 与操作系统交互,操作系统用c语言实现 Sun’s Java,Sun的解释器使用c语言实现的 本地方法库:C语言编写的 为什么Java是半解释半编译型语言? JVM可以自由选择是通过解释器或者JIT编译 2023-03-09 Java #Java #JVM
Kafka学习笔记 Kafka学习笔记 安装 1brew install kafka 启动 12345# 启动zk 脚本位于/usr/local/opt/kafka/bin/zookeeper-server-start -daemon /usr/local/etc/kafka/zookeeper.properties# 启动kafka 脚本位于/usr/local/opt/kafka/bin/ kafka-se 2023-03-09 MQ > Middleware #Middleware #Kafka
IDEA使用技巧 IDEA使用技巧Debug调试 行断点 方法断点,在方法定义上打断点 方法是实现类:会在方法第一行停顿,以及方法结束前停顿,便于查看方法体内部的值的变化 方法是接口:当接口有多个实现类,使用方法断点,会自动跳转到接口的实现类 异常断点 异常断点会在代码出现异常时,自动停在出现异常的行 详细断点 按住Shift+左键 值断点 在属性定义的位置打断点,称为值断点; 作用:监控 2023-03-09 Tools #Idea
SBA集成Arthas SpringBoot Admin服务端创建SBA服务 服务端配置123456789server: port: 8888spring: application: name: sba-servermanagement: endpoint: health: show-details: always 客户端创建SBA客户端 新增依赖 不加此依赖服务起不来 12 2023-03-09 Arthas #Arthas #SBA