本篇文章从Spring框架的概念入手,完整介绍Spring框架的特性和一些Spring一些底层的实现原理,详细介绍Spring的特性IOC特性和Spring的三种不听的注入方式,并分析其特点.最后总结Spring IOC的特点和Spring工厂的特性

文章目录

  • 引言
  • Spring框架
    • 概念
    • Spring架构组成
    • 搭建一个自定义的工厂
  • 在maven项目中搭建spring环境
    • Spring工厂细节
      • Spring依赖管理
      • Schema:规范
  • IOC
    • IOC简单介绍
    • 没使用Spring项目管理之前强耦合和其缺点
    • 使用Spring IOC
      • 使用Spring IOC的优势
  • DI
    • 概念
    • set注入(常用)
    • 构造注入(了解)
    • 自动注入(了解)
  • Bean细节
    • 控制简单对象的单例.多例模式
    • FactoryBean创建复杂对象
  • Spring工厂特性
    • 饿汉式创建优势
    • 声明周期方法
    • 生命周期阶段

引言

  • 传统web开发存在硬编码所造成的过度程序耦合(例如:Service中作为属性Dao对象)
  • 邠Java EE API较为复杂,使用效率低(例如:JDBC开发步骤)
  • 侵入性强,移植性差(例如:DAO实现的更换,从Connection到SqlSession).

Spring框架

概念

  • Spring是一个项目管理框架,同时也是一套Java EE解决方案
  • Spring是众多优秀设计模式的组合(工厂,单例,代理,适配器,装饰设计模式,观察者,模板,策略)
  • Spring并未代替现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称"胶水框架"

Spring架构组成

Spring架构组成
image-20200619073645694

搭建一个自定义的工厂

自己搭建一个自定义的工厂,了解一下工厂的运行原理是怎么样的

分析:

  1. 为了测试我们的Spring的自动创建对象,所以需要创建一个实体类
  2. 需要配置文件来管理和指明我们要管理的实体类都有哪些
  3. 需要创建一个工厂提供一个方法来为我们创建实体类的对象,而不是我们手工的去创建
最终的项目结构
image-20200619153929848

实体类代码

Userdao接口代码

package per.leiyu.dao;/*** @author 雷雨* @date 2020/6/19 15:03*/
public interface UserDao {void deleteUser(Integer id);
}

UserDaoImpl代码

package per.leiyu.dao.daoImpl;import per.leiyu.dao.UserDao;/*** @author 雷雨* @date 2020/6/19 15:10*/
public class UserDaoImpl implements UserDao {@Overridepublic void deleteUser(Integer id) {System.out.println("User的删除方法");}
}

service的代码基本上和UserDao相同,因为我们只是为了简单实现spring的自动创建实体类对象功能,这里只列举一个测试对象就可以了

配置文件bean.properties

userDao=per.leiyu.dao.daoImpl.UserDaoImpl
userService=per.leiyu.service.serviceImpl.UserServiceImpl

测试类代码

package per.leiyu.factoryTest;import per.leiyu.dao.UserDao;
import per.leiyu.factory.Myfactory;import java.io.IOException;/*** @author 雷雨* @date 2020/6/19 15:30*/
public class MyfactoryTest {public static void main(String[] args) throws IOException, IllegalAccessException, InstantiationException, ClassNotFoundException {//1.创建一个工厂对象Myfactory myfactory = new Myfactory("/bean.properties");//2.从工厂中获取对象UserDao userDao = (UserDao)myfactory.getBean("userDao");userDao.deleteUser(1);}
}
自定义工厂获取实体类对象的测试结果
image-20200619160746782

思路分析:

  1. 配置文件提供了实体类和给定的一个name值,告诉我们用name值可以找到对应实体类的路径
  2. 工厂先加载配置文件,然后提供一个方法来获取配置文件中name值来用反射机制创建对应的实体类

在maven项目中搭建spring环境

先创建好一个maven项目

