若一个方法存在并发安全问题,用synchronized关键字解决最简单的同步问题:
public class Test {public static void lockTest(){synchronized (Test.class) {System.out.println("hello");}}
}
synchronized中参数可以是 对象或者,上面是静态方法,因此参数只能是字节码,通常我们也可以额外增加一个类当作锁。
那么synchronized锁的是什么?锁代码块?锁参数?
答案是 锁参数,依照上面代码就是对Test.class这个字节码对象上锁。
为什么是对参数上锁?可以看下面代码:
public class Test {static ReentrantLock reentrantLock=new ReentrantLock();public static void lockTest(){reentrantLock.lock();System.out.println("hello");reentrantLock.unlock();}
}
ReentrantLock(重入锁)是JUC并发包下提供的锁,synchronized是内置锁,上面代码ReentrantLock同样实现了对代码块的同步,它的含义是对reentrantLock这个对象进行上锁,其源码是通过对该类的一个state属性进行操作的:
/*** The synchronization state.*/
private volatile int state;
调用lock将state修改为1,则上锁成功;
调用unlock将state修改为0,则解锁成功;
因此我们分析,如果我们给对象加锁,是不是就意味着这个对象内部必须要有一个 标识上锁成功与否的属性?可是我们在最开始用synchronized进行加锁,Test.class里并没有声明一个标识呀!
于是问题出现了,用synchronized进行加锁改变了锁对象的什么?
答案是改变对象的对象头
那么什么叫对象头?
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。
因此还要学习Java的对象布局,也即Java对象的组成。
我们都知道对象存储在堆上,那么对象在堆上到底要分配多少内存呢?
public class Test {boolean flag=false;//占 1byte
}
我们实例化上面的对象,JVM会为它分配多少内存呢?1Byte吗?
首先需要明确一个知识点:64位的虚拟机规定对象大小是8字节的整数倍
因此我们猜想,一个对象分配的内存绝不仅限于定义的属性大小,还要填充写些我们难以看到的东西。
一个对象可以由以下部分组成:
  • 对象的实例数据(定义的属性,如boolean,int等,的不固定的)
  • 对象头(大小固定)
  • 填充数据
