logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JDK8常量池的分析

常量池的分类一说到常量池,感觉都能讲几句,常量池位于方法区,存放类变量、字符串等……这种说法都是一知半解,如果详细介绍常量池,至少得先说出是哪个版本的JDK以及哪个虚拟机,因为每个版本的内存分配实现方式是不一样的。此处我以JDK8和hotspot虚拟机做个总结。首先常量池的物理位置:1、方法区;2、堆中。方法区常量池JDK8方法区在元数据内存,不占用堆内存,也就是说你用-Xms -Xmx指定的堆内

jvm栈深度

什么是栈深度每个jvm虚拟机的内存大小都是有限的,jvm虚拟机主要包括堆、虚拟机栈、本地(native)方法栈、程序计数器、方法区……此处说的栈指的是虚拟机栈。这个虚拟机栈的大小是 有限的,如果在同一个时刻执行很多方法(用极限的思想,假设有接近无穷个函数在同一个时间点执行),那所需要的内存是巨大的,超过了栈内存大小,就抛出栈溢出(StackOverflow)异常。栈深度可以通过函数调用自身,同时记

证明SPI打破双亲委派

1、什么是双亲委派?注:此处直接摘抄周志明老师的《深入理解java虚拟机》​站在Java虚拟机的角度来看,只存在两种不同的类加载器:一种是启动类加载器(BootstrapClassLoader),这个类加载器使用C++语言实现[1] ,是虚拟机自身的一部分;另外一种就是其他所有的类加载器,这些类加载器都由Java语言实现,独立存在于虚拟机外部,并且全都继承自抽象类java.lang.ClassLo

#spring
Ubuntu使用VNC卡顿问题

现象我用的Linux Mint系统,属于Ubuntu系,因为个人喜欢KDE桌面,所以安装好系统后又按了一个KDE环境。使用默认的Can桌面vnc连接是没有问题,但是使用KDE时,如果你没有接显示器,是非常卡,接入显示器会发现马上不卡了。解决参考遗留问题这种方法的分辨率最大支持13660x768,我的显示屏是1920*1080的,无法做到最佳显示。,...

vue和webpack在控制台隐藏源码

环境vue2.6,vue-cli3,webpack场景生产环境在控制台隐藏源码,第一个好处起到安全保护作用,第二是增加网站响应速度,下载源码包是是很慢的如下图,F21后在Source中可以看到源码,我们要做的是隐藏webpack隐藏后如下配置方法在vue.config.js中添加productionSourceMap:false遇到的坑之前我的生产环境的配置文件是.env.prod,导致配置一直不

VUE项目中一直自动发送websocket请求

vue中的websocket1. 背景原因说明1. 背景去年开始学习vue,用vue写了远程视频+聊天的程序,其中聊天用的是websocket。但是最近我发现vue项目即使不引入websocket包,在依赖中也会自动下载,并且每次在浏览器控制台会多一个websocket的请求,因为之前是用的socket聊天,所以我以为这个websocket是我引入的,知道最近我才发现不是这样的。下图是一个直接用w

#vue.js
Spring源码分析之BeanPostProcessor

文章目录1. BeanPostProcessor介绍1.1 postProcessBeforeInitialization方法和postProcessAfterInitialization方法调用时机2. 再看看BeanPostProcessor能做什么,有什么使用场景1. BeanPostProcessor介绍打开源码里面有两个方法,分别是postProcessBeforeInitializat

#spring#java
ruoyi通过oauth对接pig实现sso流程讲解

讲解ruoyi对接pig项目实现单点登录的流程,主要就是oauth2的流程分析

#前端
webrtc音频流的融合

背景用webrtc做了个录屏功能,但是领导要求,录屏要有声音,不仅包含本地麦克风还要能录制会议中其他人的声音。音频流融合,核心代码说明:我是在peerconnection的时候,监听ontrack事件,在事件的回调函数中获取远端的音频track,然后放入一个map对象,key为用户id,value为音频的track对象。第一行navigator.mediaDevices.getUserMedia(

到底了