  1. 第一步需要导入spring的依赖
  2. 创建Spring的配置文件
  3. 创建实体类(创建实体类后要在配置文件中对要创建对象的实体类"注册")
  4. 测试

spring的依赖

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.4.RELEASE</version></dependency>

创建Spring的配置文件

命名无限制,约定俗称的命名有:spring-context.xml applicationContext.xml beans.xml

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!--要工厂生产的对象使用的是xml格式的配置方式--><bean id="userDao" class="per.leiyu.dao.daoImpl.UserDaoImpl"></bean></beans>
  • id:标识
  • class:要生产的类的路径

仍然使用上面自定义工厂的实体类就可以

测试

package per.leiyu.factoryTest;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import per.leiyu.dao.UserDao;/*** @author 雷雨* @date 2020/6/19 16:01*/
public class SpringFactoryTest {@Testpublic void  testSpringFactory(){//启动工厂//加载了配置文件(用的实现类)   返回值用接口接收ApplicationContext context = new ClassPathXmlApplicationContext("/spring-context.xml");//获取对象UserDao userDao = (UserDao) context.getBean("userDao");userDao.deleteUser(1);}
}
Spring简单实现自动创建实体类对象测试结果
image-20200619161023613
  • 我们能调到那个实体类的方法并执行,就说明在底层Spring已经自动的帮我们创建了实体类的对象

Spring工厂细节

  1. 我们在maven项目的依赖中只导入了一个依赖,真的是这样吗?
  2. schema

Spring依赖管理

虽然我们只在maven项目中导入了spring的一个依赖,但是jar包之间是彼此依赖的,当导入一个"上层"依赖时,maven发现"下层"的依赖没有导入就会自动帮我们导入

看这个图就会发现maven实际上并不是导入一个依赖
image-20200619161759826
Spring常用功能的jar包依赖关系
image-20200619162330452

Schema:规范

配置文件中的顶级标签中包含了语义化标签的相关信息

  • xmlns: 语义化标签所在的命名空间
  • xmlns:xsi: XMLSchema-instance标签遵循Schema标签标准
  • xsi:schemaLocation: xsd文件位置,用以描述标签语义,属性,取值范围等

简单的说就是描述了

  • xml文件中可以出现什么样的标签
  • 这些标签代表了什么语义
  • 这些标签的层级是怎么样的(谁是谁的父标签,谁是子标签)

IOC

IOC简单介绍

IOC:Inversion of Control控制反转

反转了依赖关系的满足方式,由之前的自己创建依赖对象,变为了由工厂推送.(变主动为被动,即反转)

解决了具有依赖关系的组件之间的强耦合,使得项目形态更加稳健

要了解控制反转,那就首先得了解什么叫依赖关系,这里做一个简单的解释

没使用Spring项目管理之前强耦合和其缺点

在有Spring IOC之前
image-20200619163822181

我们service的实现需要使用到UserDaoImpl的功能,那么我们在不使用Spring的情况下,我们只能将该对象new出来.--------这就导致了强耦合

当项目需要发生改变:我们需要使用到另一个UserDaoImpl时,我们不仅需要重新写一个UserDaoImpl,还需要改动service的相关代码,这种强耦合的关系,在修改一个类的时候还需要改动另一个类的代码,这给代码的维护和开发都带来很大的困难,这就导致了多少程序员同行的加班熬夜和程序员们可怜的发际线逐渐难以保护


使用Spring IOC

  1. 不再在需要用到其他类时new对象,而是叫给Spring管理,只需要提供给其接口信息,和get set方法
  2. 在spring的配置文件中指定
package per.leiyu.service.serviceImpl;import per.leiyu.dao.UserDao;
import per.leiyu.dao.daoImpl.UserDaoImpl;
import per.leiyu.service.UserService;/*** @author 雷雨* @date 2020/6/19 15:13*/
public class UserServiceImpl implements UserService {//    UserDao userDao = new UserDaoImpl() ;private UserDao userDao;@Overridepublic void deleteUser(Integer id) {System.out.println("UserService的实现方法");userDao.deleteUser(1);}public UserDao getUserDao() {return userDao;}public void setUserDao(UserDao userDao) {this.userDao = userDao;}
}

