与狗狗做网站互联网广告价格

news/2025/9/24 19:45:43/文章来源:
与狗狗做网站,互联网广告价格,注册域名要钱吗,无锡做网站品牌公司创建工程#xff1a; 2.1.程序的耦合 耦合#xff1a;耦合指的就是对象之间的依赖关系。对象之间的耦合越高#xff0c;维护成本越高。 案例#xff1a;没有引入IOC容器时系统的Web层、业务层、持久层存在耦合 /*** 持久层实现类*/ public class UserDaoImpl implements U…创建工程 2.1.程序的耦合 耦合耦合指的就是对象之间的依赖关系。对象之间的耦合越高维护成本越高。 案例没有引入IOC容器时系统的Web层、业务层、持久层存在耦合 /*** 持久层实现类*/ public class UserDaoImpl implements UserDao {Overridepublic void addUser(){System.out.println(insert into tb_user......);} }/*** 业务层实现类*/ public class UserServiceImpl implements UserService {//硬编码此处有依赖关系private UserDao userDao new UserDaoImpl();public void addUser(){userDao.addUser();} }/*** 模拟表现层*/ public class Client {public static void main(String[] args) {//硬编码此处有依赖关系UserService userService new UserServiceImpl();userService.addUser();} }问题分析 上边的代码service层在依赖dao层的实现类此时如果更改dao了层的实现类或此时没有dao层实现类编译将不能通过。 IOC(工厂模式)解耦 把所有的dao和service对象使用配置文件配置起来当服务器启动时读取配置文件把这些对象通过反射创建出来并保存在容器中在使用的时候直接从工厂拿 2.2.工程模式的IOC解决程序耦合 2.2.2.什么是IOC IOC (Inverse of Control)即控制反转正传是自己创建依赖对象反正是有IOC工厂来创建依赖对象 原来 ​ 我们在获取对象时都是采用new的方式。是主动的。 ​ 现在 ​ 我们获取对象时同时跟工厂要有工厂为我们查找或者创建对象。是被动的。 ​ ​ 这种被动接收的方式获取对象的思想就是控制反转它是spring框架的核心之一。 2.2.3.工厂模式的IOC解耦 案例一 /*** bean工厂*/ public class BeanFactory_v1 {/*** 获得UserServiceImpl对象* return*/public static UserService getUserService(){return new UserServiceImpl();}/*** 获得UserDaoImpl对象* return*/public static UserDao getUserDao(){return new UserDaoImpl();} }问题我们在开发中会有很多个service和dao此时工厂类就要添加无数个方法。 案例二 #1、配置要使用的dao和service UserDaocom.by.dao.UserDaoImpl UserServicecom.by.service.UserServiceImpl/*** bean工厂*/ public class BeanFactory_v2 {private static Properties prop new Properties();/*** 根据全类名获取bean对象* param beanName* return* throws ClassNotFoundException*/public static Object getBean(String beanName) {try {//不能使用web工程发布后没有src目录//InputStream is new FileInputStream(src/bean.properties);InputStream is BeanFactory_v2.class.getClassLoader().getResourceAsStream(bean.properties);prop.load(is);return Class.forName(prop.getProperty(beanName)).newInstance();} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(prop.get(UserService));System.out.println(getBean(UserService));} }/*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao (UserDao) BeanFactory.getBean(UserDao);public void addUser(){userDao.addUser();} }测试 /*** 模拟表现层*/ public class Client {public static void main(String[] args) {//直接引用接口实现类for (int i 0; i 5; i) {UserService userService (UserService)BeanFactory.getBean(UserService);System.out.println(userService);}} }问题 每次都会创建新的对象程序运行时才创建对象(读取配置文件) 案例三 package com.by.factory;import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; import java.util.Set;/*** bean工厂*/ public class BeanFactory_v3 {//定义一个容器用于存放对象private static MapString, Object beans new HashMap();/*** 加载配置文件*/static {try {//2、读取配置文件//不能使用web工程发布后没有src目录//InputStream is new FileInputStream(src/bean.properties);InputStream is BeanFactory_v3.class.getClassLoader().getResourceAsStream(bean.properties);//3、通过反射创建对象,把对象存到容器中Properties prop new Properties();prop.load(is);SetMap.EntryObject, Object entrySet prop.entrySet();for (Map.EntryObject, Object entry : entrySet) {String key entry.getKey().toString();String beanName entry.getValue().toString();Object value Class.forName(beanName).newInstance();beans.put(key, value);}} catch (Exception e) {e.printStackTrace();}}/*** 4、在使用的时候直接从工厂拿* param beanName* return*/public static Object getBean(String beanName) {try {return beans.get(beanName);} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(getBean(UserService));} }2.3.Spring的IOC解决程序耦合 2.3.1.创建工程 2.3.1.1.pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.by/groupIdartifactIdSpring_IOC_Xml/artifactIdversion1.0-SNAPSHOT/versionproperties!-- 项目源码及编译输出的编码 --project.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncoding!-- 项目编译JDK版本 --maven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!-- Spring常用依赖 --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.1.8.RELEASE/version/dependency/dependencies /project注意Jar包彼此存在依赖只需引入最外层Jar即可由Maven自动将相关依赖Jar引入到项目中。 Spring常用功能的Jar包依赖关系 | ​ 核心容器由 beans、core、context 和 expressionSpring Expression LanguageSpEL4个模块组成。 spring-beans和spring-core模块是Spring框架的核心模块包含了控制反转Inversion of ControlIOC和依赖注入Dependency InjectionDI。BeanFactory使用控制反转对应用程序的配置和依赖性规范与实际的应用程序代码进行了分离。BeanFactory属于延时加载也就是说在实例化容器对象后并不会自动实例化Bean只有当Bean被使用时BeanFactory才会对该 Bean 进行实例化与依赖关系的装配。spring-context模块构架于核心模块之上扩展了BeanFactory为它添加了Bean生命周期控制、框架事件体系及资源加载透明化等功能。此外该模块还提供了许多企业级支持如邮件访问、远程访问、任务调度等ApplicationContext 是该模块的核心接口它的超类是 BeanFactory。与BeanFactory不同ApplicationContext实例化后会自动对所有的单实例Bean进行实例化与依赖关系的装配使之处于待用状态。spring-expression 模块是统一表达式语言EL的扩展模块可以查询、管理运行中的对象同时也可以方便地调用对象方法以及操作数组、集合等。它的语法类似于传统EL但提供了额外的功能最出色的要数函数调用和简单字符串的模板函数。EL的特性是基于Spring产品的需求而设计的可以非常方便地同Spring IoC进行交互。 2.3.1.2.dao /*** 持久层实现类*/ public class UserDaoImpl implements UserDao {Overridepublic void addUser(){System.out.println(insert into tb_user......);} }2.3.1.3.service /*** 业务层实现类*/ public class UserServiceImpl implements UserService {//此处有依赖关系private UserDao userDao new UserDaoImpl();public void addUser(){userDao.addUser();} }2.3.2.IOC 2.3.2.1.applicationContext.xml ?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建id给对象在容器中提供一个唯一标识。用于获取对象 class指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数--bean iduserDao classcom.by.dao.UserDaoImpl/beanbean iduserService classcom.by.service.UserServiceImpl/bean /beans注意命名无限制约定俗成命名有spring-context.xml、applicationContext.xml、beans.xml 2.3.2.2.测试 /*** 模拟表现层*/ public class Client {public static void main(String[] args) {//1.使用ApplicationContext接口就是在获取spring容器ApplicationContext ac new ClassPathXmlApplicationContext(applicationContext.xml);//2.根据bean的id获取对象UserDao userDao (UserDao) ac.getBean(userDao);System.out.println(userDao);UserService userService (UserService) ac.getBean(userService);System.out.println(userService);userService.addUser();} }问题service层仍然耦合 2.3.3.DI 概述DIDependency Injection依赖注入将依赖对象从容器中拿出来赋值给调用者 2.3.3.1.构造函数注入 顾名思义就是使用类中的构造函数给成员变量赋值。注意赋值的操作不是我们自己做的而是通过配置的方式让spring框架来为我们注入。具体代码如下 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;private String name;private Integer age;public UserServiceImpl(UserDao userDao, String name, Integer age) {this.userDao userDao;this.name name;this.age age;}public void addUser(){System.out.println(name,age);userDao.addUser();} }?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建--bean iduserDao classcom.by.dao.UserDaoImpl/beanbean iduserService classcom.by.service.UserServiceImpl!--要求类中需要提供一个对应参数列表的构造函数。标签constructor-arg给谁赋值:index:指定参数在构造函数参数列表的索引位置name:指定参数在构造函数中的名称赋什么值:value:它能赋的值是基本数据类型和String类型ref:它能赋的值是其他bean类型也就是说必须得是在配置文件中配置过的bean--constructor-arg nameuserDao refuserDao/constructor-argconstructor-arg namename value张三/constructor-argconstructor-arg nameage value18/constructor-arg/bean /beans2.3.3.2.set方法注入 顾名思义就是在类中提供需要注入成员的set方法。具体代码如下 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;private String name;private Integer age;public void setUserDao(UserDao userDao) {this.userDao userDao;}public void setName(String name) {this.name name;}public void setAge(Integer age) {this.age age;}public void addUser(){System.out.println(name,age);userDao.addUser();} }?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建--bean iduserDao classcom.by.dao.UserDaoImpl/beanbean iduserService classcom.by.service.UserServiceImpl!--要求property标签constructor-arg给谁赋值:name:找的是类中set方法后面的部分赋什么值:value:它能赋的值是基本数据类型和String类型ref:它能赋的值是其他bean类型也就是说必须得是在配置文件中配置过的bean--property nameuserDao refuserDao/propertyproperty namename value张三/propertyproperty nameage value18/property/bean /beans2.3.3.3.自动注入 不用在配置中 指定为哪个属性赋值由spring自动根据某个 “原则” 在工厂中查找一个bean并为属性注入值。具体代码如下 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao userDao;}public void addUser(){userDao.addUser();} }?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建--bean iduserDao classcom.by.dao.UserDaoImpl/bean!--autowirebyType按照类型自动注入值--bean iduserService classcom.by.service.UserServiceImpl autowirebyType/bean /beans?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建--bean iduserDao classcom.by.dao.UserDaoImpl/bean!--autowirebyType按照类型自动注入值--bean iduserService classcom.by.service.UserServiceImpl autowirebyName/bean /beans2.3.3.4.注入集合类型的属性 顾名思义就是给类中的集合成员传值它用的也是set方法注入的方式只不过变量的数据类型都是集合。我们这里介绍注入数组List,Set,Map。具体代码如下 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;private String[] myStrs;private ListString myList;private SetString mySet;private MapString,String myMap;public void setUserDao(UserDao userDao) {this.userDao userDao;}public void setMyStrs(String[] myStrs) {this.myStrs myStrs;}public void setMyList(ListString myList) {this.myList myList;}public void setMySet(SetString mySet) {this.mySet mySet;}public void setMyMap(MapString, String myMap) {this.myMap myMap;}public void addUser(){System.out.println(Arrays.toString(myStrs));System.out.println(myList);System.out.println(mySet);System.out.println(myMap);userDao.addUser();} }?xml version1.0 encodingUTF-8? !--1、注意要导入schema约束-- beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!--2、把对象交给spring来创建--bean iduserDao classcom.by.dao.UserDaoImpl/beanbean iduserService classcom.by.service.UserServiceImpl!--要求property标签constructor-arg给谁赋值:name:找的是类中set方法后面的部分赋什么值:value:它能赋的值是基本数据类型和String类型ref:它能赋的值是其他bean类型也就是说必须得是在配置文件中配置过的bean--property nameuserDao refuserDao/property!-- 给mySet集合注入数据 --property namemySetsetvalueAAA/valuevalueBBB/valuevalueCCC/value/set/property!-- 注入array数组数据 --property namemyArrayarrayvalueAAA/valuevalueBBB/valuevalueCCC/value/array/property!-- 注入list集合数据 --property namemyListlistvalueAAA/valuevalueBBB/valuevalueCCC/value/list/property!-- 注入Map数据 --property namemyMapmapentry keytestA valueaaa/entryentry keytestB valuebbb/entry/map/property/bean /beans2.4.Spring中的工厂类 2.4.1.ApplicationContext ApplicationContext的实现类如下图 ClassPathXmlApplicationContext加载类路径下 Spring 的配置文件FileSystemXmlApplicationContext加载本地磁盘下 Spring 的配置文件 2.4.2.BeanFactory spring中工厂的类结构图 区别 ApplicationContext只要一读取配置文件默认情况下就会创建对象。 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(UserServiceImpl对象创建了...);}public void setUserDao(UserDao userDao) {this.userDao userDao;}public void addUser(){userDao.addUser();} }/*** 模拟表现层*/ public class Client {public static void main(String[] args) {new ClassPathXmlApplicationContext(applicationContext.xml);System.out.println(Spring IOC容器创建好了);} }BeanFactory是在 getBean 的时候才会创建对象。 /*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(UserServiceImpl对象创建了...);}public void setUserDao(UserDao userDao) {this.userDao userDao;}public void addUser(){userDao.addUser();} }/** * 模拟表现层 */ public class Client {public static void main(String[] args) {new XmlBeanFactory(new ClassPathResource(applicationContext.xml));System.out.println(Spring IOC容器创建好了);} }2.5.bean的作用范围 2.5.1.概述 在Spring中bean作用域用于确定bean实例应该从哪种类型的Spring容器中返回给调用者。 2.5.2.五种作用域 目前Spring Bean的作用域或者说范围主要有五种 作用域说明singleton默认值Bean以单例方式存在spring IoC容器prototype每次从容器中调用Bean时都返回一个新的实例相当于执行newInstance()requestWEB 项目中Spring 创建一个 Bean 的对象,将对象存入到 request 域中sessionWEB 项目中Spring 创建一个 Bean 的对象,将对象存入到 session 域中applicationWEB 项目中Spring 创建一个 Bean 的对象,将对象存入到 ServletContext 域中 可以通过 bean 标签的scope 属性控制bean的作用范围其配置方式如下所示 bean id... class... scopesingleton/需要根据场景决定对象的单例、多例模式 单例Service、DAO、SqlSessionFactory或者是所有的工厂 多例Connection、SqlSession 2.6.bean的生命周期 2.6.1.单例bean 案例 bean iduserService classcom.by.service.UserServiceImplscopesingleton init-methodinit destroy-methoddestroy/*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(调用构造方法创建bean...);}public void setUserDao(UserDao userDao) {System.out.println(调用set方法注入值...);this.userDao userDao;}public void init(){System.out.println(调用init方法初始化bean...);}public void destroy(){System.out.println(调用destroy方法销毁bean...);}public void addUser(){userDao.addUser();} }/*** 模拟表现层*/ public class Client {public static void main(String[] args) {ClassPathXmlApplicationContext ac new ClassPathXmlApplicationContext(applicationContext.xml);//关闭容器ac.close();} }生命周期 [容器启动]—构造方法(实例化)—set方法(注入)—init方法(初始化)—[容器关闭]—destroy方法(销毁) 2.5.2.多例bean 案例 bean iduserService classcom.by.service.UserServiceImplscopeprototype init-methodinit destroy-methoddestroy/*** 业务层实现类*/ public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(调用构造方法创建bean...);}public void setUserDao(UserDao userDao) {System.out.println(调用set方法注入值...);this.userDao userDao;}public void init(){System.out.println(调用init方法初始化bean...);}public void destroy(){System.out.println(调用destroy方法销毁bean...);}public void addUser(){userDao.addUser();} }/*** 模拟表现层*/ public class Client {public static void main(String[] args) {ClassPathXmlApplicationContext ac new ClassPathXmlApplicationContext(applicationContext.xml);//使用对象ac.getBean(userService);} }生命周期 [使用对象]----构造方法(实例化)—set方法(注入)—init方法(初始化)—[JVM垃圾回收]—destroy方法(销毁)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916156.shtml

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

