内存分配机制

在这里插入图片描述

逐步分析

类加载检查:

虚拟机遇到一条new指令(new关键字、对象的克隆、对象的序列化等)时,会先去检查这个指令的参数在常量池中定位到一个类的符号引用,并且这个符号引用代表的类是否应被加载过,如果没有那么就去加载该类

分配内存

类加载完毕后会给对象分配内存空间。对象的所需的内存大小在类加载完毕后就便可完全确认,为对象分配内存大小的空间等同于把一块确定大小的内存从java堆中划分出来。

如何划分内存?

指针碰撞(默认使用指针碰撞):如果java堆内存是绝对规整的,那么会把所有用过的内存放在一边,空闲的内存放在另外一边,中间用一个指针来作为分界点的指示器,那所分配的内存仅仅把那个指针空闲空间的挪动一段与对象大小相同的距离。
空闲列表:如果java堆内存不是绝对规整的,已使用的空间和未使用的空间互相交错,那么虚拟机维护一份列表,记录哪些内存块是可用的,在划分内存空间的时候从列表中找到一块足够大的内存空间分配给对象实例,并更新列表上的记录。
分配内存遇到高并发的问题?现在有多个线程同时并发需要进行内存分配

CAS :虚拟机采用失败重试的机制方式保证操作的原子性对分配内存空间的动作进行同步处理,第一个线程抢占到了分配空间,第二个线程没有抢占到就重试抢占后面一块内存空间
本地线程分配缓冲:把内存分配的动作按照线程分配在不同的空间之中完成,也就是每个线程在java堆中预先分配出一块小的内存。通过-XX:+/-UseTLAB参数来设定虚拟机是否使用(JVM默认开启-XX:+UseTLAB) ,-XX:TLABSize指定TLAB大小,默认是Eden区的百分之1,放不下就走CAS

初始化

内存分配完毕后,给变量赋默认值,如果使用了TLAB,那么这个过程也可以提前至TLAB分配时进行

4.设置对象头

初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是那个类的实例,如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。这些信息都存放在对象的对象头Object Header中。

在HosSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头,实例数据,对齐填充。

1.HotSpot虚拟机的对象头包括三部分信息:Mark Word、Klass Pointer类型指针、数组长度

Mark Word标记字段(32位 4字节 ,64位占8字节)用于存储对象自身的运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。
对象头的另外一部分是类型指针(Klass Point 开启压缩占4字节,关闭压缩占8字节),并不是Class ,我们使用的对象的getClass方法的那个Class对象是在堆内存而这个是类的元数据信息 。即对象指向它类的元数据的指针,元数据信息是放在方法区之中,虚拟机通过这个指针来确定这个对象是那个类的实例,类的元数据信息是放在C++的对象来承载的

在这里插入图片描述

实例数据

对象的实例数据就是该对象的引用大小

对齐填充

保证对象是8个字节的整数倍。64位的机器每一行都是64位,如果现在8个字节直接取一行,那如果不是对齐,还要评估这个对象的大小,还要从这个对象大小的起始位置开始偏移,这样非常的麻烦,8个字节对齐是最优的寻址方式.

什么是java对象的 指针压缩?

jdk1.6 update14开始,在64bit操作系统中,JVM支持指针压缩
jvm配置参数:启用指针压缩:­XX:+UseCompressedOops(默认开启),禁止指针压缩:­XX:­UseCompressedOops
为什么要进行指针压缩?

1.在64位平台的HotSpot中使用32位指针,内存使用会出多1.5倍左右,同时GC也会承受较大压力

2.在jvm中,32位地址最大支持4G内存(2的32次方),可以通过对象指针存入堆内存时压缩的编码然后在取出到CPU寄存器后解码进行优化(对象指针在堆内存中是32位,在寄存器是35位,2的35次是32G),使得JVM使用32位地址就可以支持更大的内存配置

如果压缩了用4个字节没有压缩用8个字节,节约内存空间。多一个Object header,实际没开指针压缩是通过两块一起来存储Klass Point,成员对象String类型也用8个字节来存储 ,成员对象Object也需要8个字节 。那么我们每个对象都有对象头,指针压缩可以减少我们每个对象的大小,同样的内存大小可以放更多的对象才会触发GC

