javaorm的原理分析
我们在讨论ORM实现映射的时候,很多人对于映射的实际过程不是很了解,这就导致对于其原理的理解上一知半解。本篇会将对象之间的映射为大家带来完整的流程展示,帮助大家弄清楚ORM简化数据库操作的过程,并得出原理的结论,最后再带来一个orm的用法实例分享。1.ORM映射关系在实际开发中,程序...
2024-01-10jvm之栈、堆
1. Java Virtual Machine 人群当中,一位叫java的小伙子正向周围一众人群细数着自己取得的荣耀与辉煌。就在此时,c老头和c++老头缓步走来,看着被众人围住的java,c老头感叹地对着身旁的c++说道:“原以为你就可以挑起我的梁子一直走下去的。” c++笑着回应道:“江山代有才人出,这世界以后总会...
2024-01-10浅析js中mvvm模式实现的原理
以Vue.js框架为例子,使用的mvvm模式view指的是页面的html和css构成的视图。model指的是从后端取到的数据模型viewmodel 指的是前端开发人员组织生成和维护的视图数据层。这一层包含的是视图行为和数据。视图行为指的是如页面加载进来时请求什么,将指定的数据放到指定的元素上,点击某个元素触...
2024-01-10类的加载过程(深入理解jvm)
1.1.通过类的全限定名找到二进制字节流1.2.将字节流中的静态存储结构转化为方法区中的动态存储结构1.3.在内存中生成一个java.lang.Class对象作为方法区这个类各种数据的访问入口2.验证:校验字节码文件是否符合规则,是否会破会虚拟机的安全性2.1.文件格式验证(是否符合class格式要求,可以被虚拟...
2024-01-10查看jvm的cg情况
1.查询java程序的pidps -ef|grep java 查询或者top 查询2.使用jstat查看gc情况jstat -gc pid 1000[间隔时间] 得到如下bash-4.4# jstat -gc 28 1000 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 34048.0 ...
2024-01-10详解jvm中的标量替换
概述通常在java中创建一个对象,大家都认为是在堆中创建。 在jdk6开始有逃逸分析,标量替换等技术,关于在堆中创建对象不再绝对。关于标量替换,通过以下几点进行概述:逃逸分析标量替换是什么测试标量替换逃逸分析逃逸分析是一种分析技术,分析对象的动态作用域,供其他优化措施...
2024-01-10【JS】理解js中堆栈原理
回顾js数据类型有哪些?ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。复习一下两种数据类型各有哪些:基础类型(Undefined, Null, Boolean, Number, String, Symbol(ES6新添加的))一共6种引用类型(Obje...
2024-01-10浅谈jvm中的垃圾回收策略
java和C#中的内存的分配和释放都是由虚拟机自动管理的,此前我已经介绍了CLR中GC的对象回收方式,是基于代的内存回收策略,其实在java中,JVM的对象回收策略也是基于分代的思想。这样做的目的就是为了提高垃圾回收的性能,避免对堆中的所有对象进行检查时所带来的程序的响应的延迟,因为jvm执...
2024-01-107种jvm垃圾回收器,这次全部搞懂
前言之前我们讲解了jvm的组成结构与垃圾回收算法等知识点,今天我们来讲讲jvm最重要的堆内存是如何使用垃圾回收器进行垃圾回收,并且如何使用命令去配置使用这些垃圾回收器。堆内存详解上面这个图大家应该已经很明白了吧。大家就可以理解成一个房子被分成了几个房间,每个房间的作用不同...
2024-01-10JVM栈和栈帧
前情提要对于没有深度递归的函数来说,无需担心上篇文章中的算法。当知道正在处理数据集有限时,我会使用这种简单的基本递归形式。由于你并不知道在应用程序中会处理多少数据,因此确保你的递归算法是尾递归(tail-recursive)就变得十分重要,否则你将可能遇到讨厌的 StackOverflowError.举个例子,...
2024-01-10JVM
如果需要热部署,使用“双亲委派”是不行的,如何打破“双亲委派”呢~一. 源代码“双亲委派”源代码如下(ClassLoader.java):public Class<?> loadClass(String name) throws ClassNotFoundException { return loadClass(name, false);}protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoun...
2024-01-10JVM栈帧之操作数栈与局部变量表
前置知识阅读本文需要对以下知识有所了解: * 栈 * 汇编 * Java 基础 * 逆波兰表达式(有学过的同学阅读本文毫无障碍)引子基于寄存器的设计模式就我们所熟知的x86或arm指令集来说,其对数据的操作都是基于寄存器。例如,要对两个数执行加法操作则需要将这两个数分别送入两个寄存器再执行加法操...
2024-01-10再看 JVM(2)
文章太长了,分2篇写吧,上一篇:再看 JVM(1)堆内存想必大家对堆内存都是耳熟能详了,自己都去仔细研究过了,但是这里还是要重点说明,尽量力争全面,有些细节点的点还是有很多人不知道的 φ(≧ω≦*)♪堆内存特点几乎所有的对象实例都在堆空间分配内存方法结束后,堆中的对象不会马上...
2024-01-10HiveonMR调优
当HiveQL跑不出来时,基本上是数据倾斜了,比如出现count(distinct),groupby,join等情况,理解 MR 底层原理,同时结合实际的业务,数据的类型,分布,质量状况等来实际的考虑如何进行系统性的优化。Hive on MR 调优主要从三个层面进行,分别是基于MapReduce优化、Hive架构层优化和HiveQL层优化。MapReduce调优...
2024-01-10JVM调优的基本思路
和Web应用程序一样,Tomcat作为一个Java程序也跑在JVM中,因此如果要对Tomcat进行调优,需要先了解JVM调优的原理。而对于JVM调优来说,主要是JVM垃圾收集的优化,一般来说是因为有问题才需要优化,所以对于JVM GC来说,如果观察到Tomcat进程的CPU使用率比较高,并且在GC日志中发现GC次数比较频繁、GC停顿...
2024-01-10面试中必问的jvm与性能优化
三个加载器各自完成自己的工作,但它们是如何协调工作呢?哪一个类该由哪个类加载器完成呢?为了解决这个问题,Java采用了委托模型机制。 委托模型机制的工作原理很简单:当类加载器需要加载类的时候,先请示其Parent(即上一层加载器)在其搜索路径载入,如果找不到,才在自己的搜索路径搜索...
2024-01-10vue实现数据控制视图的原理解析
这篇主要讲的就是vue很重要的一块知识点,双向数据绑定是如何实现的。一开始看这一块的内容的时候比较迷茫,迷茫在以下几个点:这块内容该从哪边入手数据变化是如何驱动视图层更新的做题深化知识点从哪边着手去看响应式原理我这边提供三个方向,从这三个方向,你都可以看到watcher的使...
2024-01-10vue 数据处理问题
leftData的数据格式底下的productName和code不在checklist里面,而是在它的外层,我现在想取到外层的值应该怎么做,感谢各位回答:前面生成 totalArray 那部分,应该可以用 flatMap简化一下const totalArray = this.leftData .flatMap(item => item.checkList.map(json => JSON...
2024-02-09vue 数据处理
后端返回了如下数据结构:我需要处理成同时table里input能实现v-model双向绑定。我现在实现如下但是数据双绑不能成功回答关闭此问题,以我的方式就可以试试用这个 https://cn.vuejs.org/v2/api/#......
2024-01-10vue 响应式原理
响应式原理简单点讲 vue 的响应式是通过 Object.defineProperty 和 观察者模式来实现的。vue 初始化的时候 watcher 构造函数通过 Object.defineProperty 方法对 data 属性进行递归遍历,设置 get、set,初始化编译的时候会触发 getter 函数,进行依赖收集,将观察者 watcher 添加到目标对象 dep 中。改变数据的时候会触发...
2024-01-10vue配置代理
1 module.exports = { 2 assetsDir: 'static', 3 parallel: false, 4 publicPath: './',//history模式注释掉此行,hash模式需要 5 6 productionSourceMap: false, 7 devServer: { 8 port: 8081, 9 open: false,10 overlay: {11 ...
2024-01-10vue 基本知识整理
1 每个Vue.js应用都是通过构造函数Vue创建一个Vue的根实例2 可以扩展Vue构造器,从而使用预定义选项创建可复用的组件构造器所有的Vue.js组件其实都是被扩展的Vue实例每一个VUE实例都会代理其 data 对象里所有的属性:注意只有这些被代理的属性是响应的,也就是说值的任何改变都会触发视图的重新渲...
2024-01-10vue 后台管理批量确认
<div class="actions-row" style="display:flex;margin-bottom:20px; "><el-buttontype="primary"@click="allConfirmation":disabled="this.multipleSelections.length===0">批量确认</el-button></div><!-- 表格 --><el-collapse v-model="activeName"><el-table:data="list"border...
2024-01-10(理解)Vue的mvvm
计数器的MVVM 我们的计数器中就有严格的MVVM思想 View依然是我们的DOM Model就是我们抽离出来的obj ViewModel就是我们创建的Vue对象实例 他们之间如何工作呢? 首先ViewModel通过Data Binding让obj中的数据实时的在DOM中显示 其次ViewModel通过DOM Listener来监听DOM...
2024-01-10vue响应式原理理解
响应式原理:组件data的数据一旦变化,立刻触发视图的更新。注意事项:Vue无法检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化,所以属性必须在 data 对象上存在才能让 Vue 将它转换为响应式的。var vm = new Vue({ data:{ a:1 }})// `vm.a` 是响应式的vm.b = 2...
2024-01-10vue3的一些原理
一 命令式和声明式一开始我们写的像jquery的代码就是命令式;vue用的写法是声明式,只关注结果,不关注过程。声明式代码的更新性能消耗,除了有直接修改的性能消耗 ,还有找出差异的性能消耗。但是维护性更强。参考:https://juejin.cn/post/7077369940038123550二 虚拟DOM虚拟DOM是为了最小化差异出现的...
2024-01-10