  <bean id="userDao" class="per.leiyu.dao.daoImpl.UserDaoImpl"></bean><bean id="userService" class="per.leiyu.service.serviceImpl.UserServiceImpl"><!-- userDao属性赋值 值为id为userDao的一个bean --><property name="userDao" ref="userDao"/></bean>
  • 这里的标签中的name属性填写实体类(UserServiceImpl)中的userDao属性
UserServiceImpl实体类中的属性
image-20200619171839453
  • ref对应的是在spring配置文件中一个bean的一个id值
ref属性对应id值
image-20200619172059728
使用Spring执行结果
image-20200619170410552
  • 成功执行了自己的方法和UserDao接口的实现类的方法

使用Spring IOC的优势

  • 不引用任何一个具体的组件(实现类),在需要其他组件的位置预留存取值入口(set/get)

当UserServiceImpl中的使用的Userdao的实现类发生改动时

不需要改动UserServiceImpl中相关代码只需要在Spring的相关配置文件中重新"注册"实体类的bean,修改UserServiceImpl对应的ref映射的bean的id值即可.

消除了UserServiceImpl和UserDao的强耦合

这就达到了如果一个类需要修改,那么一定是这个类本身的问题,而不会是因为别的类发生修改而这个类也发生修改

DI

DI:Dependency Injection 依赖注入

概念

在Spring创建对象的同时,为其属性赋值,称之为依赖注入

可分为三类注入方式:

  1. set注入
  2. 构造注入
  3. 自动注入

set注入(常用)

创建对象时,Spring工厂会通过Set方法为对象的属性赋值

定义目标Bean类型并提供get和set方法

package per.leiyu.entiry;import java.util.*;/*** @author 雷雨* @date 2020/6/19 17:45*/
public class User {private Integer id;private String password;private String sex;private Date bornDate;private String[] hobbys;private Set<String> phones;private List<String> names;private Map<String,String> countries;private Properties properties;//篇幅原因这里不展示get和set

在Spring配置文件中的映射

    <bean id="user" class="per.leiyu.entiry.User"><!-- 基本类型  String  --><property name="id" value="1"/><property name="password" value="123"/><property name="sex" value=""/><property name="bornDate" value="2020/6/18 12:20:03"/><!-- 数组 --><property name="hobbys"><array><value>bastetball</value><value>football</value></array></property><!-- set--><property name="phones"><set><value>12321</value><value>214214</value></set></property><property name="names"><list><value>张三</value><value>李四</value></list></property><property name="countries"><map><entry key="zh" value="中国"></entry><entry key="en" value="英国"></entry></map></property><property name="properties"><props><prop key="url">jdbc:mysql:3306</prop><prop key="username">root</prop></props></property></bean>

构造注入(了解)

创建对象时,Spring工厂会通过构造方法为对象的属性赋值

定义目标Bean类型并提供有参的构造函数

package per.leiyu.entiry;/*** @author 雷雨* @date 2020/6/19 18:17*/
public class Student {private Integer id;private String name;private String sex;private Integer age;public Student(Integer id, String name, String sex, Integer age) {//这里在构造里面加了一句话是为了后面容易验证System.out.println("这个方法执行了");this.id = id;this.name = name;this.sex = sex;this.age = age;}public Student() {super();}
}

Spring配置文件配置Bean