在这里插入图片描述

在这里插入图片描述

执行方法

成员变量的赋值以及构造方法的调用

对象内存分配

对象内存分配流程图

在这里插入图片描述

对象栈上分配

JVM内存分配可以知道JAVA中的对象都是堆上进行分配,当对象没有被引用的时候,需要一开GC进行回收内存,如果对象数量较多的时候,会给GC带来较大的压力,也间接影响了应用的性能。为了减少临时对象在堆内分配的数量,JVM通过逃逸分析来确定该对象不会被外部访问。如果不会逃逸可以将该对象在栈上分配内存,这样对象所占用的内存空间就可以随着栈帧出栈而销毁,就减轻了垃圾回收的压力。

对象逃逸分析:就是分析对象动态作用域,当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他地方中

public class AllotOnStack {/*** Description : 栈上分配,标量替换* 代码调用了1亿次alloc(),如果是分配到堆上,大概需要1GB以上堆空间,如果堆空间小于该值,必然会触发GC。* 使用如下参数不会发生GC* -Xmx15m -Xms15m -XX:+DoEscapeAnalysis -XX:+PrintGC -XX:+EliminateAllocations* 使用如下参数都会发生大量GC* -Xmx15m -Xms15m -XX:-DoEscapeAnalysis -XX:+PrintGC -XX:+EliminateAllocations* -Xmx15m -Xms15m -XX:+DoEscapeAnalysis -XX:+PrintGC -XX:-EliminateAllocations**/public static void main(String[] args) {long start = System.currentTimeMillis();System.out.println(start);for (int i = 0; i < 100000000; i++) {allot();}long end = System.currentTimeMillis();System.out.println(end);System.out.println(end - start);}private static void allot() {AllotOnBO allotOnBO = new AllotOnBO();allotOnBO.setA("123");}
}class AllotOnBO {public void setA(String a) {this.a = a;}private String a;
}

很显然test1方法中的user对象被返回了,这个对象的作用域范围不确定,test2方法中的user对象我们可以确定当方法结 束这个对象就可以认为是无效对象了,对于这样的对象我们其实可以将其分配在栈内存里,让其在方法结束时跟随栈内 存一起被回收掉。

JVM对于这种情况可以通过开启逃逸分析参数(-XX:+DoEscapeAnalysis)来优化对象内存分配位置,使其通过标量替换优 先分配在栈上(栈帧上分配),JDK7之后默认开启逃逸分析,如果要关闭使用参数(-XX:-DoEscapeAnalysis)

标量替换:通过逃逸分析确定该对象不会被外部访问,并且对象可以被进一步分解时,JVM不会创建该对象,而是将该 对象成员变量分解若干个被这个方法使用的成员变量所代替,这些代替的成员变量在栈帧或寄存器上分配空间,这样就 不会因为没有一大块连续空间导致对象内存不够分配。开启标量替换参数(-XX:+EliminateAllocations),JDK7之后默认 开启。

标量与聚合量:标量即不可被进一步分解的量,而JAVA的基本数据类型就是标量(比如:int,long等基本数据类型以及reference类型等),标量的对立就是可以被进一步分解的量,也就是聚合量。而JAVA中的对象就是可以被进一步分解的聚合量。

结论:栈上分配的依赖于逃逸分析和标量替换,如果不开变量替换意义不大

Minor GC 和Full GC 有什么区别?

MinorGC / Young GC:指的是新生代的垃圾收集动作,Minor GC 非常频繁,回收速度一般也比较快。
MajorGC / Full GC:一般指老年代,年轻代,方法区的垃圾回收,Major GC 的速度一遍比 Minor GC的慢10倍以上
Eden与Survivor区默认8:1

大量的对象被分配在Eden区,Eden区满了之后出发minor GC ,可能百分之99的对象都被当成垃圾回收掉,存活(标记)对象会被移动到Survivor,下一次当Eden区又满了之后会触发Minor GC把Eden区和Survivor区的存活对象移动到另一块Survivor区.每移动一次年龄加1,一直达到年龄15的时候会把移动到老年代。新生代的对象都是朝生夕死的,所以为了减少Minor GC的频率 尽量让Eden区尽量大 ,Survivor区够用即可。JVM默认比例已经很合适了