相关文章

每日反思(2025_09_24)

今天跟着左神视频学些了快速排序以及逆序对和荷兰国旗问题,了解了双指针三指针递归解决问题,并解决了leetcode第75题颜色分类,正在解决力扣LCR170题。 明天继续跟视频学习,并写涉及到的力扣题,晚上总结这三天的学…

普通用户之间免密互信时因权限问题致使配置失败

[student@master ~]$ ssh-copy-id user1@node1 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/student/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with…

安装Flask库

安装Flask库 1、下载安装python官网下载 python-3.9.10-amd64.exe 安装,勾选Add Python 3.9 to PATH 2、验证安装cmd输入:python --version cmd输入:pip --version 升级pip:python -m pip install --upgrade pip …

《新概念英语》在线朗读,单句点读,随时随地在线学习。

新概念英语-全四册 New Concept English 在线课文点读 在线朗读,单句点读,随时随地在线学习。📕 第一册:《First Things First》 目标:打基础,日常交流入门内容概述:共144课,都是非常短的小对话和故事。 涉及…

深入解析:[p2p-Magnet] docs | HTTP API与Web界面 | 搜索查询引擎

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

南京网站制作学校怎么注册一个网站

戳蓝字“CSDN云计算”关注我们哦! 文 | 阿晶、丹丹、王银发于上海华为HC大会现场出品 | CSDN云计算(ID:CSDNcloud) 科技的不断发展正逐步加速智能世界的到来。一直,华为致力于提供经济且充裕的算力,力图像使…