    <bean id="student" class="per.leiyu.entiry.Student"><constructor-arg name="id" value="1"/><constructor-arg name="name" value="雷雨想当工程师"/><constructor-arg name="age" value="18"/><constructor-arg name="sex" value=""/>bean>

测试类

package per.leiyu.factoryTest;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import per.leiyu.entiry.Student;/*** @author 雷雨* @date 2020/6/19 18:20*/
public class SpringStudentTest {@Testpublic void test1(){ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");Student student = (Student) context.getBean("student");System.out.println(student);}
}
结果
image-20200619182602100

自动注入(了解)

自动注入方式-byName
image-20200619200134411
自动注入方式-byType
image-20200619200412079
  • 需要注意的是:在配置文件中使用自动注入,符合注入条件的必须只是唯一的一个Bean,如果是多个Bean,那么会报异常

Bean细节

控制简单对象的单例.多例模式

配置

<!--singleton(默认):每次调用工厂都是得到的同一个对象prototype:每次调用工厂,都会创建新的对象
--><bean id="mc" class="per.leiyu.entiry.Mycalass" scope="singleton"></bean>
  • 注意:需要根据场景决定对象的单例和多例模式
  • 可以共用:Service.Dao.SqlSessionFactory(或者是所有的工厂)
  • 不可共用:Connection.SqlSession.ShoppingCart

FactoryBean创建复杂对象

作用:让Spring可以创建复杂对象.或者无法直接通过反射创建的对象

Spring创建对象的过程:就是需要用反射来调用实体类的构造方法来创建对象,但是有些对象不能通过简单的new(也就是构造方法的方式)来创建对象

复杂对象:简单的说就是不能通过new创建的对象,比如Connection对象.SqlSessionFactory对象

创建复杂对象需要借助FactoryBean,这里演示一个创建Connection对象的工厂Bean方法

package per.leiyu;import org.springframework.beans.factory.FactoryBean;import java.sql.Connection;
import java.sql.DriverManager;/*** @author 雷雨* @date 2020/6/19 20:21*/
public class myFactoryBean implements FactoryBean {/*** 创建复杂对象的具体方法* @return* @throws Exception*/@Overridepublic Object getObject() throws Exception {Class.forName("com.mysql.jdbc.Driver");return DriverManager.getConnection("jdbc:mysql:localhost:3306:/mybatis","root","123456");}@Overridepublic Class<?> getObjectType() {return Connection.class;}@Overridepublic boolean isSingleton() {return false;}
}

在Spring配置文件中进行注册

 <!-- 复杂对象的创建  演示Connection的创建注意Spring中创建复杂对象(使用FactoryBean)返回的是getObject方法的返回值--><bean id="myFactoryconn" class="per.leiyu.myFactoryBean"></bean>

测试类

package per.leiyu.factoryTest;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import java.sql.Connection;/*** @author 雷雨* @date 2020/6/19 20:32*/
public class TestFactoryConnection {@Testpublic void test1(){ApplicationContext context = new ClassPathXmlApplicationContext("/spring-context.xml");Connection conn = (Connection)context.getBean("conn");System.out.println(conn);}
}
成功创建了复杂对象
image-20200619204014380

Spring工厂特性

饿汉式创建优势

工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉式)

提高程序运行效率.比年多次IO,减少对象创建时间(概念接近连接池,一次性创建好,使用时直接获取)

声明周期方法

  • 自定义初始化方法:添加"inint-method"属性,Spring则会在创建对象之后,调用此方法
  • 自定义销毁方法:添加"destory-method"属性,Spring则会在销毁对象之前,调用此方法
  • 销毁:工厂的close()方法被调用之后,Spring会销毁所有已创建的单例对象
  • 分类:Singleton对象由Spring容器销毁,prototype对象由JVM销毁

Spring生命周期过程:(不完全过程)

调用构造方法-----调用set方法-----调用初始化方法-----调用销毁方法销毁

  • 如果不是构造注入,那么就调用空参构造,如果是构造注入就直接调用有参的构造方法

生命周期阶段

单例Bean:singleton

随工厂启动创建=构造方法>set方法(注入值)>init(初始化)>构建完成===随工厂关闭销毁

多例Bean:prototype

被使用时创建=构造方法>set方法(注入值)>init(初始化)>构建完成===JVM垃圾回收销毁

我是雷雨,一个普本科的学生,主要专注于Java后端和大数据开发

如果这篇文章有帮助到你,希望你给我一个大大的赞
如果有什么问题,希望你能留言和我一起研究,学习靠自觉,分享靠自愿

转载注明出处
https://blog.csdn.net/qq_40742223

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

相关文章

  1. 剑指offer 63 求输入流中位数/JAVA

    剑指offer 63 求输入流中位数 JZ63题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,…...

    2024/4/15 3:17:27
  2. 嘲讽新人的简历都很吃香

    某时某刻 开始,嘲讽别人 好像成了一种主流。技术 大佬对菜鸟的嘲讽,尤其是培训班出来被嘲讽的体无完肤。站在道德的制高点,觉得自己很有理,指点江山。真的很想问问,当初,自己一进公司 就是大牛吗,有人嘲讽你,还是想把别人施加在你身上的事情,重复的施加在别人 身上。达…...