JVM默认有这个参数-XX:+UseAdaptiveSizePolicy(默认开启),会导致这个8:1:1比例自动变化,如果不想这个比例有变化可以设置参数-XX:-UseAdaptiveSizePolicy

public class MinorGc {// -XX:+PrintGCDetailspublic static void main(String[] args) {byte[] allocation1, allocation2;allocation1 = new byte[60000 * 1024];allocation2 = new byte[20000 * 1024];}
}[GC (Allocation Failure) [PSYoungGen: 65245K->776K(76288K)] 65245K->60784K(251392K), 0.0333426 secs] [Times: user=0.05 sys=0.03, real=0.05 secs]
HeapPSYoungGen      total 76288K, used 21431K [0x000000076b400000, 0x0000000774900000, 0x00000007c0000000)eden space 65536K, 31% used [0x000000076b400000,0x000000076c82bef8,0x000000076f400000)from space 10752K, 7% used [0x000000076f400000,0x000000076f4c2020,0x000000076fe80000)to   space 10752K, 0% used [0x0000000773e80000,0x0000000773e80000,0x0000000774900000)ParOldGen       total 175104K, used 60008K [0x00000006c1c00000, 0x00000006cc700000, 0x000000076b400000)object space 175104K, 34% used [0x00000006c1c00000,0x00000006c569a010,0x00000006cc700000)Metaspace       used 3487K, capacity 4498K, committed 4864K, reserved 1056768Kclass space    used 387K, capacity 390K, committed 512K, reserved 1048576K

分配了allocation1对象 这个时候Eden区几乎已经满了,下一步指令又要分配20M对象 ,Eden区已经不够给allocation2 分配内存空间了虚拟机触发Minor GC ,GC期间虚拟机发现结果From区只有10M放不下 ,所以只好把新生代对象提前存放到老年代,老年代的空间足够存放allocation1,剩下的对象JVM自身的一些类 比如:Object,加载器被移动到了From区。Minor GC完之后Eden区给 allocation2 对象分配内存

大对象直接进入老年代

大对象就是需要大量连续空间内存空间的对象比如:字符串,数组。JVM参数-XX:PretenureSizeThreshold可以设置大对象的大小,如果对象超过设置大小会直接进入老年代,不会进入年轻代,这个参数只在Serial和ParNew两个收集器下有效

比如设置JVM参数-XX:+PrintGCDetails -XX:PretenureSizeThreshold=1000000(字节) -XX:+UseSerialGC ,在执行刚刚的代码这个时候发现大对象直接进入老年代

为什么这样设计?

为了避免为大对象分配内存时的复制操作而降低效率

Heapdef new generation   total 78656K, used 6995K [0x00000006c1c00000, 0x00000006c7150000, 0x0000000716800000)eden space 69952K,  10% used [0x00000006c1c00000, 0x00000006c22d4ed0, 0x00000006c6050000)from space 8704K,   0% used [0x00000006c6050000, 0x00000006c6050000, 0x00000006c68d0000)to   space 8704K,   0% used [0x00000006c68d0000, 0x00000006c68d0000, 0x00000006c7150000)tenured generation   total 174784K, used 80000K [0x0000000716800000, 0x00000007212b0000, 0x00000007c0000000)the space 174784K,  45% used [0x0000000716800000, 0x000000071b620020, 0x000000071b620200, 0x00000007212b0000)Metaspace       used 3485K, capacity 4498K, committed 4864K, reserved 1056768Kclass space    used 387K, capacity 390K, committed 512K, reserved 1048576K

长期存活的对象将进入老年代

JVM采用了分代年龄收集的思想,那么回收这个对象的时候就需要考虑放在Survivor还是老年代,考虑的依据虚拟机会为每个对象分配一个年龄计算器,如果对象在Eden区经过一次Monir GC后存活下的对象,移动到Survivor后年龄+1,之后的Minor GC每存活一次年龄再次+1 一直加到15(CMS默认是6,不同的垃圾收集器略不同),就会被移动到老年代。可以通过参数-XX:MaxTenuringThreshold来设置

对象动态年龄判断

