




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA软件开发流程 分类: J2EE2010-11-21 15:52167人阅读评论(0)收藏举报软件开发的过程:1、需求分析(25-30%):在面试时说明自己参与了某个项目的某个模块从需求到设计到开发的所有过程,一定客户签字认可,在合同要说明验收时以需求说明书的内容为准,若有改动,需与商务另行商议。成果:需求说明书,具体内容如下:demo(界面原型):需求的可视化需求特征列表:简要的说明系统的功能,确定优先级及风险度用例图(user-case图):说明系统整体的功能角色:角色:系统的参与者用例:一个功能系统边界:功能范围关系:角色与角色:泛化(实线+三角)用例与用例:扩展:-extend-可用可不用包含:-include-必须调用角色与用例:调用(实线+箭头)用例与角色:通知(实线+箭头)用例说明:1、用例流程图(活动图)说明开始结束状态处理判断分支泳道汇集2、写用例说明文档,其有六大元素功能描述:用例的简要描述参与者:角色前置条件:前提后置条件:结果基本流:最正常的情况扩展流:可能及出错的情况 2、整体设计(20-30%)1、分析业务流程:系统功能及复杂用例的流程bbs登陆注册浏览、发新帖、回复短消息用户管理版块管理帖子管理2、根据业务流程设计业务实体及类图(体现ooa思想、数据库设计的思想)讨论区(1) 版块(0.n)版块(1) 主帖(0.n)主帖(1) 回帖(0.n)用户(1) 帖子(主帖、回帖)(0.n)用户(1) 消息(0.n)e-r图的的过程1、外模型:根据业务找业务实体,与具体技术无关2、概念模型:与具体的技术整全在一起过程:找实体接关系写属性三级范式:有主键完全依赖于主键不出现传递依赖类图:角色:接口 类关系:继承:实线+三角依赖:虚心+箭头实现接口:虚心+三角关联:实线+箭头聚集:实线+空心菱组成:实线+实心菱3、确定项目的技术框架框架设计的原则:上层依赖于下层,尽量减少下层对上层的依赖,层与层之间通过接口调用。模式的目的:提高代码的可扩展、可维护性模式的原则:增加开放,修改关闭,面向接口抽象类编程常用的模式:最好画图 simplefactory:简单工厂,有三个角色工厂:产生具体产品返回抽象产品抽象产品:一个接口或抽象类具体产品:具体的实现增加一个产品时不用修改客户端,只需修改工厂,如果用了返回,就不用修改工厂,只需修改配置,spring用的就是返射,是超级工厂。单例:整个虚拟机中只有一个实例。三大特征:1、私有所构造子2、私有的静态属性3、公有的静态方法,对象为空时产生一个新的,不为空直接返回代理:代理与真实对象实现的是同一接口,将真实对象作为代理的属性向客户端公开的代理,客户端调用代理的方法时,代理找到真实对象,调用真实对象方法,在调用之前之后通过装备可以提供事务、日志、安全等服务。模板:父类提供抽象方法及具体方法,具体方法调用抽象方法,抽象方法由子类实现,向客户端公开的子类,客户端通过父类的具体方法调用子类实现的抽象方法,为子类提供服务。装饰:有三个角色,通用接口,本原,装饰,将通用接口聚集到装饰中,装饰可以有很多子类,可以将本原或装饰通过构造子注入到另一个装饰中,将多个装饰的功能随意组合。轻量级的框架jsp&servlet&dao&jdbc:用的model2,速度是最快的,开发效率不高。M:facade&dao&jdbcC:serlvetV:jsp通过jsp将请求发给servlet,servlet通过FacadeFactory产生具体的Facade返回一个IFacade接口,通过IFacade接口调用Facade的具体方法。Facade通过dao的抽象工厂产生具体的工厂,通过具体的工厂产生具体的dao,返回dao接口给业务层。Facade执行完后将结果返回给servlet,servlet转发到下一个页面。Servlet用了模板模式可以提供错误处理、事务、页面跳转的服务。struts&dao&hibernate:速度较快,因为我们要自己实现工厂,并不是所有的一切都是返射,相对spring来说速度更快一些。struts:mvc,请求处理过程用一个模板模式提供通用错误、事务、跳转服务。将IFacade接口作业其属性,通过FacadeFactory工厂产生具体的Facade返回一个Facade接口。facadeIFacade接口Facade实现类FacadeFactory:facade工厂dao接口作为Facade的属性,通过AbstractFactory调用具体的DaoFactory产生具体的dao实例,返回dao接口。dao:daodaoImplDaoFactory:产生daoImpl实例,返回dao接口AbstractFactory:通过返射、工厂、单例产生具体的DaoFactory,返回AbstractFactroy给业务层,因为具体的工厂继承于抽象的工厂,客户端调用的还是具体工厂方法。hibernate核心类核配置文件struts&spring&hibernate/ibatis:这是当前最通用、最快速、藕合度最低的开发方式但也有一个问题spring一切都是返射,速度慢。struts/hibenate/ibatis要解析xml文件、要大量用到返射,所以速度慢。一般适合于中小型系统(并发量500),大型系统有些不适合需要调整。struts已是MVCspring是一个超级工厂,在spring中配置的都是实现类,在代码中得到都是接口。 hibenate/ibatis是o/r Mapping框架结构:struts:mvc请求处理过程 在spring中加入bean标签,配置具体的action,通过set方法将Facade代理注入到action的IFcade接口中。FacadeIFacade接口Facade实现类在applicationContext.xml配置具体的Facade类,在配置Facade的Aop服务时,先配置抽象代理AbstractProxy其类是TransactionProxyFactoryBean,说明装备TransactionManager,说明连接点TransactionAttributes。再配置具体的代理,继承于AbstractProxy,通过target指向真实的对象。通过set方法注入将具体的Dao注入到Facade的Dao接口属性中。 Daodao接口dao的实现 extends HibernateDaoSupport/SqlMapClientSupport在applicationContext.xml中配置具体的dao,向Facade返回dao接口。hibernate在applicationContext.xml中配置dataSource、sessionFactory,通过set方法注入将sessionFactory注入到dao实现类中。ibatis: 在applicationContext.xml中配置dataSource、sqlMapClient,通过set方法注入将sqlMapClient注入到dao实现类中。3、详细设计对于开发能力比较强的团队,可以不做详细设计。时序图:作用:找类、找方法、验证系统的正确性元素:纵轴:时间、对象的生命周期横轴:说明对象与对象的交互4、编码(25-30%) 5、测试(10%)umlooa与ood的区别?ooa:面向对象的分析,根据客户的业务找业务实体,与具体的技术无关,客户可以看懂。ood:面向对象的设计,是ooa的全集,与具体的技术框架相结合进行设计。面向过程与面向对象的区别?面向过程:1、现实世界是对象,其在分析过程中是对象,在设计过程不是对象而是方法与方法之间的调用,容易与现实脱离,容易出错。2、因为是方法与方法之间的调用,重用性不高,无法达到宏观层次上的控制。3、开发难、维护难、可扩展性、重用性差。面向对象: 1、现实世界是对象,其在分析过程中是对象,在设计过程还是对象分析设计与现实接近,降低了开发的难度。2、继承可以让概念在宏观层次重用,当层与层之间通过接口或抽象类调用时,他们所依赖的不再是具体的实现细节,而是宏观商业逻辑即接口、抽象类,具体的实现是可以随时被替换的。3、技术在不断的更新,但业务变化较少,业务实体可以很好的重用。3、开方方便、好维护、好扩展什么是模型?现实的浓缩。模型的作用?1、便于分析、认识世界2、便于存档、沟通3、便于决策。模型的原则?1、模型好坏决写系统的成败。2、与现实越接近说明模型越正确。3、模型不止一个,而是多个,它从不同的侧面说明现实的世界。4、根据不同人的需求,模型有不同的实现细节。九大图形:类图:贯穿软件开发的所有过程,从需求到整体到详细到开发到测试,是uml中最重要的图形,在ooa阶段中找业务实体,在ood阶段中将业务实体与具体技术结合起来设计操作类及实体类use-case:是系统分析员与客户沟通的桥梁时序:说明在时间点上类与类之间的交互,主要用于整体及详细设计阶段,作用是找类、找方法、验证系统的正确性活动图(流程图):用于需求阶段说明具体业务的流程协作图:说明类与类之间的交互,与时序图功能类似,但没有时间的概念,通过序号说明交互顺序。状态:一个对象在不同方法的操作下状态的改变。元素:对象方法构件:说明组件与组件或层与层之间的依赖关系。元素:组件部署:说明主机与主机之间的关系,找出系统运行的瓶颈。元素:主机对象图:不般不画活动图作用及元素?主要用在需求分析阶段,说明某一个用例的业务流程。元素如下:开始结束状态处理(动作)判断分支:一个操作转化为多个操作汇集:多个操作转化为一个操作泳道:说明不同角色所做的工作 软件开发的过程模型:1、瀑布模型前一个阶段结束并审核通过后才可以开始下一个阶段缺:不灵活、不适合大型、需求模糊的系统2、螺旋模型:迭代式,每一次迭代要将软件开发的流程再走一遍。优:灵活、适合大型、需求模糊的系统缺:太灵活无法保证质量3、统一软件开发流程(rup):有四大阶段六大流程,每一个阶段都会执行六大流程。每一个阶段所执行流程的侧重点不一样。四大阶段:启动:侧重于需求精化:设计构建:编码产品化:部署六大流程:业务建模:找业务实体及业务实体之间的关系需求:分析设计实施:编码测试:部署4、极限编程(xp):侧重点:1、有效的沟通胜过合同谈判2、高质量的代码胜过面面俱到的文档3、成对开发4、迭代jsp&servlet1、jdbc中的核心类Class.forName(com.microsoft.);/注册驱动DriverManager:得到连接Connection con=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;databaseName=pubs;selectMethod=cursor,用户,“密码”);Connection:一个连接会话,可以得到执行sql的对象-执行dml(insert update delete)PreparedStatement ps=con.preparedStatement(insert into student values(?,?,?);ps.setString(1,张三);ps.executeUpdate(); Statement st=con.createStatement();-执行查询st.executeQuery(select * from student);-执行dml(insert update delete)st.executeUpdate(insert into student values(cc,cc,x,s);-执行查询PreparedStatement ps=con.preparedStatement(select * from student);ResultSet rs=ps.executeQuery();PreapredStatement、Statement的区别PreparedStatement:可以动态传参在得到PreparedStatement实例时,要给定sql,所以sql是预编译,重复执行时效率高。Statement不可以动态传参在得到Statement实例时,不给定sql,sql不预编译,重复执行时效率低。2、如何实现一个servlet1、继承于HttpServlet,实现doGet及doPost方法public class MyServlet extends HttpServlet/form中的method=get时或超链时调用doGet方法/doGet的信息写在请求的url中,不安全,传输的信息少/如果是表单一般用doPost方法public void doGet(HttpServletRequest request,HttpServletResponse response)request:客户的请求及表单域信息/表表单域信息String userName=request.getParameter(表单域名);String like=request.getPrameterValues(重复的表单域名);/在request中加入对象,转发到另一页面时可以重用request.setAttribute(名称,对象);request.getAttribute(名称);/转发到另一个servlet或jsp页面,会通过参数将当前servlet或jsp中的requestresponse传入到另一个页面request.getRequestDispatch(a.jsp).forward(request,response);/得到sessionHttpSession session=request.getSession(); response:是响应信息/得到输出流,向客户端打印文本PrintWriter pw=response.getWriter();response.getOutputStream();pw.println(helloworld);/跳转:下一个页面或servlet不保留上一个页面的request、respose对象。response.sendRedirect(a.jsp); /form中的method=post时调用/doPost的信息写在http请求的正文中,安全,传输的信息大/如果是表单一般用doPost方法public void doPost(HttpServletRequest request,HttpServletResponse response)在web.xml部署myServlerservlet.MyServletmyServler*.do3、转发、跳转、提交、超链的区别转发:运行在服务端,下一页面保留当前页面的request、response跳转:运行在服务端,下一页面不保留当前页面的request、response提交:运行在客户端,向服务器发送请求,提交表单域的内容超链:运行在客户端,向服务器发送请求,提交超链信息4、jsp中的九大内置对象request:HttpServletRequest,转发到下一个页面时可以重用对象response:客户端响应session:HttpSession,一个用户多个页面共享同一变量。application:ServletContext,多个用户多个页面共享同一变量。pageContext:jsp页面的运行环境,在自定义标签中用的很多,可以得到另外8大对象pageContext.getRequest();pageContext.getApplication();-转发到另一个页面pageContext.forword(a.jsp);request.getRequestDispatch(a.jsp).forward(request,response);out:向客户端打印文本out.println();exception:只在异常页面中,正常页面出错时跳到异常页面,通过异常页面显示错误。异常页面(error.jsp)exception.getMessage();正常页面(common.jsp): page:当前jsp页面内有效,作用域最小config:ServletConfig的实例,代理当前jsp页面的配置5、servlet的体系结构Servlet接口 GenericServlet通过用Servlet可以跨协议HttpServlet:只适用到http协议自定义Servlet,必须继承于HttpSerlvet6、servlet生命周期1、单例2、3个方法init:初始化时调用,只调用一次service:每请求一次调用一次doGetdoPostdestroy:销毁时调用,只调用一次7、动作:转发到另一个页面导入另一个页面的运行结果有则用已有的,没有则产生一个新的:向一个对象的一个属性设值:打印一个对象的属性值8、指令/引入标签库/将两个页面合在一起形成一个文件,编译成class运行。9、model2(MVC)的处理过程MVCM(model):StudentPersistent(Dao)V(view)jspc(control)Servlet 请求处理过程:jsp-serlvet-studentPersistentstudentPersistent-servlet-jsp10、model2的作用:让模型与视图强制解藕,相当到旅店的服务员,提高了代码的可扩展、可维护11、el语言及jstl标签显示信息$requestScope/sessionScope/applicationScope.user.userName循环 $user.userName判断:在jsp页面中不出现任何的%,只有el及标签,这样页面没有任何逻辑只有显示作用。 12、过滤器的作用:是一个拦截器可以拦截所有的请求,在调用jsp或servlet之前执行,jsp或serlvet执行完后再次过滤处理。相当于门,进与出时都可过滤处理。public class MyFilter implements Filterpublic void doFilter(HttpServletRequest request,HttpServletResponse response,Filter filte)request.setCharactorSet(utf-8);filter.doFilter(request,response);/给真正的处理者System.out.println(aaaaaaaaaaaaaaa);codeaa.MyFilter code/*.dostruts1 1、struts的MVC分别代表那些类?M:业务+dao+持久V:jsp actionFormC:ActionServlet:接收所有以.do结尾的请求RequestProcessorAction:做具体的业务处理ActionMapping:封装action标签中的所有内容,通过url打开action、actionForm,通过名称找到actionForwardActionForward:转发到另一个页面 2、struts的请求处理过程?url.do将请求发给ActionServletActionServlet转发给RequestProcessorRequestProcessor根所url在struts-config.xml找到对应的Action及ActionForm如果在相关的作用域中存在ActionForm,RequestProcessor用已有的,如果不存,RequestProcesor实例化一个新的,并通过类的返射将表单域的值注入到ActionForm中如果存在Action,RequestProcessor用已有的,如果不存在实例化一个新的Action并调用Action的execute方法。execute方法执行结束时通过ActionMapping找到一个ActionForward转发到另一个jsp页面。3、struts原理struts的核心类是ActionServlet,其可以接收所有.do结尾的请求。核心配置文件是struts-config.xml文件说明url与Action及ActionForm的对应关系,url不可以重复。在web.xml中说明ActionServlet、其可以接收所有以do结尾的请求;说明struts-config.xml所在位置,以参数的形式传给ActionServlet。当启动容器时,容器(tomcat、weblogic)实例化ActionServlet,初始化ActionServlet,在初始化ActionServlet时加载struts-config.xml文件。当客户通过url.do将请求发给ActionServlet,ActionServlet将处理转发给助手RequestProcessor,RequestProcess通过struts-config.xml找到对应的actionForm及action,如果有ActionForm用已有的,没有通过类的反射实例化一个新的ActionForm,放置到作用域对象,通过反射将表单域的值填充到actionForm中。如果有Action用已有的,没有产生一个新的,通过反射调用action的execute方法,在执行前将actionForm通过参数注入到execute方法中,execute方法执行结束前通过actionMapping找到actionForward转发到另一个页面。4、RequestProcessor的处理过程processPath() 确定选择将要处理的动作的路径processMapping() 为请求选择动作映射processActionForm() 新建一个 Form Bean 或从请求会话中检索 Form BeanprocessPopulate() 填充与请求关联的 ActionFormprocessForward() 处理 元素的 forward 以匹配当前的请求路径processValidate() 调用 Form Bean 的 validate() 方法processActionCreate() 实例化当前 ActionMapping 指定的类的实例processActionPerform() 将调用 action 的 perform() 或 execute() 方法processPreprocess() 告诉请求处理器调用此方法后是否应继续处理请求5、struts的标签库1、错误返回的页面可以保留以前的值。2、前一个action产生的form如果在request或session中,转发到另一个jsp页面,jsp页面所用的form与前一个action所用的form名称及类型相同可以直接显示 从scope中取出name放到变量id中。 从scope中取出name的property属性放到变量id中。将对象name的值打印。通过键名取国际化的值从scope中取出集合name将其每一个元素放到id中。从scope中取出对象name的property属性值(集合),将其每一个元素放到id中。在scope中是否存在name对象6、struts的国际化:不用修改源代码只加入一个properties文件实现国际化一、资源文件:名称_语言_国家.propertiesmessage_en_US.propertiesmessage_zh_CN.properties如果有非英语或数字,需将资源文件转码native2ascii -encoding utf-8 源 目二、在struts-config.xml指定资源文件的名称:包名+文件名(struts.message)三、在jsp中通过键名加载相关的消息。7、action的分类:一个Action只能有一个execute方法DispatchAction:可以有多个方法 public 类 extends DispatchActionpublic void add()8、加载多个struts-config.xml在web.xml中修改ActionServlet的参数配置,对于config参数其指向的文件不再是一个struts-config.xml文件,而是多个struts-config.xml文件,如config/WEB-INF/config-1.xml,/WEB-INF/config-2.xml9、form的分类1、继承于ActionForm,必须写一个2、动态form,没有类,而是将其名称及数据类型写入到了struts-config.xml文件中动态form就是一个Map,每次从这个map中取属性值。hibernate1、作用:O/R Mapping 执行速度慢、将工作量降底95%2、核心配置文件hibernate.cfg.xml:数据库的连接、 批量处理、加载二级缓存驱动、显示sql*.hbm.xml:将一个表与类相映射、二级缓存的方式3、核心接口及类类:Configuration:读取hibernate.cfg.xml及*.hbm.xml文件接口:SessionFactory:产生具体的sessionSession:做具体的操作saveupdatesaveOrUpdate:有主键修改,没主键增加deleteloadTransaction :事务处理Transaction trans=session.beginTransaction();mit();trans.rollback();Query:执行查询/hql,类及属性是对象Query query=session.createQuery(from Customer where customerid=:aa)query.setString(aa,aa)List list=query.list();Validator:在做之前进行拦截,在处理之前进行校验Lifecycle:拦截器,可以增加、修改、查询等之前触发,但其让数据类与hibernate的藕合度增加,一般不用。public class Users implements Validator,Lifecycleinterceptor:拦截器,其比Lifecycle更加的优秀,不用每个数据类去实现一些接口,而是在产生session时将其注入到session中。其可以增加、修改、查询等之前触发,但其中的session不可以重用,可以用上一个session的connection,不用管事务,因为事务已被前一个session实现。4、关联:one-to-manyget/set方法一方通过get方法可以取出另一方,另一方也可以通过get方法取出对方,所以在one这边有一个Set属性可以得到所有的many,many这边有一个One类型的属性可以取出oneinverse:主控方,维护外键值,说明外键列由谁来控制,要想维护外键列的值必须将被控方作为主控方的属性,主控方一般在many方。inverse=false 是主控方,外键是由它控制的 inverse=true 是被控方,外键与它没关系cascade:级联,要想实现级联必须将从对象作为主对象的属性。主表增从表增主表修从表修主表删从表删lazy:延迟lazy=false:不但取当前对象,还取其关联的所有内容lazy=true:只取当前对象不取关联对象的属性,当真正用到对方属性时才执行sql加载相应的值4、批量删除Query query=session.createQuery(update或delete);query.executeUpdate(); 不同步缓存5、Tomcat连接池:在容器中预先产生了n个连接实例,客户端不用重新实例化,可以直接取用完后还可以放回去。1、 将sql-server三个包拷贝到C:/tomcat-6/lib下目录下2、修改C:/tomcat-6/conf/context.xml为以下内容jdbc测试代码Context initCtx = new InitialContext();/进入连接池环境Context envCtx = (Context)initCtx.lookup(java:comp/env);/得到一个连接池ds = (DataSource)envCtx.lookup(jdbc/sa);/得到连接 Connection conn = ds.getConnection();hibernate通过连接池实现连接java:comp/env/jdbc/sa true org.hibernate.dialect.SQLServerDialect spring调用tomcat中的连接池java:comp/env/jdbc/name 6、hibernate中的主键生成机制:1) Assigned:手动给定5) identity:sqlserver、db2、mySql的自动增加6) sequence:oracle的序列7) native:自动选择identity、sequence,不用手动给定8) uuid.hex:Hibernate基于128位唯一值产生算法生成16 进制数值7、数据库开发的过程外模型以客户为中心,客户可以看懂。概念模型以外模型作为输入,适应开发的进一步细化,是外模型全集注意事项:符合需求速度冗余开发的难度内模型数据库8、e-r图设计的过程找实体拉关系写属性9、三级范式主键projectID projectName empID empName 职务 小时工资 工时完全依赖于主键-projectprojectID projectName-empempID empName 职务 小时工资-工时工时 projectID empID不出现传递依赖-projectprojectID projectName-empempID empName 职务-工时工时 projectID empID-职务职务 小时工资10.对象的三大状态自由(transient)与session无关,直接实例化一个对象持久(persistent)由session来管理在持久状态中通过get方法取出对方游离(detached)被session抛弃11、没有锁出现的问题1、脏读:一个事务处理的数据是另一个事务没有提交的数据2、覆盖更新:一个事务将另一个事务的修改覆盖了。3、不可重复读:一个事务两个相同的sql读取出来的内容不一样。4、幻想读:同一个事务第一次读有,第二次读没有。12、锁的分类1、读未提交:可以读取未提交的数据,不可以防止脏读、覆盖更新。2、读已提交:(数据库默认的处理方式):读取的数据是已提交的,在提交之前将当前行的版本与数据库的版本比较,若小于数据库的版本报错回退。乐观锁:一个游标读取一批数据后不加锁,另一个事务可以更新游标中的数据,但游标所在事务更新另一事务更新过的行时,报错,回退。系统运行效率快。悲观锁:一个游标读取一批数据后加锁,另一个事务不可以更新游标中的数据,但游标所在事务的更新一定成功。系统运行效率慢。3、可重复读:将上一个sql取的数据临时存储,保证同一个事务内下一个sql与上一个sql取的数据一样。4、串行化:一个事务对表进行select、update、delete、insert时全表加锁,另一个事务只可以select不可update、delete、insert。速度最慢。13、hibbernate的缓存有几种1、事务级(一级缓存 session):当前事务结束缓存结束。2、应用级(二级缓存 SessionFactory):所有session共享同一个SessionFactory的数据。要人为让SesionFactory是单例模式。3、集群(有多个应用服务器):每一台主机有一个SessionFactory,一个服务器的数据发生改变要通知其它所有服务器同步缓存数据或删除缓存数据,如果删除,下次取时再从数据库中取。集群级缓存要慎用,因为有主机之间有通信,要有socket连接,要同步数据增加网络流通量及系统开销。14、利用缓存的原则数据量在可接收的范围内更新或并发更新少重复查询且使用率高的数据15、缓存的实现1、hibernate提供了支持缓存的接口,通过修改hibernate.cfg.xml设置缓存。2、将ehcac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025昆明市盘龙区汇承中学招聘教师(12人)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025德曼节能科技(山东)有限公司招聘10人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025湖南师范大学科创港校区规划建设指挥部劳务派遣人员招聘5人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广西河池市巴马瑶族自治县消防救援大队招录3人模拟试卷有答案详解
- 2025合肥市口腔医院招聘工作人员81人考前自测高频考点模拟试题附答案详解
- 2025年西北(西安)电能成套设备有限公司招聘(4人)模拟试卷及参考答案详解
- 2025贵州民族大学参加第十三届贵州人才博览会引才60人考前自测高频考点模拟试题(含答案详解)
- 2025河南郑州高新区双桥社区卫生服务中心招聘3人模拟试卷及答案详解一套
- 河北省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【轻工纺织大类】模拟练习
- 食品加工生产合同书5篇
- 2025济南市工程咨询院招聘(6人)考试参考试题及答案解析
- 2025年国防教育知识竞赛试题(附答案)
- 丙酮酸脱氢酶缺乏的护理
- GB/T 3452.1-2005液压气动用O形橡胶密封圈第1部分:尺寸系列及公差
- Q∕GDW 12178-2021 三相智能物联电能表技术规范
- 合同法中英文对照版
- 小学道法小学道法六年级上-5.国家机构有哪些(第二课时-国家机关的职权)ppt课件
- 车架设计手册1
- 绿色生态城区建设技术导则
- 文明施工保证措施
- 航空机载设备履历本
评论
0/150
提交评论