读到这里就有个疑问.你怎么知道对象布局就是这三部分呢?
首先最开始我是读《深入理解JVM虚拟机》了解到这个概念的,接下来我会利用JOL工具去证明一下这个概念的正确性,其原理就是去查看一个实例对象在堆内存中的数据分布
1.引入工具依赖
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol‐core</artifactId>
<version>0.9</version>
</dependency>
2.目标类
public class A {//没有任何数据
}
3.解析类
public class Test {public static void main(String[] args) {A a=new A();//解析对象a在JVM中的内存分配System.out.println(ClassLayout.parseInstance(a).toPrintable());}
}
4.结果
OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           13 d3 d9 ef (00010011 11010011 11011001 11101111) (-270937325)12     4        (loss due to the next object alignment)
Instance size: 16 bytes
Space losses: 0 bytes internal + 4 bytes external = 4 bytes total
分析我们暂且不谈,试着为目标类添一个属性后看看有什么不一样的结果:
public class A {boolean flag=false;//大小占1Byte
}
 OFFSET  SIZE      TYPE DESCRIPTION                               VALUE0     4           (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4           (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4           (object header)                           8e 65 da ef (10001110 01100101 11011010 11101111) (-270899826)12     1   boolean A.flag                                    false13     3           (loss due to the next object alignment)
Instance size: 16 bytes
Space losses: 0 bytes internal + 3 bytes external = 3 bytes total
结果很直观,两次结果都为这个实例对象分配了一个大小固定12字节的对象头(object header),第一次结果含有大小为4Byte的填充数据,而第二次结果因为有一个大小为1Byte的实例数据,为了满足虚拟机的对象大小分配规定,因此还要填充3Byte的数据。
思考一个问题,如果对象数据中只有一个int型的变量,还需要填充数据吗?
答案是不需要的,int类型数据占4字节,此时对象头+实例数据=16字节,已经是8的整数倍便不再进行数据填充,因此数据填充只是为了去满足JVM的对象内存分配规定
根据OFFSET偏移字段我们可以得到对象组成的一个位置布局:

到此我们已经证明且确定Java的对象布局的组成部分,可以有理有据和面试官吹牛B了 …
于是第二个问题接踵而来,既然对象头固定大小占12Byte,这可不小,那么它里面包含了什么内容?它又有什么作用呢?(不同位数的JVM对象头的长度不一样,这里指的是64bit的Jvm)
对象头是实现synchronized锁的重要部分,我们重点分析它的组成:
  • Mark Word
  • Klass Pointer
我又开始哔哔了,哎呀呀你怎么知道对象头就是这两个部分,证明一下呗!
首先明确两个概念:
1.当前使用的虚拟机是什么?
打开命令行,输入java -version,得到我当前使用的虚拟机是HotSpot。
2.什么是JVM?什么是HotSpot?什么是OpenJDK?它们有什么关联?
JVM是一种规范标准,HotSpot是根据这种规范标准实现的产品,OpenJDK是HotSpot中部分开源的源码。
因此我们只需要在JVM中寻找对象头的定义规范,即可知道它的组成部分。
引用OpenJDK文档当中对对象头的解释:
Object Header

Common structure at the beginning of every GC-managed heap object. (Every oop points to an object header.) Includes fundamental information about the heap object’s layout, type, GC state, synchronization state, and identity hash code. Consists of two words. In arrays it is immediately followed by a length field. Note that both Java objects and VM- internal objects have a common object header format

上述引用中提到一个java对象头包含了2个word(数组对象除外,数组对象的对象头还包含一个数组长度),并且好包含了堆对象的布局类型GC状态同步状态标识哈希码,具体怎么包含的呢?又是哪两个word呢?
1.Mark Word

The first word of every object header. Usually a set of bitfields including synchronization state and identity hash code. May also be a pointer (with characteristic low bit encoding) to synchronization related information. During GC, may contain GC state bits.

mark word为第一个word,根据文档可以知他里面包含了锁的信息hashcodegc信息等等,拿GC举例,我们知道可见部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数MaxTenuringThreshold决定,这个参数默认是最大15),最终如果还是存活,就存入到老年代,那么为什么是15次呢?
因为在mark word中分配4bit存放这个GC的复制次数信息,4bit的数据从0000到1111最多表示0~15个复制次数状态,此外诸如锁信息和hashcode等也会分配一定的bit去保存,在后面会进行探讨。
2.Klass Pointer

The second word of every object header. Points to another object (a metaobject) which describes the layout and behavior of the original object. For Java objects, the “klass” contains a C++ style “vtable”.

klass word为对象头的第二个word,主要指向对象的元数据(即对象属于哪个类)。klass word为对象头的第二个word,主要指向对象的元数据(即对象属于哪个类)
于是我们可以得出对象头的组成结构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0A85Cpm-1579178382707)(https://i.loli.net/2020/01/16/YjscxnvKDNeOpFP.png)]

假设我们理解一个对象头主要上图两部分组成,在之前我们利用JOL打印的对象头信息知道一个对象头是12Byte,那这两部分的大小分别是多少呢?
//  64 bits:
//  --------
//  unused:25 hash:31 -->| unused:1   age:4    biased_lock:1 lock:2 (normal object)
//  JavaThread*:54 epoch:2 unused:1   age:4    biased_lock:1 lock:2 (biased object)
//  PromotedObject*:61 --------------------->| promo_bits:3 ----->| (CMS promoted object)
//  size:64 ----------------------------------------------------->| (CMS free block)
我们从上面HotSpot的源码注释中得知一个Mark Word大小是64bit即8Byte,因此可得Klass Word的大小是4Byte
(有些博客或者教材会指明Klass Word的大小是8Byte,其实也没错,JVM默认开启指针压缩,未压缩前的Klass Word的大小就是8Byte)
接下来会对对象头这两部分包含的详细内容进行剖析,首先了解一下对象头中为对象的状态分配的五种类型:
  • 无锁
  • 偏向锁
  • 轻量级锁
  • 重量级锁
  • GC标记
为什么是这五种状态呢?怎么去表示这些状态?祭出下面这张未开启指针压缩时的对象头结构天命图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VV1hHRIP-1579178382707)(https://i.loli.net/2020/01/16/l4e3cuwTtPkSXvZ.jpg)]

难以看懂?没关系,我们先只需关注state(对象状态)lock(锁标志)biased_locak(偏向锁标志)这三个字段,在对象头中正是用着三个字段来表示对象的五种状态,简化后得到下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ObtsEYSU-1579178382708)(https://i.loli.net/2020/01/16/zTARr6kSLuldQif.png)]

不难看出,无锁和偏向锁的锁标志位是相同的,因此引入了偏向锁标志位进行区分,其余三种状态只需要锁标志位区分即可。
学到这里便可以对开始的问题进行解答,使用synchronized对对象进行加锁,实际上是改变了对象头中锁的标志位信息
在天命图中我们看到,不同对象状态下的Mark Word中的结构是不同的,下面简单的对第一种无锁状态进行分析:
最开始我们使用JOL工具获得了一个空属性目标类的对象数据如下:
OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           13 d3 d9 ef (00010011 11010011 11011001 11101111) (-270937325)12     4        (loss due to the next object alignment)
Instance size: 16 bytes
Space losses: 0 bytes internal + 4 bytes external = 4 bytes total
是不是很奇怪?
(1)此时的这个对象刚刚实例化,没有被加锁或被GC标记,处于无锁状态,按照天命图其前25个bit应该是unused(未使用),但是其对象头的前25位如下,并不是全为0,显然被使用了?
00000001 00000000 00000000 00000000)
(00000000 00000000 00000000 00000000)
(00010011 11010011 11011001 11101111)
解答这个问题需要明确一个知识点,我们使用的CPU大都是英特尔的架构,采用的是小端存储,直白点也就是说这些数据和天命图的对应是倒过来的,unused(未使用)的25bit应该是倒数前25个,如下:
(00000001 00000000 00000000 00000000)
(00000000 00000000 00000000 00000000
(00010011 11010011 11011001 11101111)
显然全为0没有被使用,按照这个逻辑可以取出锁标志位为01偏向锁标志位为0,对应的对象状态即为无锁。
(2)此外,按照天命图使用了如下的31个bit来存储对象的hashcode,但是我们会发现对应的二进制位全为0,难道它没有hashcode?
(00000001 00000000 00000000 00000000
00000000 00000000 00000000 00000000)
(00010011 11010011 11011001 11101111)
首先明确对象自身并不会去主动计算对象的hashcode,需要我们在代码中显性或隐性的计算出hashcode,才会自动保存在对象头中,将测试类修改为如下:
public class Test {public static void main(String[] args) {A a=new A();//显性计算对象hashcode,并转为十六进制System.out.println(Integer.toHexString(a.hashCode()));//解析对象a在JVM中的内存分配System.out.println(ClassLayout.parseInstance(a).toPrintable());}
}
6422b8ffOFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 ff b8 22 (00000001 11111111 10111000 00100010) (582549249)4     4        (object header)                           64 00 00 00 (01100100 00000000 00000000 00000000) (100)8     4        (object header)                           75 11 da ef (01110101 00010001 11011010 11101111) (-270921355)12     4        (loss due to the next object alignment)
Instance size: 16 bytes
Space losses: 0 bytes internal + 4 bytes external = 4 bytes total
(00000001 11111111 10111000 00100010)
(01100100 00000000 00000000 00000000)
(01110101 00010001 11011010 11101111)
可以看到,存储hashcode的31位已经发生了变化,转化为十六进制后很直观的看出与我们的hashcode的值是相同的。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Mybatis执行sql核心方法增删改Executor.update,查询ResultSetHandler.handleResultSets

    1.Mybatis执行增删改的底层核心接口是Executor.update,如果我们想对它进行拦截处理,则需要拦截此方法2.Mybatis执行查询的底层核心接口是ResultSetHandler.handleResultSets,如果我们想对它进行拦截处理,则需要拦截此方法定义增删改的拦截器:@Intercepts({@Signature(type…...

    2024/4/17 21:28:18
  2. Python中 try expect finally的用法

    try 和 expect 用于异常的检查。 当程序运行时,遇到异常会停止导致后边的程序运行不了; a = 0 b = 5 print(b / a) print(lalalalallalalallala) print(hahahahahahhahahahha)结果 Traceback (most recent call last):File "D:/PycharmProjects/untitled1/text.1.py&quo…...

    2024/4/11 0:42:01
  3. C++中Template的用法

    模板(Template) 指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。 函数模板 函数模板定义一族函数。 //template1.cpp #include <iostream>template<typename T&g…...

    2024/4/26 1:16:11
  4. java中的clone方法---原型模式

    引用文献 详解Java中的clone方法 – 原型模式Java 中对象的创建 clone 顾名思义就是复制,在Java语言中,clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在Java语言中,有几种方式可以创建对…...

    2024/4/25 21:45:10
  5. django2.0配置xadmin

    第一步 1.在github上下载源码 地址: xadmin源码 2.将源码文件在自己项目的虚拟环境中编译安装,例子: python setup.py install 第二步 此时可以通过 pip list可以看到xadmin已经安装完成; 在pip/lib/site-packages 中的已安装好的xadmin单独拉到项目的 extra_apps中 第三步…...

    2024/4/25 8:53:33
  6. 遍历集合删除符合条件的元素需要注意的地方

    遍历集合比较常用的3种方式:for循环,foreach,迭代器,这几种在数据量较小的情况下区别不大。但是如果需要在遍历时删除满足条件的元素,此时foreach方式不适用,for循坏则需要注意集合长度和索引值变化,在这种情况下迭代器是最佳选择。Foreach 这篇文章讲解的比较清楚:htt…...

    2024/4/25 16:16:38
  7. [笔记]机器人操作系统(ROS)浅析

    1 绪论 ROS:Robot Operating System ROS是面向机器人的开源的元操作系统(open-source, meta-operating system) 选择ROS的理由:分布式计算 软件复用 快速测试:(1)ROS系统框架将底层硬件控制模块和顶层数据处理与决策模块分离,从而可以使用模拟器替代底层硬件模块,独立测…...

    2024/4/24 9:35:47
  8. PTA切分表达式——写个tokenizer吧

    [先说点出题背景] 这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?…...

    2024/4/26 0:36:17
  9. IO工具类(封装方法):文件--文件、文件--字节数组、字节数组--文件的io操作

    通过对文件的输入输出流进行操作实现对拷贝的方法封装和资源的释放封装 拷贝方法的封装 public static void main(String[] args) {//文件到文件try {InputStream is = new FileInputStream("abc.txt");OutputStream os = new FileOutputStream("abc-copy.txt&q…...

    2024/3/29 7:37:56
  10. 【洛谷P1346】电车【floyed最短路】

    题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路…...

    2024/4/23 5:24:04
  11. docker-创建jenkins容器

    docker-创建jenkins容器 在通过docker创建jenkins容器的时候,因为不能动态的给正在运行的容器填加卷(Volume),所以在需要共享与宿主机器的部分环境的时候,如jdk,maven,git...等等,需要事先在创建容器的时候就要指定好(就是这个坑,让我在容器中又安装了一遍环境,WTF!!) 解决方…...

    2024/4/4 14:08:31
  12. ubuntu-linux环境 c++小白第一次安装protobuf的艰辛

    1.根据官方文档安装前要先安装以下工具: sudo apt-get install autoconf automake libtool curl make g++ unzip2.下载protobuf源码压缩包 https://codeload.github.com/protocolbuffers/protobuf/tar.gz/v3.11.2 不建议下载专属cpp-release发行版,这个下载经常中断3.解压proto…...

    2024/3/29 7:37:52
  13. Django Web框架教学笔记

    目录 文章目录目录查询数据字段查找查询谓词修改数据记录删除记录聚合查询F对象Q对象 - Q()原生的数据库操作方法 查询数据数据库的查询需要使用管理器对象进行通过 MyModel.objects 管理器方法调用查询接口如果查询结果返回的是QuerySet,可打印QuerySet.query,获取到该orm对应…...

    2024/4/25 10:59:30
  14. jsp中超链接调用JavaScript方法

    废话不多说,直接上代码 <a class="link-del" href="javascript:doUserDelete(你确定要删除吗?,/bookshop/manager/manager_doUserDelete);">删除</a>function doUserDelete(msg,url){if(confirm(msg)){window.location.href=url;}}...

    2024/3/29 12:55:15
  15. Collections.unmodifiableCollection

    Collections.unmodifiableCollection这个可以得到一个集合的镜像,它的返回结果不可直接被改变,否则会提示java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018) 正常的使用如下:public class Collection…...

    2024/3/29 12:55:15
  16. Ubuntu 开机 自启动脚本或命令

    OpenCV--人脸识别基于神经网络的人脸识别 使用知识:深度学习和OpenCV 思路流程: 1)检测面部 2)计算128-d面部嵌入以量化面部(使用dlib 库) 3)在嵌入之上训练支持向量机(SVM) 4)识别图像和视频流中的面部国溥9.90去订阅背景开发过程中,有时需要一些sh脚本、python脚…...

    2024/4/11 14:27:30
  17. LeetCode:21. 合并两个有序链表

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4C++代码:/*** Definition for singly-linked list.* public class ListNode {* int va…...

    2024/4/26 11:02:01
  18. 基于FPGA的数字钟——(三)数码管显示模块

    基于FPGA的数字钟——(三)数码管显示模块 硬件原理 本设计中使用 6 个共阳数码管,可以显示 6 个数字(包含小数点) 。电路用 PNP管来反向驱动并且控制列扫描信号来选择哪个数码管。而且所有的 6 个数码管的“段选信号”(LEDA … LEDH)都共用驱动引脚(LED_A~LEDH)。数码管的…...

    2024/3/29 12:55:11
  19. 关于学习开展微信公众号前期推广

    关于学习开展微信公众号前期推广 今日进程 一,对开发平台的日常更新吸粉: 二,整理手头材料 实用工具 学习推荐 准备以后一边收集新的实用性工具和资料一边学习一些HTML...

    2024/4/26 18:17:17
  20. TCP协议栈:RFC3390-初始拥塞窗口

    RFC2581的建议(1999年)初始窗口为1或2个SMSSRCF3390的建议(2002年)//min (4*MSS, max (2*MSS, 4380 bytes)) If (MSS <= 1095 bytes)then win <= 4 * MSS; If (1095 bytes < MSS < 2190 bytes)then win <= 4380; If (2190 bytes <= MSS)then win <= 2…...

    2024/4/14 17:09:03

最新文章

  1. 【linux】初步认识文件系统

    初步认识文件系统 前置知识的简单了解简单回顾C语言的文件操作stdin&stdout&stderr 系统文件IOopen函数的返回值文件描述符fd打开文件背后的操作文件描述符的分配规则 前置知识的简单了解 文件包括了文件内容和文件属性两个部分(文件内容顾名思义就是文件里面的数据等…...

    2024/5/3 20:59:59
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. ChatGPT 赚钱初学者指南(上)

    原文&#xff1a;The Beginner’s Guide to Earning Money Online with ChatGPT 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第一章&#xff1a;理解基础知识 什么是 ChatGPT&#xff1f; 在人工智能与人类对话相遇的数字织锦中&#xff0c;ChatGPT 作为一个突出…...

    2024/5/3 4:17:57
  4. springboot 项目整合easy-captcha验证码功能

    效果 1、验证码使用easy-captcha,在pom文件增加依赖 <!-- google 验证码 --><dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId></dependency> 2、增加获取kaptcha的ctrl package com.*.*.s…...

    2024/5/1 14:02:52
  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