如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到MaxTenuringThreshold中要求的年龄。那么年龄大于或等于这批的对象将直接挪到老年代,例如:年龄1+年龄2+年龄3+年龄4+年龄N的对象 其中年龄1,2,3的对象总和超过了Survivor区域的百分之50(-XX:TargetSurvivorRatio可以指定),那么就会将3和3以上的对象都进入老年代。

老年代分配担保机制(触发Full GC)

年轻代每次Minor GC之前JVM都会计算下老年代剩余可用空间,如果这个可用空间小于年轻代里现有的所有对象大小之和(包括垃圾对象)就会看一个“-XX:-HandlePromotionFailure”(jdk1.8默认就设置了)的参数是否设置了

如果有这个参数,就会看看老年代的可用内存大小,是否大于之前每一次Minor GC后进入老年代的对象的平均大小。

如果上一步结果是小于或者之前说的参数没有设置,那么就会触发一次Full GC ,对老年代和年轻代一起回收一次垃圾,如果回收完还是没有足够空间存放新的对象就会发生OOM

当然,如果Minor GC之后剩余存活的需要挪到老年代的对象还是大于老年代可用空间,那么也会触发Full GC ,Full GC完之后如果还是没有空间放Minor GC之后的存活对象,则会发生OOM

老年代分配担保机制担保的就是存在Full GC的情况下 减少一次Minor GC ,如果没有担保那么就是Minor GC->Full GC
在这里插入图片描述

对象内存回收

引用计数器

给对象中添加一个引用计数器,每当一个地方引用它,计数器就加;当引用失效,计数器就减1;任何时候计数器为0的对象就是不可能再被使用的。

这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最重要原因它很难解决对象之间互相循环引用的问题。所谓对象之间的互相引用问题,如下面代码所示:除了对象ObjA和ObjB互相引用着对方之外,这两个对象之间再无任何引用。但是因为他们互相引用对方,导致他们的引用计数器都不为0,于是引用计数算法无法通知GC回收他们

public class ReferenceCountingGc {Object instance = null;public static void main(String[] args) {ReferenceCountingGc objA = new ReferenceCountingGc();ReferenceCountingGc objB = new ReferenceCountingGc();objA.instance = objB;objB.instance = objA;objA = null;objB = null;}
}

可达性分析算法

将GCRoots对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象标记为非垃圾对象,其余未标记的对象都是垃圾对象

GC Roots根节点: 线程栈的本地变量,静态变量,本地方法栈的变量等等
在这里插入图片描述

finalize()方法最终判断对象是否存活

即使在可达性分析算法中不可达的对象,也并非是“非死不可”的,这个时候它们暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历再次标记过程

标记的前提是对象在进行可达性分析法后发现没有与GC Roots相连接的引用链

1.第一次标记并进行一次筛选

筛选的条件就是该对象是否覆盖了finalize()方法,没有覆盖直接回收

2.第二次标记

如果这个对象覆盖了finalize()方法,只要重新与引用链上任何一个对象关联即可,比如把自己赋值给某个类的变量或对象的成员变量,那么第二次标记的时候它将移除“即将回收”的集合。

注意:一个对象的finalize()方法只会被执行一次,也就是说通过调用finalize方法自我救命的机会就一次

如何判断一个类是无用的类?

方法区主要回收的是无用的类,如何判断一个类是无用的类

类需要满足下面三个条件才能算是无用的类