为什么用MyEclipse做网站ps如何做音乐网站

观察者模式是一种设计模式,其中一个对象(称为主题)维护一组依赖于它的对象(称为观察者),当主题的状态发生变化时,它会通知所有观察者。这种模式常用于实现分布式事件处理系统。 下面是一个简单…

如何做分类网站信息营销网站设计的内容有哪些

学习网络开发过程中不想“污染”macOS,考虑到之后部署网络应用主要是与linux打交道,所以安装了 ubuntu 虚拟机以满足短期的知识学习需求。十里安装了 ubuntu 虚拟机,一般就是在 mac 中 ssh 连接 ubuntu 虚拟机在终端下进行操作学习&#xff0…

P10004 [集训队互测 2023] Permutation Counting 2

把排列写成一条路径 \(p_1\to p_2\to\cdots\to p_n\)。那么 \([p_i<p_{i+1}]\) 就是第 \(i\) 步往右走,\([p^{-1}_i<p^{-1}_{i+1}]\) 是 \(i\) 要先于 \(i+1\) 访问。 如果我们已知了 \(p^{-1}_{i}<p^{-1}_{…

java数组拷贝主要有四种方法,浅拷贝

java数组拷贝主要有四种方法,浅拷贝java数组拷贝主要有四种方法,浅拷贝 在Java中,数组拷贝可以通过多种方式实现,每种方式有其特定的用途和性能特点。下面列举四种常见的方法: 1. 使用System.arraycopy() System.…

毕赤酵母细胞工厂升级:CRISPR 技术破局传统局限,解锁多基因代谢工程新可能

在合成生物学与代谢工程的推动下,微生物细胞工厂已成为 bulk 化学品、高价值天然产物及重组蛋白的核心生产平台 —— 其温和的反应条件、高特异性的催化能力,可大幅降低传统化学合成的污染与能耗。在众多微生物宿主中…

日总结 7

今天上课老师让我们讲我们为大作业准备的ppt,详细内容就是介绍自己的产品,每个队3分钟时间,所以ppt的量要少而精,跟我们要介绍产品时一样,要在有限的时间内介绍出自己产品的核心和亮点,同时ppt的制作也有讲究,不…

React学习教程,从入门到精通,React Router 语法知识点及使用手段详解(28)

React学习教程,从入门到精通,React Router 语法知识点及使用手段详解(28)2025-09-24 19:33 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x…

网站制作网站设计沈阳关键字优化公司

目录 一.format 函数简介 1.format 函数不设置下标2.format 函数设置下标 二.format 函数实战三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.format 函数简介 format 函数主要是用来构造字符串&#xff0c;基本语法是通过 {} 符号操…

读书笔记:OpenPBR 规范(1)

1. 历史背景和动机 ​​​  计算机图形场景资产的转换仍然是一个重大问题,尤其是在表面外观方面。不同的渲染器和3D引擎使用不同的着色系统、着色语言以及固定渲染管线,这些系统不易互相操作。此外,准确建模表面外…

9月24号

今天上午,进行了离散数学的学习。 学习了集合关系和矩阵。 然后进行了马克思思想理论学习。

leetcode(填充每个节点的下一个右侧节点指针 II) - 详解

leetcode(填充每个节点的下一个右侧节点指针 II) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

做网站的就业前景泰州建设企业网站

为了避免用户在登录同一网站时频频输入账号、密码的现象&#xff0c;谷歌在自家的Chrome浏览器中贴心的加入了“自动填充功能”。那么&#xff0c;谷歌浏览器自动填充功能要怎么开启呢?不清楚操作方法的朋友&#xff0c;不妨收藏学习一下。 方法步骤 在Chrome地址栏输入“ch…

建设网站需要什么技术人员知名的企业网站建设

这个问题在我的电脑上由来已久&#xff0c;但是大部分的更新工作可以由其他第三方软件来完成&#xff0c;所有有时候得过且过。但同时&#xff0c;有一些棘手的问题&#xff0c;会提示系统进行 Windows Update&#xff0c;只有硬着头皮解决了。如果你遇到了“系统无法创建还原点…

湛江网站制作系统摄影素材网站

目的&#xff1a; 物理层要尽可能地屏蔽掉物理设备和传输媒体&#xff0c;通信手段的不同&#xff0c;使数据链路层感觉不到这些差异&#xff0c;只考虑完成本层的协议和服务。 给其服务用户&#xff08;数据链路层&#xff09;在一条物理的传输媒体上传送和接收比特流…