Spring杂记(自上而下顺着链条看)
本篇文章都是本人的理解,看不懂可以评论,会回复评论。持续更新…
讲到Spring就一定绕不开IOC、AOP两个概念了,在我看来Spring得一切都基于IOC,所以先聊IOC吧。
IOC
一、首先看看IOC的作用,我们可以试着写一个从service层到dao层的用例,会发现如果是一层一层实现了这个用例,将来要修改就要一层层改,这样耦合度极高,而把控制权交给第三方(Test中new一个serviceImpl来set一个userDao),会解耦。此时,主动去new一个dao对象叫正向获取,而等着serviceImpl来set是等着别人给我这个对象,是反向获取。就像自己找对象(正向)和婚介公司分配对象(反向)。
二、对于IOC最重要的是容器,容器管理着Bean的生命周期,控制着Bean的DI(依赖注入),那Spring是怎么设计的容器?
两个接口用以表示容器,一个是BeanFactory,一个是ApplicationContext。咱们就聊聊异同吧。
- BeanFactory粗暴简单,可以理解为一个HashMap,key是BeanName,value是Bean实例,通常只提供注册(put),获取(get)功能,我们称为低级容器。BeanFactory是 Spring 底层 IoC 容器,ApplicationContext 是 BeanFactory 的子接口。在该接口中利用反射创建对象。
- ApplicationContext称为高级容器,因为他比BeanFactory多了更多功能,他继承了多个接口。因此具备更多功能,例如资源的获取、支持多种消息(例如jsp tag的支持)、对比BeanFactory多了工具级别的支持等等。所以名字也不是BeanFactory之类的工厂了,而是“应用上下文”,代表整个大容器的所有功能,该接口定义了一个refrsh方法(刷新整个容器,即重新加载所有的bean)。
- 隶属 ApplicationContext 的 “高级容器”,依赖着 “低级容器”,这里说的是依赖,不是继承哦。他依赖着 “低级容器” 的 getBean 功能。而高级容器有更多的功能:支持不同的信息源头,可以访问文件资源,支持应用事件(Observer模式),而低级容器只负责加载Bean、获取Bean。值得一提的还有两个容器之间的区别。了解区别之前必须明白IOC在启动过程做了些什么操作,IOC启动过程分为两个阶段:
(1) 容器的启动:加载配置信息,分析配置信息。
(2) Bean的实例:实例化对象,装配依赖,生命周期回调。- 两者的区别:BeanFactory延时加载,只有在使用某个bean时(即调用getBean()方法时),才会对bean进行实例化,而ApplicationContext
在容器启动的时候,一次性完成两个阶段,因此BeanFactory在启动过程不能在容器启动阶段发现配置问题,而ApplicationContext可以,但是由于一次性实例化所有的Bean,启动花费的时间也长。- 其实吧,上面的IOC启动过程都与Bean的生命周期有关,聊到这里就避不开这个话题了。Bean的生命周期:
- Bean的定义:beanDefinitionReader(抽象接口约束)加载配置文件(xml、properties、注解、yaml)读取bean的定义信息并包装成BeanDefinition。
- 执行BeanFactoryPostProcessor准备BeanPostProcessor、广播器、监听器。(注:BeanFactoryPostProcessor完成对BeanFactory相关信息的修改和拓展(容器运行需要的对象)。BeanPostProcessor完成对Bean的修改或拓展(用户自定义对象))。
- Bean的实例化:在ioc中利用反射实例化所有的非懒加载的单例bean。
- Bean的初始化:
- Bean的属性赋值:实例化后的对象还是一个空对象,根据 Bean 的元信息对该对象的所有属性进行赋值。即PopulateBean方法。
- 执行Aware接口的方法。Bean分为两种,一种是用户bean对象,一种容器对象bean(environment、applicationContext、beanFactory),aware接口是为了使某些用户bean对象能够方便的获取容器bean对象。
- 执行BeanPostProcessor(增强器)的before方法。“增强Bean(AOP)”。
- 执行init-method方法。
- 执行BeanPostProcessor(增强器)的after方法。 对应过程before,这样就获得了完整对象。如果一个对象需要生成代理对象来增强bean,会进行反射的普通创建一个实例化的对象,所以叫拓展。不是所有的bean都会增强,所以一定是会创建新的(代理)对象。
- Bean的调用:有三种方式可以得到Bean并进行调用:
1. 使用BeanWrapper。
2. 使用BeanFactory 。
3. 使用ApplicationContext。- Bean的销毁:
- 使用配置文件中的 destory-method 属性。
- 实现 org.springframwork.bean.factory.DisposebleBean接口。
三、IOC是个原理(基于工厂模式+反射机制),是把以前在工厂方法中写死的对象生成代码,改由配置文件来定义,真正的实现方式常见的有两种:
1、依赖注入。
2、依赖查找。
两者都是调用相关接口获取bean对象,区别在于DI(依赖注入)是IoC容器启动时由容器帮你实现,DL(依赖查找)要手动。目前用到DL(依赖查找)的非常少了,所以来聊聊DI(依赖注入),依赖注入从XML配置上来说就是ref标签,对应的是Spring中的RuntimeBeanReference对象,实现方法如下。
四、DI(依赖注入)的实现方式有三种:
- 构造器注入:构造器依赖注入通过容器触发一个类的构造器来实现的,通过构造器的参数注入相关依赖对象。xml文件里配置就是property中指定construct-arg来指定构造器的参数,注解配置就是在构造方法上加上@Autowire注解。这种方式好比学渣从一开始就赖上了一个学霸,并且和这个学霸建立了长期合作关系。
- setter注入:通过 setter 方法注入依赖对象,也可以理解为字段注入。Xml中写就是property中指定name=”age”或Age;ref=”…”。因为Spring会自动的将首字母大写再在前面加上set,这里也可以看到,有关的set方法后的名称,而与属性(成员变量无关)。用注解来写就是在setter方法上加上@Autowire注解。这种方式学霸和学渣只是暂时的合作关系,如果学渣赖上了另一个学霸(调用set()方法传入了另一个对象),那么学渣和学霸的合作关系就结束了。
- 属性注入(方法参数注入):定义成员变量来添加@Autowire注入。这种方式不建议使用,但是工作中用的最多,因为真的方便。为啥不用?如果是IOC以外的环境,除了用发射来提供他需要的依赖,无法复用该实现类。那setter注入和构造器注入用哪个?看上面我的描述,构造器不是有点强买强卖的意思?所以构造器参数实现强制依赖,setter方法实现可选依赖。构造器注入可以保证有序的被注入,而setter方法注入是通过反射机制注入,无法保证注入顺序。构造器注入不允许出现循环依赖,因此被注入的对象需要保证能实例化,构造器依赖初始化时对象才注入依赖对象,保证了bean初始化后就是不变的对象。setter方法的循环依赖Spring已经解决了,先聊聊循环依赖吧。
- 这里多嘴提一句Autowired:@Autowired默认是byType,类型一样时会根据id查找,默认的id为类名(自动改为首字母小写)。找到了直接注入,找不到报错。如果指定id(别名)就是用@Qualifier。如果@Autowired添加在方法上时,此方法在创建对象的时候会默认调用,同时方法中的参数会自动进行装配。@Autowired也能用在方法的参数上指定当前属性的别名。Jdk提供了@Resource和@Autowired一样的功能。Resource可以在其他框架中用,是按照id进行装配的,id找不到就用type。Autowired通过反射来注入。
五、循环依赖(只有单例Bean才会出现循环依赖):
如果一段依赖关系为beanA–>beanB–>beanC–>beanA,这就是循环依赖。如果没有最后一个beanA而是beanA–>beanB–>beanC,此时Spring将创建beanC,然后创建beanB(并将beanC注入beanB)然后创建beanA(并将beanB注入beanA),但是在循环依赖时,Spring无法决定应该首先创建哪个bean(注意:这里是创建,不是初始化,初始化在下文Bean的生命周期有记载,是根据用户xml中对bean定义的顺序来加载,若有依赖,先用占位符_代替,那为什么不在加载Bean的时候直接注入呢?因为我们并不能要求用户按照顺序定义Bean,这样是不人道的!可能A依赖于B,但是B还没有加载好),因为他们彼此依赖,这个情况下Spring将在加载上下文时引发BeanCurrentlyInCreationException。使用构造方法注入时,他可能在Spring中发生,其他类型应该无此问题(setter注入的循环依赖已经被Spring解决)。
那在构造器注入中如何解决循环依赖呢?其实方法很多,当然我们只讲流行的,况且最好的方法就是重新设计或者用setter注入,奈何面试要问,了解一下吧。
使用@Lazy放在构造方法参数列表的参数前,意思就是懒洋洋的初始化其中一个bean。它不是完全初始化bean,而是创建一个代理将它注入到另一个bean。注入的bean只有第一次需要时才会完全创建。用人话来讲就是第一次被需要才创建,之后在需要这个bean就是创建它的代理对象。
在其中一个bean上加@AutoWired,其他依赖项上使用@PostConstruct。
那我们肯定还是要了解一下setter注入中Spring是怎么解决循环依赖的吧!
先透个实底:Spring通过提前暴露对象的方式解决循环依赖问题,即 对“半成品对象”(实例化后、初始化前的对象叫做“半成品对象”)设置缓存来预存对象,等后续再根据A对象的引用来完成赋值操作,实例化后、初始化前的对象叫做“半成品对象”。这里缓存有三级。了解三级缓存前,先了解spring常用的6个方法: *getBean-->doGetBean-->createBean-->doCreateBean-->createInstance-->populateBean*那三层分别什么作用?一级缓存singletonObjects:存放成品对象。 二级缓存earlySingletonObjects:存放半成品对象。三级缓存singletonFactories:存放lamdb表达式。
为何要有三级?只用第一级行不行?只用一、二级行不行? 别着急,小弟细细道来。
如果只有一级缓存:那么意味着半成品对象和成品对象都要放到一级缓存,那就有可能获取到对象的非完整状态,此时不可以使用。
如果只有一二级缓存:没有AOP的时候就可以,三级缓存是解决代理过程中的循环依赖。
- 总结一下以上:每次我们在获取对象的时候,是通过对象的name来获取bean的,如果原始对象和代理对象同时存在的话,那么我通过名字再进行获取的时候应该选择哪个?无法选择的,其实还有最核心的点,你怎么能够确认对象什么时候需要被引用呢?使用lambda表达式其实代表了一种回调机制,当需要使用当前对象的时候,通过lamdba表达式来最终返回一个确定的最终版本对象,而不需要判断几个对象,因为是替换的过程,所以只能有一个。接下来给IOC留个结尾干巴的面试题吧,干就完了!
六、关于Spring核心类
- BeanFactory:产生一个新的实例,可以实现单例模式。
- BeanWrapper:提供统一的get及set方法。
- ApplicationContext:提供框架的实现,包括BeanFactory的所有功能。
七、Spring中的设计模式
- 工厂模式:Spring使用工厂模式,通过BeanFactory和ApplicationContext来创建对象。
- 单例模式:Bean默认为单例模式。
- 代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术。
- 模板方法:可以将相同部分的代码放在父类中,而将不同的代码放入不同的子类中,用来解决代码重复的问题。比如RestTemplate, JmsTemplate, JpaTemplate。
- 适配器模式:Spring AOP的增强或通知(Advice)使用到了适配器模式,Spring MVC中也是用到了适配器模式适配Controller。
- 策略模式:例如Resource的实现类,针对不同的资源文件,实现了不同方式的资源获取策略。
- 观察者模式:Spring事件驱动模型就是观察者模式的一个经典应用。
- 桥接模式:可以根据客户的需求能够动态切换不同的数据源。比如我们的项目需要连接多个数据库,客户在每次访问中根据需要会去访问不同的数据库。
八、Bean的作用域
- singleton:这种bean范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。
- prototype:原型范围与单例范围相反,为每一个bean请求提供一个实例。
- request:在请求Bean范围内会对每一个来自客户端的网络请求创建一个实例,在请求完成以后,Bean会失效并被垃圾回收器回收。
- session:与请求范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
- globalsession:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。(不知所云)
九、ApplicationContext 通常的实现有哪些?
- FileSystemXmlApplicationContext:此容器从一个 XML 文件中加载beans 的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。
- ClassPathXmlApplicationContext:此容器也从一个 XML 文件中加载beans 的定义,这里,你需要正确设置 classpath 因为这个容器将在 classpath 里找 bean 配置。
- WebXmlApplicationContext:此容器加载一个 XML 文件,此文件定义了一个 Web 应用的所有 bean。
AOP
温馨提示:上面IOC没捋顺就别往下看AOP了
一、大家都是怎么描述AOP和其中各种名词呢? 听听小弟的见解如何?
想象一下:方法是纵向的,而各种打印的日志信息就都是横向的,横纵向的交汇点就是连接点,通俗来讲一个方法中可以填入额外的代码的地方都叫做连接点,而实际填充了代码的叫做切入点,切入点是连接点的子集。切面类就是存放打印日志方法的logUtil类,每一个切面类对应的方法都是横切面,使用AOP的话就在切面类上加@Aspect。
通知注解的几种类型:
- @Before前置通知:方法执行前执行。
- @After后置通知:方法执行后执行。
- @AfterReturing返回通知:结果返回后运行。
- @AfterThrowing异常通知:出现异常时使用。
- @Around环绕通知:其他四个注解都是方法被调用就会根据情景来执行的,比如异常了就执行@AfterThrowing,其他四个注解都是被方法绑死,而环绕通知比较特殊,他能决定一个类是否需要返回对象,能决定该方法是否被调用。它是spring框架为我们提供的一种可以在代码中手动控制增强方法何时执行的方式。
执行顺序:环绕前置通知–>before–>环绕后置通知–>after–>afterReturing或者:环绕前置通知–>before–>环绕后置通知–>after–>afterThrowing。
这些通知都要要指定方法的权限修饰符、方法的返回值类型、方法的全限定名。在方法的参数的列表中不要随便添加参数值,会异常,如果需要参数就在参数列表加上joinpoint来getArgs(获取参数列表),返回值在注解中指定(returning=”result”)之后才能从在方法的参数列表指定。execution精确匹配的方式其实并不友好,一般用的是通配符(*和.)的方式也可以多个execution来进行逻辑运算(与或非)。
二、讲到AOP一定逃不掉的一个东西:动态代理的实现
有动态,那动态呢? 动态代理的代理类是动态生成的 . 静态代理的代理类是我们提前写好的。 那为什么要有动态代理呢?
静态代理的好处是:我们的真实角色更加纯粹 . 不再去关注一些公共的事情 ,公共的业务由代理来完成 .
实现了业务的分工,公共业务发生扩展时变得更加集中和方便。 缺点是:类多了 , 多了代理类 , 工作量变大了 . 开发效率降低 。
我们想要静态代理的好处,又不想要静态代理的缺点,所以 , 就有了动态代理 !动态代理的核心:一个动态代理 , 一般代理某一类业务 , 一个动态代理可以代理多个类,代理的是接口!
动态代理分为两类 : 一类是基于接口动态代理 , 一类是基于类的动态代理。 两种实现方式:
- JDK代理:基于接口的动态代理。
- CGlib代理:基于类的动态代理。
- 二者区别是:JDK代理只能对实现接口的类生成代理,利用反射机制生成一个匿名类,CGlib是针对类实现代理,对指定的类生成一个子类,并覆盖其中的方法,但是这种通过继承类的实现方式不能代理final修饰的类。
三、再聊到一个面试挥之不去的点
Spring的事务
事务分为两种:声明式事务、编程式事务。一一介绍一下,先来精简的。
- 编程式事务:在代码中直接加入处理逻辑,可能需要在代码中显式调用beginTransaction、commit、rollback方法。
- 声明式事务:方法外部添加@Transational注解或在配置文件中直接定义,将事务代码和业务方法分离,以声明的方式实现事务管理。AOP恰好能完成,通过AOP方法模块化,进而实现声明式事务。其中,声明式事务用法值得一提其中的属性:
- isolation:隔离级别。(大写不方便本人认读,所以还是小写)事务应该不会陌生吧?跟着MySQL/Oracle走,如果是MySQL,那隔离级别默认为RR(可重复读Read
Repeated)Oracle则是默认RC(读已提交Read Commited)。- timeout:超过时间。
- readonly:设置为只读事务。
- noRollBackfor:设置为发生该异常也不回滚(指定异常类的类名.class)只对特定异常类起作用。
- rollBackfor发生指定异常回滚(指定异常类的类名.class)只对特定异常类起作用。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【特征工程】数据缺失值处理
1 不进行处理 在数据源包含nan之类的值的时候也能进行建模: lightGBM(把缺失值看作一类,本质上也是真值转换,不推荐)Cart树(为了提升预测效果而填充,容易过拟合,不推荐)…...
2024/4/28 5:50:29 - 关于命名空间,它需要编译一下才好用
传统的编译错误指出在哪一行,对命名空间进行编译,指出哪几行出现冲突,例: namespace myns:from A import *from B import *报错:A和B都有open函数。 解决: from A import * dim A.open as fopen 这次不报错…...
2024/4/20 3:08:37 - Java设计模式之七大设计模式原则
博主信息: 📢博主: 嘟嘟的程序员铲屎官 💬:大家好,我是嘟嘟的程序员铲屎官,一位爱喵咪,爱开源,爱总结,爱分享技术的Java领域新星博主,如果你想和博主做朋友,关注博主,并私聊博主(给我发一条消息我就会关注你喔),博主本人也十分喜欢…...
2024/5/2 11:59:55 - [笔记] C++ 最大公约数函数__gcd()的用法及其朴素实现
C的标准库中提供了一些实用的函数,比如: __gcd(x,y)函数 用于求x,y的最大公约数。x,y不能是浮点数 头文件:#include< algorithm> 用法: #include<iostream> #include<algorithm> using namespace…...
2024/4/18 15:44:00 - 51蜂鸣器基础实验
蜂鸣器分为压电式蜂鸣器(无源,可控制音调、音量)和电磁式蜂鸣器(有源(内含振荡电路),已固定频率,大多改变不了音调、音量)。实验使用为前者。 实验原理: IO…...
2024/4/19 8:25:53 - 为什么称之为中东
https://zhidao.baidu.com/question/9696113.html 以欧洲(法国)为中心向东划分,近东(东欧、土耳其)、中东(阿拉伯地区、中亚)、远东(中国、东亚) “中东地区”或“中东”…...
2024/4/7 19:27:30 - Clion 使用MFC库,本地main方法想run一下失败后的解决方法
最近在写JNI,打算用java去调 C 或 C 去操作操作系统底层的API。MFC编程已经算是一个非常老的技术了。在MFC库中提供了大量的windows-api,故准备写JNI去调用windows底层api。 因为习惯使用Jetbrains家的产品,对于快捷键从Idea系列无缝对接所以…...
2024/4/7 19:27:29 - 关于热是什么与人体怎么感受到热的笔记
【今天能推翻过去的,未来能推翻今天的】 热是什么 热不是物质,热是大量分子的无规则运动。 热是怎么定义的?热表示的是分子运动的剧烈程度,那么热与运动又有什么样的联系?热的本质是红外光,是电磁波。热…...
2024/4/13 20:41:39 - 最长子序列
1. 最长递增子序列(注意不连续) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,…...
2024/5/2 8:20:26 - windows10 LTSC转换成pro
前提 为了提前体验win11,需要把电脑从ltsc转为普通专业版 操作如下 下载windows附件包,解压到C盘根目录 https://pan.baidu.com/s/19uSU1TXJORBoLJn9tGsNkw 管理员身份运行命令提示符,输入并回车运行以下命令: dism /NoRestart /online …...
2024/4/14 23:07:51 - 软件测试(白盒测试入门之gtest测试)
一、gtest是什么 gtest全程为GoogleTest,是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C单元测试框架,由google公司发布。 如何去下载,调用,这个可以去找下相关教程,还需要先学下cmake…...
2024/4/13 20:41:54 - 力扣27,移除特定元素(快慢指针,JavaScript)
快指针和val对比 //需要求数组长度,和删除后的数组 var removeElement function(nums, val) {//快慢指针let s0for(let k0;k<nums.length;k){//如果值不等于val,则把快指针的值给慢指针,慢指针也相应的进1if(val!nums[k]){nums[s]nums[k]s}//如果相…...
2024/5/2 5:30:58 - 力扣367,有效的完全平方数(JavaScript)
var isPerfectSquare function(num) {let l0let rnumwhile(l<r){let midlMath.floor((r-l)>>1)if(mid*mid<num){lmid1}else if(mid*mid>num){rmid-1}else{return true}}return false };...
2024/4/13 20:41:34 - 力扣34,查找元素第一个和最后一个的位置(JavaScript)
寻找左右边界的值 var searchRange function(nums, target) {//两个子函数//查找左边界const leftfunction(nums, target){let l0let rnums.length-1let a-2 //标记while(l<r){let midlMath.floor((r-l)>>1)if(target>nums[mid]){lmid1}else{ //如果target等于…...
2024/4/19 18:02:38 - 力扣69,sqrt(x)(JavaScript)
var mySqrt function(x) {let l0let rxlet a-1while(l<r){let midlMath.floor((r-l)>>1)if(mid*mid<x){//向下取整amidlmid1}else{rmid-1}}return a };...
2024/4/17 21:58:11 - .NetCore异常:Could not load file or assembly ‘Microsoft.AI.Web‘ or one of its dependencies. The system
阅文时长| 1.28分钟字数统计| 2058.4字符主要内容| 1、引言&背景 2、解决方案 3、声明与参考资料 『.NetCore异常:Could not load file or assembly Microsoft.AI.Web or one of its dependencies. The system cannot find the file specified.』编写人| SCscHe…...
2024/4/19 23:54:03 - gitlab恢复数据出现错误提示:Restoring PostgreSQL database gitlabhq_production ... ERROR: must be owner of exte
https://www.jianshu.com/p/09a2b0c25ecd...
2024/4/15 9:23:03 - Vmware 虚机中 CentOS7 网络不通配置
关键点总结: 1、虚机网络 Nat 配置 2、Windows 中为 VMware Network Adapter VMnet8 共享主机网络上网 3、Windows 中为 VMware Network Adapter VMnet8 设置默认 ip 同网段 .2 为网关 4、虚机中 CentOS7 中同样配置网关为 .2,并开机启动,…...
2024/4/13 20:41:29 - 【电路补习笔记】9、电容式开关电源(电荷泵)
目录分类原理电荷泵基础开关电容稳压器的细调功能电荷泵的电压增益调节输出电容(Co)优点电容式开关稳压器减小纹波相关应用老师的主页:唐老师讲电赛 视频地址: 电源大师3——电容式开关电源(电荷泵)工作原理…...
2024/4/13 20:41:49 - 免费虚拟机安装 CentOS 服务器
非商业免费版: Vmware Player 开源虚拟机: VirtualBox...
2024/4/13 20:41:29
最新文章
- ip地址与硬件地址的区别是什么
在数字世界的浩瀚海洋中,每一台联网的设备都需要一个独特的标识来确保信息的准确传输。这些标识,我们通常称之为IP地址和硬件地址。虽然它们都是用来识别网络设备的,但各自扮演的角色和所处的层次却大相径庭。虎观代理小二将带您深入了解IP地…...
2024/5/2 11:59:35 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用
作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…...
2024/5/1 13:52:04 - 论文阅读AI工具链
文献检索 可以利用智谱清言来生成合适的文献检索式,并根据需要不断调整。 谷歌学术 在Google Scholar中进行检索时,您可以使用类似的逻辑来构建您的搜索式,但是语法会有所不同。Google Scholar的搜索框接受普通的文本搜索,但是…...
2024/5/1 13:38:40 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/2 9:28:15 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
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/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和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/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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