该类的所有实例都被回收,Java堆中没有存在该类是任何实例
加载该类的ClassLoader被回收(只有自定义的类加载器才能被回收)
该类的对应的Java.lang.Class对象没有任何地方被引用,无法在任何地方通过反射访问该类的方法。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 剑指offer_049 从根节点到叶节点的路径数字之和

    题目&#xff1a; 给定一个二叉树的根节点 root &#xff0c;树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&#xff1a; 例如&#xff0c;从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所…...

    2024/4/29 9:56:28
  2. linux运维零基础学习资料:Linux网络管理技术

    全套学习资料移步至公众号【学神来啦】更多学习资料添加扣扣资源群&#xff1a;661308959 本节所讲内容&#xff1a; 18.1 OSI七层模型和TCP/IP四层模型 18.2 linux网络相关的调试命令 18.3 实战-局域网中使用 awl伪装MAC地址进行SYN Flood 18.1 OSI七层模型和TCP/IP四层模…...

    2024/4/14 18:00:57
  3. 软考信息系统项目管理师_信息系统项目管理基础---软考高级之信息系统项目管理师009

    立项管理,要知道是甲方立项. 首先看这个项目立项管理内容....

    2024/4/14 18:00:46
  4. 48.第十章 网络协议和管理配置 -- 网络配置(九)

    4.6 多网卡 bonding 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址 4.6.1 Bonding 工作模式 共7种模式:0-6 Mode Mode 0 (balan…...

    2024/5/2 15:41:32
  5. 低代码的 Soulmate 燃爆 Ignite China 晚场趴,高光瞬间不止亿点点

    简单几行代码便可搭建客户管理系统&#xff1f; 借助低码平台就能快速实现企业管理流程线上化&#xff1f; 上传一张照片&#xff0c;就能识别是否是微软 MVP&#xff1f; …… 别怀疑&#xff0c;这些让人不可思议的低码开发案例 真实的发生在 Ignite China 晚场趴上&#xff…...

    2024/4/14 18:01:01
  6. 【Swift】LeetCode有效的括号

    由于各大平台的算法题的解法很少有Swift的版本&#xff0c;小编这边将会出个专辑为手撕LeetCode算法题。新手撕算法。 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。有效字符串需满足&…...

    2024/4/16 23:25:30
  7. 中国基因工程行业市场供需与战略研究报告

    出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 该报告涉及的主要国际市场参与者有Thermo Fisher Scientific Inc.、GenScript、Amgen Inc.、Genentech Inc.、Merck KGaA、Horizon Discovery Group plc、Sangamo Therapeutics Inc.、Transposagen Biop…...

    2024/4/18 14:42:30
  8. redis有序集合sorted set(zset)数据类型相关命令介绍及使用

    文章目录简介添加命令查询命令递增类型递减类型删除命令运算命令skiplist简介 Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的…...

    2024/4/20 9:48:36
  9. linux dhcp配置

    dhcp(Dynamic Host configuration Protocol,动态主机配置协议 )是一个局域网的网络协议&#xff0c;它主要是通过客户端发送广播数据包给整个物理网段内的所有主机&#xff0c;若局域网内有DHCP服务器时&#xff0c;才会响应客户端的IP参数要求。 客户端取得IP参数的过程如下&a…...

    2024/5/2 13:41:56
  10. 中国基于散射的光学传感器行业市场供需与战略研究报告

    出版商&#xff1a;贝哲斯咨询 获取报告样本&#xff1a; 企业竞争态势 该报告涉及的主要国际市场参与者有ROHM Semiconductor (Japan)、ABB (Switzerland)、Hamamatsu Photonics K.K. (Japan)、ams AG (Austria)、Texas Instruments Inc. (U.S.)、Analog Devices Inc. (U.S.…...

    2024/4/25 8:47:40
  11. 【Unity 优化篇】 | 优化专栏《导航帖》,全面学习Unity优化技巧,让我们的Unity技术上升一个档次

    文章目录 📢前言🎬Unity实用优化技巧专栏《导航帖》1️⃣ 优化的基本概念/意义2️⃣ 脚本代码优化策略3️⃣ UI常规优化逻辑4️⃣ 物理引擎优化篇5️⃣ 图形渲染优化篇6️⃣ 批处理的优势7️⃣ 艺术类资源优化8️⃣ 内存管理优化💬总结社区新活动,每周都送书!👑评论区…...

    2024/4/14 18:01:01
  12. java向mysql中数据时中文乱码

    一般数据库都是使用utf-8&#xff0c;向数据库中插入中文数据&#xff0c;检查是不是数据库编码不是utf-8&#xff1b; 然后查看你的项目的编码格式 都是utf-8就要查看数据库连接语句&#xff0c;在连接语句中添加编码格式 配置后就可以插入中文了。...

    2024/4/14 18:00:41
  13. mysql pxc 高可用多主机离线部署

    mysql pxc高可用 跨主机部署pxc 本文使用docker进行安装&#xff0c;主机间通过docker swarm网络进行通讯。不了解Docker的请自行先网上看以下教程入门一下。这里没有深入的Docker知识&#xff0c;只要跟着命令做就可以了。 三台主机都安装好了docker&#xff1a; 虚拟ip主机…...

    2024/4/7 4:03:08
  14. 软件开发基于JavaScript实现快速转换文本语言

    软件开发基于JavaScript实现快速转换文本语言 一般商业网站都有一个语言的需求&#xff0c;就是为了照顾使用正体中文的国人&#xff0c;会特地提供一个切换到正体中文的选项&#xff08;或曰“繁体中文”&#xff09;。传统做法是在服务端完成的&#xff0c;即通过某些控件或…...

    2024/4/17 16:52:52
  15. 雷神springboot笔记

    一、时代背景 1、微服务时代 微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自己的进程内&#xff0c;也就是可独立部署和升级 服务之间使用轻量级HTTP交互&#xff08;轻量级HHTP主要指&#xff1a;是指REST API&#xff09;&#xff09; 服务围绕业务…...

    2024/4/14 18:01:36
  16. 如何在TikTok上创造热门话题?

    如何在TikTok成功发布一个爆款视频&#xff0c;需要发布什么内容才能引起用户之间的共鸣呢&#xff1f;很多小伙伴一开始都很迷茫&#xff0c;如果我采用By视频策略去打造自己的TikTok账号&#xff0c;找到了好的视频素材要如何更快更好的运营起来呢&#xff1f; 这里跟大家说…...

    2024/4/7 4:03:05
  17. uniapp android 调用原生 文件管理

    项目背景:uniapp 项目三端部署,项目中有一个 上传文件的功能,需要调用原生的 文件管理器,本来是用原生插件 但是最终拿不到,原生文件管理acticity 的 返回: onActivityResult(int requestCode, int resultCode, Intent intent) 就是 上面这句话 不会调用:最后看到论坛…...

    2024/4/14 18:01:51
  18. 软件开发论JavaScript模块化编程_javascript技巧

    软件开发论JavaScript模块化编程_javascript技巧 JavaScript模块化编程的重要性 JavaScript的原型是java&#xff0c;它也是一种面向对象编程语言&#xff0c;属于一种弱类型语言&#xff0c;它具有更大的灵活性。以往在编写javascript代码时&#xff0c;都是直接编写一个个.j…...

    2024/4/26 18:25:50
  19. Discord是什么

    Discord 是一款专为电子游戏社区设计的免费网络实时通话软件与数字发行平台&#xff0c;主要用户为游戏玩家与其机器人&#xff0c;玩家与其机器人之间可以在软件的聊天频道通过信息、图片、视频和音频进行互动。这款软件可以在 Microsoft Windows、macOS、Android、iOS、Linux…...

    2024/4/7 4:03:08
  20. 制造业S2B2B电商平台高效协同助力行业数字化步伐加快

    站在“十四五”开局之年&#xff0c;在中国经济转型关键期&#xff0c;“互联网”与“一带一路”为传统制造业带来重大机遇&#xff0c;近年来产业互联网与制造业融合的新模式、新业态层出不穷&#xff0c;正重塑产业组织与生产运营模式。 中国制造业规模大&#xff0c;但与美…...

    2024/4/14 18:01:46

最新文章

  1. 跟我学C++中级篇——零长度数组

    一、零长度数组 最初使用零长度数组是在串口通信和网络通信中使用的&#xff0c;它类似于下面的代码&#xff1a; struct Data {int a;char c;char buf[0]; };零长度数组又叫柔性数组&#xff0c;这个非常贴切。它早期是GNU的一个扩展&#xff0c;后来在C99中也进行了支持&am…...

    2024/5/2 21:51:57
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. WPS二次开发专题:如何获取应用签名SHA256值

    作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;QQ:250325397&#xff09; 在申请WPS SDK授权版时候需要开发者提供应用包名和签…...

    2024/5/1 13:07:33
  4. Java-运算符

    运算符 Java语言支持如下运算符&#xff1a; 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--复制运算符&#xff1a;关系运算符&#xff1a;>, <, >, <, , !instanceof逻辑运算符&#xff1a;&&…...

    2024/5/2 14:40:28
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在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