jvm之对象的创建与内存模型解析
一、对象的创建
之前一篇详细分析过类的加载,本篇主要记录分析对象的创建步骤以及jvm内存的分配。
直接上图
显而易见,对象的创建大致经过7个步骤:
1.类是否加载判断,如果想要创建一个类的实例对象,首先这个类是要被加载完成之后才可以,所以第一步就要判断类是否被加载过,若未被加载,则先加载类。
2.内存分配,创建对象之前首先需要在堆中分配一块足够大的内存空间,具体多大,这个在对应的类加载完成之后,jvm就已经可以确定这类的对象需要占用多大的内存了,所以只要在堆内存中划分一块确定的内存空间即可。内存分配的方式有两种:
- 指针碰撞法:堆内存中的空间比较规整,所有已经使用的内存空间规整的排列在一起,然后使用一个指针把已使用的内存空间和未使用的内存空间分隔开来,当一个对象需要分配内存时,只需要把指针向后移动对象需要的大小即可,jvm默认使用这种方法。
- 空闲列表法:对象在堆内存中的分配比较随意凌乱,所以jvm在内部维护了一个可用内存列表,当一个对象需要分配内存时,在空闲列表找出一块足够大的内存给新生对象,然后这块内存从空闲列表中移除。
内存分配的并发问题:
不管使用哪种分配方式都有并发问题,例如:使用指针碰撞法分配内存空间,A对象和B对象同时获取到指针,给A分配内存后,B又使用老的指针进行分配。
解决方案:
- 使用CAS+重试的方式分配内存,在内存分配时,使用CAS原子操作进行内存的分配,如果CAS操作失败的就进行重试 一直到成功为止,这种方式性能较低。
- 本地线程缓冲(Thread Local Allocation Buffer,TLAB),这堆中种方式就是预先在给线程分配一块空间,之后每个线程需要创建对象,就在属于自己的堆内存空间中分配,这样就避免了并发分配问题,这种是JVM默认的解决并发分配的方式,可以使用配置参数:-XX:+/-UseTLAB配置是否开启此方法(默认开启),-XX:TLABSize配置TLAB的大小。
3.初始化
在堆中给新生对象分配好内存空间之后,虚拟机把分配到的这块内存空间都初始化为零(不包括对象头),如果使用了TLAB,这一过程也可以提前至TLAB分配时进行,这样可以保证对象的实例在java代码中不赋初始值就可以使用,程序可以访问到这些字段的零值。
4.设置对象头
java对象包括三个部分,对象头,实例数据区,对齐填充位,其中对象头中保存了对象的hashCode,分代年龄,锁的标志位信息,这一块被称为mark word,除此之外还有类元信息指针,针对数组对象还记录了数组长度等信息,所以一个对象被创建成功前是需要设置对象头的信息的,换句话说,就是把对象的hashCode、分代年龄,类元信息指针都赋好值。
针对对象头这一块做一个特别说明:
对象头也有三块组成:
- mark word:在32位操作系统中,占4个字节 ,在64位操作系统下占8个字节,如下
锁状态
25bit
4bit
1bit
2bit
23bit
2bit
是否偏向锁
锁标志位
无锁
对象的HashCode
分代年龄
0
01
偏向锁
线程ID
Epoch
分代年龄
1
01
轻量级锁
指向栈中锁记录的指针
00
重量级锁
指向重量级锁的指针
10
GC标记
空
11
- klass point 指针 指向方法区类的元数据指针,这个指针在32位操作系统中占4个字节,在64位操作系统占8个字节,开启指针压缩,会压缩到4个字节,jvm默认是开启指针压缩的,可以节省内存空间。
jvm配置参数:-XX:+UseCompressedOops(默认开启)开启指针压缩,-XX:-UseCompressedOops关闭指针压缩
为什么要指针压缩?
- 在64位平台下Hotspot使用32位指针(4字节),可用内存大概多出1.5倍左右,如果使用较大内存指针在主内存和缓存中移动,占用较大带宽,对象GC的压力也比较大。
- 为了减少64位平台下的内存消耗,启用指针压缩
- 在jvm中,32位地址大概支持4G(2的32次方)内存大小,可以通过对对象指针的压缩编码,然后通过解码的方式进行优化,这样只需要使用32位地址就可以了。
- 堆内存大于32G时,压缩指针会失效,jvm会强制使用64位来对java对象寻址,这样就会出现1的问题,所以堆的内存尽量不要大于32位为好。
- 数组长度,这一块只有在数组对象重才存在,其他对象是没有的。
以上就是java对象创建的步骤。
二、jvm内存模型
jvm内存划分主要分为堆内存,方法区,栈内存,本地方法栈,程序计数器。
堆内存:主要存放创建的对象,几乎所有被创建出来的对象都要在对象分配内存空间,是所有线程共享的一块内存区域。
方法区:主要存放静态变量,静态方法,常量,类元数据等信息,所有线程共享。
线程栈:线程被创建出来之后,会分配一块内存空间,这块空间只是线程私有,不能共享,这就是线程栈,线程每调用一个方法,就会在线程栈中开辟出一块栈帧区域,随着栈帧的进栈出栈标志着方法运行的开始和结束。每个栈帧都有自己的局部变量表,操作数栈,动态链接,方法返回地址等。
本地方法栈:存放java中native本地方法的信息 属于线程私有
程序计数器:记录的是程序执行的索引位置,也是因这,当发生线程切换之后,可以从某一个位置继续执行。
线程栈的分配:
'
jvm内存配置项:
-Xms:堆内存大小 -Xms:100m配置堆内存为100M
-Xmx:堆最大内存 -Xmx:500m配置堆最大内存为500M
-Xmn:配置新生代内存大小
-XX:MetaSpaceSize方法区元空间大小
-XX:MaxMetaSpaceSize 方法区元空间最大
-Xss:线程栈内存大小
关于JVM方面的优化,也就是根据业务的需求尽可能的通过配置这些参数来减少GC的次数,一般主要减少Full GC的次数,使Full GC几乎不发生。
三、对象内存分配
我们都知道,java新生对象一般都会在堆中分配内存,其实除了堆之外,还有可能会在栈中分配内存,
- 逃逸分析:即jvm判断对象会不会逃离某个方法,比如在某个方法中创建对象,方法执行完成后 对象就成了垃圾对象,这就是对象没有逃离方法之外,针对这种情况,jvm可以做很多优化,例如,锁消除,栈上分配等。
如果判断对象并不会被外部访问,也就是未逃逸出方法,jvm会进行栈上分配,但是jvm一般不会直接在栈内创建对象,而是将对象的成员变量分解成若干个可以被方法使用的局部变量所代替,这些代替的局部变量在栈帧或寄存器中分配空间,这样就不会因为没有一大块连续的内存空间而导致无法在栈上分配,这种方式有个专业名词:标量替换。
public class AllotOnStack {/*** 代码调用了1亿此的alloc方法 假设在对上分配内存* 调用1亿次 产生1亿个Student对象 假设一个对象8B大小 总大小为:(8*1亿)/1000/1024 = 781MB 大概1GB 如果堆内存小于此值 则必然触发GC** jvm堆内存配置 -Xms15m -Xmx15m** 如下配置不会发生大量的GC 几乎不会发生GC 开启逃逸分析 开启标量替换* -XX:+DoEscapeAnalysis(开启逃逸分析) -XX:+PrintGC -XX:+EliminateAllocations(开启标量替换)** 如下配置会发生大量GC 不开启逃逸分析 开启标量替换(开启也没用 因为没有开启逃逸分析 标量替换是在开启逃逸分析情况下生效)* -XX:-DoEscapeAnalysis(不开启逃逸分析) -XX:+PrintGC -XX:+EliminateAllocations(开启标量替换)** 如下配置会发声大量GC 开启逃逸分析 不开启标量替换* -XX:+DoEscapeAnalysis(开启逃逸分析) -XX:+PrintGC -XX:-EliminateAllocations(开启标量替换)** @param args*/public static void main(String[] args) {long l = System.currentTimeMillis();for (int i = 0; i < 100000000; i++) {alloc();}long l1 = System.currentTimeMillis();System.out.println(l1-l);/*** 结论:栈上分配内存 依赖逃逸分析和标量替换*/}public static void alloc() {Student student = new Student();student.setName("zhangsan");student.setAge(20);}
}
jvm配置参数:-XX:+/-DoEscapeAnalysis(开启或者关闭逃逸分析,默认开启),-XX:+/-EliminateAllocations(开启/关闭标量替换,默认开启)
标量替换依赖逃逸分析,如果开启了标量替换,但是没有开启逃逸分析,是不生效的。下面我们来验证下各种情况发生下GC的情况:创建1亿个对象,假设每个对象8字节大小,总共需要近1G内存,设置堆内存为15MB 并且打印GC信息。
第一种:开启逃逸分析 -XX:+DoEscapeAnalysis 开启标量替换 -XX:+EliminateAllocations
几乎不发生GC。
第二种:开启逃逸分析 -XX:+DoEscapeAnalysis,不开启标量替换 -XX:-EliminateAllocations
发生大量GC。
第三种:关闭逃逸分析 -XX:-DoEscapeAnalysis,开启标量替换 -XX:+EliminateAllocations
发生大量GC。
- 大对象:大对象是可以使用jvm参数(PretenureSizeThreshold)配置的,对象达到配置的大小,会直接进入老年代,但是这个参数只有在使用serialGC或ParNew两个垃圾收集器时才有用。
public class BigObjectTest {/*** -XX:PretenureSizeThreshold=1000000(单位字节) 配置指定大对象的大小 1000kb 约为1MB大小* 次参数 只有在使用Serial和ParNew两个垃圾收集器时才有用* 所以还需要配置* -XX:+UseSerialGC** 配置 -XX:+PrintGCDetails查看GC详细信息* @param args*/public static void main(String[] args) {//一个5MB大小的数组对象 > 1MB 应该直接进入老年代byte[] bytes = new byte[5000 * 1024];}
}
配置大对象的大小约为1M大小,配置使用Serial垃圾收集器,然后分配一个大小为5M的数组对象查看结果:
可以看到分配给数组的5M直接分配在了老年代,至于年轻代伊甸园区使用的10%是代码运行中其他对象占用的。
- 在eden区分配对象,年轻代中分为eden区,from区,to区 3块区域,比例默认8:1:1(可以通过jvm参数动态修改这个比例)。一般新生对象都是分配在eden区,当eden区满了之后,需要发生一次Minor GC,会把剩余的对象移动到from区(from区装不下,直接移到老年代)。当第二次eden区满了之后,会把eden和from区的剩余对象移到to区,之后再GC会把eden和to区的对象移动到from区,这样一直来回的在from和to之间移动。当一个对象在年轻代经过了15次(可以配置 但是只能 <=15)GC,就需要移到老年代了。
Minor GC/Young GC:指发生在年轻代的垃圾回收动作,效率高速度快,但是只清除年轻代的垃圾对象。
Major GC/Full GC:指发生一次全面的垃圾回收动作,作用范围包括老年代,年轻代,方法区等内存区域,发生Full GC 会有一次比较长的STW(Stop The World),效率低,速度慢,清除的垃圾对象较多。
public class GCTest {//配置 -XX:+PrintGCDetails 打印Gc的详细信息public static void main(String[] args) {//创建一个bute的数组 大概占用70MBbyte [] allocate1 = new byte[70000*1024];/*** 配置 -Xmn100m 年轻代大小为100MB 则eden占80MB from区占10MB to区占10MB*/byte[] allocate2 = new byte[10000 * 1024]; //占用大约10MB 此时eden区的内存大小不够了 需要发生一次GC 然后移动到 from区 from区不够用 移动到老年代/*** 后面的对象还是会分配到eden的区*/
// byte[] allocate3 = new byte[1000 * 1024];
// byte[] allocate4 = new byte[1000 * 1024];
// byte[] allocate5 = new byte[1000 * 1024];
// byte[] allocate6 = new byte[1000 * 1024];}
}
eden:80M from:10M to:10M
结果:
发生了一次GC
[GC (Allocation Failure) [PSYoungGen: 76155K->744K(89600K)] 76155K->70744K(249344K), 0.0343667 secs] [Times: user=0.08 sys=0.00, real=0.03 secs]
Heap
PSYoungGen total 89600K, used 11512K //年轻代占用的10MB是分配给allocate2引用的对象 在此之前 发生了一次GC 数据移动到了老年代
eden space 76800K, 14% used [0x00000007b9c00000,0x00000007ba684188,0x00000007be700000)
from space 12800K, 5% used [0x00000007be700000,0x00000007be7ba020,0x00000007bf380000)
to space 12800K, 0% used [0x00000007bf380000,0x00000007bf380000,0x00000007c0000000)
ParOldGen total 159744K, used 70000K//allocate1引用的占用70MB被移动到了old区 allocate2引用的10MB被分配到了年轻代
object space 159744K, 43% used [0x00000006c1c00000,0x00000006c605c010,0x00000006cb800000)
Metaspace used 3488K, capacity 4498K, committed 4864K, reserved 1056768K
class space used 387K, capacity 390K, committed 512K, reserved 1048576K
分析:
首先70M的allocate1对象分配到了eden区,之后10M的allocate2对象也需要在eden区分配,但是发现eden区不够用了,所以发生了一次Minor GC 把70M的allocate1移到from区 但是from区不够用,所以直接移动到老年代。然后在eden区给10M的allocate2分配内存空间,所以就出现了 年轻代占用约10M 老年代占用约70M。
- 长期存活的对象进入老年代,jvm通过分代年龄思想来管理堆内存中的对象的,当对象在eden区出生以后,发生一次Minor Gc并且from/to区能够存下,那么对象的年龄就会+1,并且被移入from/to区中,没发生一次Minor Gc 对象年龄都会+1,并且在from和to区之间来回移动,当对象年龄达到一定程度(一般是15岁,CMS是6岁,可以通过JVM参数进行设置,但是都不会超过15岁)后,会被移入老年代。
年轻代一般都是存放一些朝生夕死的对象,每次发生在年轻代的Minor GC效率都是很高的速度比Full GC快很多,当一个对象变成了“老当益壮”,jvm就会认为你还能活挺久的,就不让在待在年轻代玩了,会把你移入老年代,所以老年代一般都是存放一些存活时间较长的对象,并不容易被GC回收。
反过来说,jvm判断你可能还会存活很长时间,如果不把你移到老年代,还在年轻代的话,年轻代的GC计算时每次都要把你计算进去,就是明知道你不会被回收,也要操你的心,这其实是比较影响到Minor GC的效率的,而Minor GC有时相比Full GC频繁的多的,所以移动到老年代,在下次Minor GC时,就可以不用考虑这些对象了,效率会有所提升。
- 老年代空间分配担保机制
结论:通过以上分析,可以详细了解到jvm内存模型以及对象分配内存分配的工作原理,通过一些JVM参数可以进行项目调优,使得项目在运行过程中几乎不发生Full GC,因为一旦发生GC是要触发STW机制的,这在紧急时刻是很影响性能的,所以掌握对JVM的调优技能是很重要的。
为什么要STW?
例如在进行GC时,线程从Root GC开始,找到引用链,被标记的都是非垃圾对象。
如果不STW会怎样?我标记好了,正准备回收垃圾对象呢,突然又生成了一个新的对象,而这个对象是未被标记的,那么就会被垃圾回收器回收掉,这显然有问题的。
所以在GC时必然要进行STW。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 苹果WWDC20线上发布,今夜是否会“无人入睡”?
据苹果官方消息称,WWDC20将于北京时间6月23凌晨1点开幕。在这个一切皆可云的大背景下,苹果将首次采用线上举办的形式,并且将全程用iPhone摄像头进行直播。按照苹果的说法,这将是“迄今最大规模”的全球开发者大会,全球Apple社区超过2300万名开发者都可以线上参与。那么全线…...
2024/4/28 14:42:26 - Maven-高级
文章目录回顾Maven初级Maven导入jar包解决jar包冲突1.jar包冲突演示图解2.jar包冲突的解决方式1.解决jar包冲突的方式一2.解决jar包冲突的方式二3.解决jar包冲突的方式三【推荐使用】pom文件中有关jar包标签介绍1.dependency和properties标签管理jar包2.dependency和dependency…...
2024/4/28 3:09:05 - Exploring the Regularity of Sparse Structure in Convolutional Neural Networks(在卷积神经网络中探索稀疏结构的规律性)
作者提出基于论文Learning both weights and connections for efficient neural network修剪的方法在保留精度以及实现更高的压缩率方面确实很好。但是,这种改进是以稀疏计算模式的不规则性为代价的。 另一方面结构化的剪枝(例如修剪掉整个过滤器),但是比修剪单个权重会引起…...
2024/4/28 7:30:33 - zabbix 局域网 怎么解决 zabbix server is not running:the information displayed may not be current 问题
zabbix 局域网 怎么解决 zabbix server is not running:the information displayed may not be current 问题求大神们帮下忙,现在是。如下:cd /etc/zabbix/web vi zabbix.conf.php 修改为: $DB[SERVER] = 127.0.0.1; $ZBX_SERVER = 127.0.0.1;systemctl restart zabbix-…...
2024/4/28 7:02:34 - 人类拥有智慧和愚蠢两面,AI要类人,愚蠢是否也必不可少?
像人一样,似乎是 AI 发展的最终目标。然而众所周知,人类有智慧和愚蠢两面, AI 要类人,是否也需要具备这两面性呢?从一开始为测试 AI 是否能像人一样而生的图灵测试来看,人类在完成计算等任务时,算出来的答案可能存在一定的错误率并且需要花一定的时间来完成计算,当能立…...
2024/4/27 16:40:29 - 如何利用全站加速,提升网站加速性能和用户体验?
随着网络技术的发展,越来越多的应用基于互联网发布,再好的应用,如果打开速度慢,10个用户会有9个用户选择离开,相关统计数据显示,每增加0.1秒的加载延迟,将会导致客户活跃度下降1%。在目前获客成本较高,用户面临众多可选项的情况下,如何提高用户访问的体验,给用户留下…...
2024/4/28 5:28:55 - 区块链(BlockChain)基础概念
今天为大家汇总一下区块链专业术语,以防聊天时不知道对方在说什么。1.区块链(BlockChain)区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”、“集体维护”等特征。基…...
2024/4/28 14:32:14 - python安装与pycharm搭建
python下载地址:https://www.python.org/ftp/python/python官网:https://www.python.org/pycharm官网:https://www.jetbrains.com/pycharm/python官方第三方库:https://pypi.org/python扩展仓库:https://www.lfd.uci.edu/~gohlke/pythonlibs/##工具包(pycharm,python,typora)…...
2024/4/27 21:39:03 - [问题已处理]-阿里云服务器种了蠕虫病毒和恶意下载病毒处理
今天给公司阿里云服务器安装了安骑士 下午就发现有告警,几乎所有的服务器都种了病毒,并且种类还不一样。1 蠕虫病毒echo ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYmluOi91c3IvYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2xvY2FsL3NiaW4KdD10cnVtcGtwYW…...
2024/4/28 4:49:11 - 字节跳动面试难吗,应该如何应对?
近来字节备受吹捧,应届生随手都能拿个50万年薪。小po也心痒痒很久,投了字节的面试,没想到第一轮面试就撞上一道原题: 给定一个S仅包含小写字符的字符串。 返回至少包含k不同字符的子字符串数。10≤长度≤1,000,000 1≤k≤26这道题小九在九章算法的《国内大厂2020高频算法真…...
2024/4/24 14:42:56 - 优雅解决LeanCloud流控问题
前言 最近好多人遇到了"因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠"。我也遇到了这种问题,太难受了。难道白嫖结束了,羊被薅死了? 但我还是不甘心,于是只能另寻他法。 首先看到官方所说:既然是同一时刻,那么是不是意味着…...
2024/4/28 3:30:10 - 史上耦合度最低的添加标题栏方式
前言 大多数页面都有标题栏,通常会在基类里封装通用标题栏的初始化代码,然后只需在布局代码里 include 一个标题栏布局,在 Activity 里就能很方便把标题栏设置了。 这可能是目前比较普遍的封装方式了。这也有一些弊端,每次都要在布局里写 include 代码比较繁琐。如果是特殊…...
2024/4/24 14:42:53 - 学习英语01——听力——剑雅12 T6S4
#本文章仅用于记录本人学习过程,当作笔记来用,如有侵权请及时告知,谢谢! 剑雅 12 Test6 S4: 第一句: considerable adj. 相当大的;重要的,值得考虑的第2句: labour n. 劳动力,人工;分娩 vi. 劳动;分娩;费力地前进 appealing adj. 吸引人的;动人的;引起兴趣的;…...
2024/4/15 3:06:49 - 哪吒电影开拍了吗?什么时间上映?
影片概况:影片名称:《我是哪吒2之大闹东海》类 型:动画/冒险/喜剧时 长:89分钟制 式:2D/3D目标受众:全年龄段、合家欢上映日期:2021年导 演:杨加助(暂定)监 制:李振扬制 片 人:黄晨杰、刁文静出品公司:上海容纳文化传媒有限公司北京鼎珍影视文化传媒有限公司事梗概梗…...
2024/4/20 5:41:47 - Zookeeper集群详解
Zookeeper集群角色 Leader:领导者,一个Zookeeper集群同一时间只能有一个Leader,,Leader服务器是整个Zookeeper集群工作制中的核心,其主要工作有以下:事务请求的唯一调度和处理者,保证集群事务处理的顺序性。Zookeeper中所有事务操作都是由leader服务器进行处理。 集群内…...
2024/4/15 3:06:47 - AI Habitat室内仿真平台使用
habitat跨场景室内3D仿真平台 1. Install 参考github的habitat-api及habitat-sim,注意安装其中requestment.txt文件时检查版本,大部分example运行失败都是由于功能包版本错误导致的。本机器为ubuntu18.04系统,cuda10.0版本,在anaconda环境中运行,将以上两个包都放到同一个…...
2024/4/16 13:44:19 - Android Studio - Kotlin Anko 库的添加
新建安卓项目(Kotlin) GitHub 上搜索并找到 anko找到使用方法dependencies {implementation "org.jetbrains.anko:anko:$anko_version" }打开 build.gradle找到如下位置添加完成,在这里引用了一个 anko 版本,所以需要在 build.gradle 中声明版本版本号通过 GitHu…...
2024/4/22 6:03:40 - 1. MATLAB版配置教程
1. MATLAB版配置教程 1.1 tracker_benchmark_v1.0说明 tracker_benchmark_v1.0是OTB(object tracking benchmark)的matlab版本,实际是吴毅老师的两篇论文OTB50(OTB2013)包含50个视频序列原文链接:Wu Y, Lim J, Yang M H. Online object tracking: A benchmark [C] CVPR, …...
2024/4/15 3:06:46 - 我的无人机飞行日记
最开始是⻜原⼦的,没装光流模块的时候基本⻜不成,四处乱⻜,我甚⾄还拿着⼀根绳⼦绑着,浆 摔断过⼀个,还拆错了,换了之后⻜不起来,因为两个浆装反了,正好四个浆的⼒抵消了1⽉17⽇上午第⼀次⻜匿名的,起⻜之后⻜机是定⾼的,但是⼀直往机尾那个⽅向⾛,控制它降落 不稳,…...
2024/4/16 16:21:09 - Java开发者文档(开发软件+规范)
java-developer-document 文档地址:https://gitee.com/zhengqingya/java-developer-document 一、开发环境Java开发环境系列分享链接:https://pan.baidu.com/s/1jIB_5E-1g3_XrMSloF88YA 提取码:8xa5Windows10专业版 点击下载盘云装机助手 激活: # “以管理员身份”运行cmd#…...
2024/4/16 13:25:01
最新文章
- 必应bing广告推广开户时间需要多久?
企业选择合适的平台进行广告投放成为了企业获取竞争优势的关键一步,必应Bing作为全球第二大搜索引擎,凭借其庞大的用户基础和精准的广告定位能力,成为了众多企业海外及国内市场推广的优选渠道。云衔科技以专业、高效的服务,成为企…...
2024/4/28 21:38:20 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - vue3项目运行正常但vscode红色波浪线报错
以下解决办法如不生效,可尝试 重启 vscode 一、Vetur插件检测问题 vetur 是一个 vscode 插件,用于为 .vue 单文件组件提供代码高亮以及语法支持。但 vue 以及 vetur 对于 ts 的支持,并不友好。 1、原因 如下图:鼠标放到红色波浪…...
2024/4/26 17:21:41 - 嵌入式硬件中常见的面试问题与实现
1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…...
2024/4/26 3:46:10 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/28 13:52:11 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/28 13:51:37 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/28 15:57:13 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57