    2024/4/24 14:19:33
  3. LeetCode--852--山脉数组的峰顶索引

    题目描述: 我们把符合下列属性的数组 A 称作山脉: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1] 给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < … A[i-1] <…...

    2024/4/24 14:19:30
  4. windows环境下部署Tomcat服务器

    源码学院 对于程序员来说部署服务器属于必备技能,我们这里针对windows系统下对于Tomcat的部署进行了简单的介绍。 1、安装JDK。从官网上下载与你电脑对应的JDK安装包,安装程序。 2、配置环境变量。新建 java_HOME : 路径 C:\java\jdk PATH : ;%java_HOME%\bin;%java_HOME%\j…...

    2024/4/24 14:19:29
  5. JAVA基础 第三篇:梅森数、梅森素数、伪素数——素数与指数的完美结合与进阶

    在前面的章节中,我们分别讨论了质数和指数,今天我们不做其他的,仅仅将它们进行整合一下,为什么呢?因为在数学领域,有一种特殊的正整数,形如:2^p - 1,其中指数p为质数,这种数字被称为梅森数,其中的质数又被称为梅森素数。梅森数中有一种“变体”——伪素数:2^(p-1)-…...

    2024/4/24 14:19:29
  6. 不安装网络插件flannel,k8s初始化不会成功。

    缘由:这个问题是因为直接从PDF上复制命令,会出现一些问题。 比如: kubeadm init --kubernetes-version=$(kubeadm version -o short) --pod-network- cidr=10.244.0.0/16 #PDF自动将cidr前面加了回车wget https://raw.githubusercontent.com/coreos/flannel/master/Docume…...

    2024/4/24 14:19:27
  7. A. Sequence with Digits(思维)

    A. Sequence with Digits 公式:an+1=an+minDigit(an)⋅maxDigit(an)a_{n+1}=a_n+minDigit(a_n)⋅maxDigit(a_n)an+1​=an​+minDigit(an​)⋅maxDigit(an​) 含义:minDigit(an),anminDigit(a_n),a_nminDigit(an​),an​的每个十进制位置上的最小值。maxDigit(an),anmaxDi…...

    2024/4/24 14:19:26
  8. UDP通信的socket编程

    TCP/IP协议叫做传输控制/网际协议,又叫做网络通信协议。实际上,它包括上百个功能的协议。 套接字(socket):在网络中用来描述计算机中不同程序与其他计算程序的通信方式。 套接字分为三类; 流式socket(SOCK_STREAM):提供可靠,面向连接的通信流;它使用TCP协议,从而保证…...

    2024/4/24 14:19:25
  9. 课程设计-地铁自助售票机模拟系统

    #include<iostream> #include<fstream> #include<conio.h> #include<string> #include<cstdio> #include<windows.h> using namespace std; struct node //标记结构体-用于标记地铁自助售票机模拟系统基本信息 {string Num; //地…...

    2024/4/24 14:19:28
  10. Map 接口知识点

    Map:1. map是键值对关系,它将键映射到值,一个映射不能包含重复的键,每个键最多只能映射到一个值,意思是,键不能重复,值可以重复,键与之一一对应。2.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另…...

    2024/4/15 3:17:42
  11. Linux shell脚本编程 条件判断语句、循环语句

    一、条件判断语句 (1)创建一个简单的shell程序,输入学生的成绩,给出该成绩对应的等级,大于90分为A,80-89为B,70-79为C,60-69为D,小于60分为E。要求使用if…elif….else fi实现。 vim t4.sh,编写内容如下: #!/bin/bash num=$# # get the number of parameter if […...

    2024/4/20 2:56:16
  12. python - 3.8 判断成绩是否合格

