- 博客(47)
- 收藏
- 关注
原创 MybatisPlus框架属性自动填充【基于MetaObjectHandler接口】
MybatisPlus属性自动填充MetaObjectHandler接口
2022-08-09 23:52:04
459
原创 一篇文章掌握整个JVM,JVM超详细解析。【持续更新 康师傅yyds】
JVM整体知识体系深度学习一、JVM与Java体系结构。前言是否遇到过一下问题。运行的线上系统突然卡死,系统无法访问,甚至直接OOM【OutOfMemory 内存溢出】JVM GC问题新项目上线前、JVM参数设置。JVM面试原理概念性东西不清楚。调优、GC问题等解决方案不了解。垃圾收集机制为我们打理了很多繁琐的工作、大大提高了开发的效率 。但是垃圾收集也不是万能的,懂得JVM内部的内存结构、工作机制,是设计高拓展性应用和诊断运行时问题的基础,也是Java工程师进阶的必备能力。
2022-05-19 09:21:24
1631
原创 JVM整体知识体系深度学习__对象的实例化内存布局与访问定位【持续更新】
十、对象的实例化内存布局与访问定位。1、对象的实例化对象创建方式new创建对象是最常见的方法、其他还有Xxx的静态方法、XxxBuilder/XxxFacroty的静态方法。Class的newInstance() : 反射的方式、只能调用空参的构造器,权限必须是public。Constructor的newInstance(Xxx) : 反射的方式。可以调用空参、或者带参的构造器。权限没有要求。clone() : 不调用任何构造器,当前类需要实现Cloneable接口,实现clone()方法
2022-05-17 00:03:33
236
原创 JVM整体知识体系深度学习__直接内存【持续更新】
十一、直接内存 【Direct Memory】不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是在Java堆外的、直接向系统申请的内存区间。来源于NIO ,通过存在堆中的DirectByteBuffer操作Native内存通常,访问直接内存的速度会优于Java堆。即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区传统文件读取写入操作过程。JVM写入数据到物理磁盘。首先要写
2022-05-17 00:01:51
84
原创 JVM整体知识体系深度学习__方法区【持续更新】
九、方法区【重点】9.1、栈、堆、方法区的交互关系整体数据区情况9.2、方法区的理解《Java虚拟机规范》中明确说明:"尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。” 但对于Hot Spot JVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。所以,方法区看作是一块独立于Java堆的内存空间。方法区(Method Area)与ava堆一样,是各个线程共享的内存区域。方法区在JVM启动的时候被创建,并
2022-05-16 17:15:55
146
原创 Java_jdk多版本切换。【基于环境变量】
Java_jdk多版本切换。【基于环境变量】1、为什么要多版本切换。开发过程中新老项目开发难免jdk版本不一致。而且jdk版本在1.7、1.8、11三个大版本之间变化比较大。比如JVM的永久代和元空间、集合中HashMap底层源码实现等等。所以多准备几个方便切换的版本是有必要的。2、首先准备好 多个版本JDK下载访问oracle官网:http://www.oracle.com在首页点击Downloads,进入oracle软件下载页。在下载页面,点击Java。选择Jav
2022-05-15 21:25:41
504
原创 JVM整体知识体系深度学习__本地方法栈与本地方法接口【持续更新】
六、本地方法接口6.1、所处位置6.2、什么是本地方法? 一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现。比如C语言。这个特征并非Java所特有,很多其他的变成语言都有这样一个机制。比如在C++中,你可以用extern ‘C’ 告知C++编译器区调用一个C的函数。 在定义一个native method时,并不提供实现体(有些像定义一个Java interface) ,因为其实现体是由
2022-05-14 23:01:51
90
原创 JVM整体知识体系深度学习__堆【持续更新】
八、堆 (Heap)【重点】8.1、堆的核心概述一个JVM实例只存在一个堆内存、堆也是Java内存管理的核心区域。进行验证JVM是否与堆内存一一对应。设置两个线程。分别设置他们最大最小堆空间。-Xms10m -Xmx10m-Xms20m -Xmx20m在JDK的bin包中找到 jvisualvm.exe 执行.另外一种查看方式 IDEA里插件里安装VisualGC 重新运行IDEA从右下角可以看到查看窗口。Java堆区在JVM启动的时候即被创建、其
2022-05-14 22:56:36
145
原创 JVM整体知识体系深度学习__虚拟机栈【持续更新】
五、虚拟机栈5.1、虚拟机栈出现的背景由于跨平台型的设计、Java的指令都是根据栈来设计的。不同平台CPU架构不同、所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降。实现同样的功能需要更多的指令。5.2、内存中的栈与堆栈是运行时的单位、而堆是存储的单位栈解决程序的运行问题、即程序如何执行、或者说如何处理数据,堆解决的是数据存储的问题,即数据怎么放、放在哪里.5.3、简介Java虚拟机栈是什么Java虚拟机栈(Java Virtual Machine S
2022-05-13 18:04:26
296
原创 JVM整体知识体系深度学习__程序计时器 (PC寄存器)【持续更新】
四、程序计时器 (PC寄存器)4.1、简介- JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能运行。- 这里的寄存器、并非广义上所指的物理寄存器,或许将其翻译为PC计数器会桁架贴切(也称程序钩子),并且也不容易引起不必要的误会。**JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟**。作用: PC寄存器用来存储指向下一条指令的地址。也就是将要执行的指
2022-05-12 23:48:20
223
原创 JVM整体知识体系深度学习__运行时数据区概述及线程【持续更新】
三、运行时数据区概述及线程JDK1.8之后数据区。【在下面详细介绍】3.1、内存的概念 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略。保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规划,来探讨一下经典的JVM内存布局。3.2、数据区内部线程所属 Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会
2022-05-12 23:47:16
73
原创 JVM整体知识体系深度学习__类加载子系统【持续更新】
二、类加载子系统1.1、内存结构1.2、类加载器与类加载过程1、类加载器:类加载器子系统负责从文件系统或网路中加载Class文件,class文件在文件开头有特定的文件标识。【CA FE BA BE】ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。加载的类信息存放在一块称为方法区的内存空间。除了类的信息外、方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)
2022-05-12 19:07:27
85
原创 JVM整体知识体系深度学习__JVM与Java体系结构【持续更新】
JVM整体知识体系深度学习一、JVM与Java体系结构。前言是否遇到过一下问题。运行的线上系统突然卡死,系统无法访问,甚至直接OOM【OutOfMemory 内存溢出】JVM GC问题新项目上线前、JVM参数设置。JVM面试原理概念性东西不清楚。调优、GC问题等解决方案不了解。垃圾收集机制为我们打理了很多繁琐的工作、大大提高了开发的效率 。但是垃圾收集也不是万能的,懂得JVM内部的内存结构、工作机制,是设计高拓展性应用和诊断运行时问题的基础,也是Java工程师进阶的必备能力。
2022-05-11 20:52:47
361
原创 Spring里、配置application.yaml、bootstrap.yaml application.properties、bootstrap.properties他们的区别。
Spring里、配置application.yaml、bootstrap.yaml application.properties、bootstrap.properties他们的区别。
2022-05-06 14:20:29
1992
原创 JavaScript_BOM简介
JS_BOM简介1、什么是BOM浏览器对象模型 BOM可以使我们通过JS来操作浏览器2、BOM对象Window- 代表整个浏览器的窗口 同时window也是网页中全局对象Navigator- 网景前身 代表当前浏览器的信息 通过对象可以来识别不同的浏览器由于历史原因 navigator对象中的属性已经不能帮助我们获取正确属性了一半我们只会使用userAgent来判断浏览器信息1、 获取浏览器信息console.log(window.navigator.userAgent)
2022-05-04 15:24:56
354
原创 git 拉取项目报错: unable to get local issuer certificate
unable to get local issuer certificateunable to access ‘xxxx’: SSL cert… unable to get local issuer certificate出现情况:1、 Vue 执行拉取npm install 某些文件时、可能会出现2、 Git拉取项目出现问题解决方式: 直接去掉git的SSL验证git config --global http.sslVerify false原因分析: 当你通
2022-04-08 16:34:05
1019
原创 分析型数据库__ClickHouse_ 深度学习
分析型数据库__ClickHouse_ 深度学习文章目录分析型数据库__ClickHouse_ 深度学习一、ClickHouse概述1.1、什么是ClickHouse1.2、什么是列式存储1.3、DBMS 的功能1.4、多样化引擎1.5、高吞吐写入能力1.6、数据分区与线程级并行二、安装三、基本数据类型3.1、整形3.2、浮点型3.3、布尔型3.4、字符串3.5、Decimal型3.6、时间类型3.7、复杂类型3.8、特殊类型四、表引擎4.1、表引擎的使用4.2、MergeTree家族MergeT
2022-04-02 10:03:56
1879
原创 Xshell连接虚拟机
二、Xshell连接虚拟机这里采用的NET模式①、打开虚拟机设置、确保网络连接模式为Nat②、设置VMware虚拟网络编辑器 选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(若勾选,会设置动态IP)③、点击NAT设置。 上图中192.168.182.2为网关地址,192.168.182.255为广播地址,192.168.182.0一般为网段IP,所以0,2,255这三个地址不能设置。④、设置虚拟机的IP 设置IP地址、子网掩码和网关, 设置保存。
2022-03-31 09:27:35
9110
1
原创 VMware启动虚拟机蓝屏解决方式
VMware启动虚拟机蓝屏解决方式症状:蓝屏好喝的钙。解决方式一: 检查虚拟化是否开启。 若未开启进入BIOS进行开启解决方式二:检查VMware版本据了解14的某些版本会出现问题。 找到最新或者稳定版本进行更新。解决方式三:启动虚拟机平台进入控制面板、找到程序找到启动或关闭Windows功能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SbWozsBi-1648484261467)(…/AppData/Roaming/Typora/t
2022-03-29 00:18:45
11462
原创 Vue初始项目搭建【基于脚手架】
Vue项目搭建。首先检查 node npm 版本。满足要求即可。安装vue脚手架 (vue-cli)npm install -g vue-cli安装webspacknpm install -g webpack新建项目位置 例如如下图(D:vue_workspace2 )cmd进入目录。 并初始化webpackvue init webpack xxx 出现如上内容即可内容默认全部回车跳过即可内容基本搭建完成 文件夹内容基本如下cd 进入新项目、进
2022-03-23 22:01:49
292
原创 Redis最全数据类型详介及复杂度标识【面试必备】
Redis数据类型以及复杂度。一、String应用:String结构使用非常广泛、最常见的就是缓存用户信息。将用户信息结构体使用JSON序列化成字符串、存入redis中、获取时再将value反序列化成目标对象。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。常用操作储存 set key value 时间复杂度 O(1)Max_:1>set username Max获取 get key
2022-03-22 08:59:04
766
原创 前端标签命名规范
前端开发手册_命名规范头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center登录条:loginbar标志:logo广告:banner页面主体:main热点:hot新闻:news下载:download子导航:subnav菜单:menu子菜单:submenu搜索:search友情链接:friendlink页脚:footer
2022-03-22 08:52:27
314
原创 Vue项目快速初始化搭建
Vue项目初始化搭建。首先检查 node npm 版本。满足要求即可。安装vue脚手架 (vue-cli)npm install -g vue-cli安装webspacknpm install -g webpack新建项目位置 例如如下图(D:vue_workspace2 )cmd进入目录。 并初始化webpackvue init webpack xxx 出现如上内容即可内容默认全部回车跳过即可内容基本搭建完成 文件夹内容基本如下cd 进入新项
2022-03-22 08:50:32
1049
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人