    score=int(input("输入同学的分数:"))if score>=70:print("成绩合格") else:print("成绩不合格")result="合格" if score>=70 else "不合格" print("成绩结果:"+result)print("成绩结果:",&qu…...

    2024/4/15 3:17:39
  13. 【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始

    写在开头 在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的。无非就是老师布置的一个作业,还是那种无趣且磨人的工作。 结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居然能坚持这么一直写下去了。 让我出现这种转变的动力有两个: …...

    2024/4/19 21:24:40
  14. 简单的博客项目

    1 通过前端请求信息定位后端资源: 开发者工具中查看请求头的Request URL 处. http://localhost:8081/blogg/jsp/articleDetail.jsp?type=update&id=2&devToken=null,这里和后台servlet对应(就是在servlet中找映射),包括请求时传入的参数,也可以在servlet中设置然后进…...

    2024/4/20 15:08:56
  15. Java集合知识概括

    Java集合知识概括Java集合框架概述Collection方法Iterator迭代器接口Collection子接口一:ListCollection子接口二:SetMap接口Collections工具类 Java集合框架概述 Java集合:为什么使用集合呢?数组不好么?因此集合的容量会随着元素的增多而增加。而数组的容量在初始化时即确…...

    2024/5/3 6:22:17
  16. Codeup——575 | 问题 E: Shortest Distance (20)

    题目描述 The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits. 输入 Each input file contains one test case. For each case, the first line contains an inte…...

    2024/5/3 9:14:09
  17. canFestival移植(3)-----SDO快速收发函数应用分析

    前序 通过前2篇文章后,我相信大家对系统有了比较深入的理解,并且能够理解移植后,系统是怎么工作的,SDO报文是使用比较经常的一种报文,本篇文章分析一下怎么使用SDO收发报文,进一步理解canFestival。本文只讲解快速SDO报文,也是使用最多的报文,普通SDO报文用户大数据传输…...

    2024/5/3 11:47:38
  18. 借 shared_ptr 实现 copy-on-write,避免死锁

    书中提到假设有下面代码: MutexLock mutex; std::vector<Foo> foos;void post(const Foo &f) {MutexLockGuard lock(mutex);foos.push_back(f); }void traverse() {MutexLockGuard lock(mutex);for(std::vector<Foo>::const_iterator it = foos.begin(); it !…...

    2024/4/15 3:17:33
  19. Springboot+MybatisPlus新特性之逻辑删除、乐观锁、自动填充

    公共字段的自动填充功能 更多编程的干货和获取源码关注我的公众号:不会写代码的阿P 自动更新全局属性,比如创建的时间修改的时间,这样就不用每执行一次插入更新操作都带上一个set大大节省了很多效率,从而也避免为了因为时间格式的不统一问题。 为了输出日志到控制台引入日志…...

    2024/4/20 4:20:26
  20. C语言实现UDP

    #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <string.h> #define SERVER_PORT 8888 #define BUFF_LEN 1024 void handle_udp_msg(int fd) { char buf[BUFF_LEN]; //接收缓冲区,1024…...

    2024/4/15 3:17:35

最新文章

  1. 怎么办理北京工作居住证

    怎么办理北京工作居住证 来源 北京市工作居住证 ciicbj 1 外埠人员工作居住证续签 - 北京市政务服务网 banshi.beijing 2 北京工作居住证办理条件材料及流程 bj.bendibao 3 查看更多2 答案 根据搜索结果,办理北京工作居住证的主要流程如下: 申请条件 具有…...

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

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

    2024/5/7 10:36:02
  3. 小核引导RTOS

    参考 参考1. How does FSBL load the FreeRTOS on the small core and execute it?参考2. Duo now supports big and little cores?Come and play!Milk-V Duo, start&#xff01; 日志 FSBL Jb2829:g362832ac6-dirty:2024-04-02T13:31:1100:00 # 版本信息 st_on_reason…...

    2024/5/7 9:25:36
  4. Flutter 拦截系统键盘,显示自定义键盘

    一、这里记录下在开发过程中&#xff0c;下单的时候输入金额需要使用自定义的数字键盘 参考链接: https://juejin.cn/post/7166046328609308685 效果图 二、屏蔽系统键盘 怎样才能够在输入框获取焦点的时候&#xff0c;不让系统键盘弹出呢&#xff1f;同时又显示我们自定义的…...

    2024/5/5 8:36:47
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/7 5:50:09
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

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

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

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

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

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

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

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

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

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

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

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

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

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

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/5/4 23:54:56
  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