下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 java知识点总结

java知识点总结.doc

java知识点总结

虾米天意都是扯淡
2019-04-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《java知识点总结doc》,可适用于IT/计算机领域

目录目录  1基础篇  4一、JDK常用的包  4二、Get和Post的区别  4三、Java多态的具体体现  4四、StringBufferStringBuilderString区别  5五、Hashtable与HashMap的区别  5六、九大隐式对象  5七、Forword(请求转发)与Redirect(重定向)  6八、JQurey总结  6九、XML和Json的特点  6十、requestgetSession()、reqeustgetSession(false)和  requestgetSession(true)  7十一、Page和PageContext的区别  7十二、Ajax总结  7十三、JSP大隐视对象中四个作用域的大小与作用范围  7十四、List,Set,Collection,Collections  8十五、java的基本数据类型  8十六、冒泡排序  8十七、二分查找法  9十八、时间类型转换  9十九、阶乘  10二十、UE和UI的区别  10二十一、osi七层模型  10二十二、线程和进程的区别  11二十三、jvm的内存结构  11二十四、内存泄露和内存溢出  11二十五、单例  11二十六、解析xml文件的几种技术  12二十七、项目的生命周期  13二十八、OSCache的判断  14二十九、经常访问的技术网站  14三十、项目团队中交流的工具  14三十一、平时浏览的书籍  14三十二、javaException体系结构  15三十三、session和cookie的区别  15三十四、字节流与字符流的区别  16三十五、final,finally,finalize三者区别  16三十六、Io流的层次结构  16三十七、JAVA:  18三十八、JavaSEJavaEEJavaME区别  18三十九、JDK JRE JVM的区别:  19四十、报错的状态码:  20四十一、协议以及默认的端口号  20四十二、抽象类与接口的区别  20四十三、修饰符的作用  20框架篇  21一、Struts的运行原理  21二、Struts的运行原理  21三、struts的体系结构  21四、SpringMVC运行原理  22五、Strutsx与Strutsx的区别  23六、SpringMVC、struts和struts区别  23七、Struts中result中的type类型  23八、Struts标签  24九、SSI整合  24十、SSH整合  24十、SpringMVC整合  25十一、Hibernate中get和load的区别  25十二、Hibernate、Ibatis、Jdbc三者的区别  25十三、Hibernate的运行原理  26十四、Hibernate五大核心(类接口)简述  26十五、Hibernate与JDBC的区别  26十六、Hibernate中的两大配置文件  26十七、Hibernate事务处理  27十八、Hibernate的三种状态以及状态的转换  27十九、分页步骤  27二十、hibernate缓存概述  27二十一、Ssh的概述:  28二十二、防止表单重复提交  28二十三、JSP标签:  29二十四、过滤器  29二十五、拦截器的理解  30二十六、Spring融入框架  30数据库篇  31一、JDBC连接数据库步骤(以MYSQL为例)  31二、数据库连接池  32三、mysql的数据库导入导出  32四、jdbc分段批量提交的时候出现异常怎么处理  33五、jdbc批量处理数据  33六、Oracle分页  33七、Oracle的基本数据类型  33八、id、rowid、rownum的区别  34九、主键和唯一索引的区别?  34十、Preparedstatement和statement的区别  35十一、数据库三范式  35十二、视图概述  35十三、存储过程概述  35十四、索引概述  36十五、必背的sql语句  37业务场景篇  39一、Spring的概述  39二、事务概述  41三、权限概述  41四、OSCache业务场景  42五、线程概述  42六、Ajax请求Session超时问题  43七:java线程池概述  43八、OSCache概述  44九、OSCacheautocomplete单例业务场景  44十、缓存概述  45十一、实现页面静态化业务场景  45十二、servlet线程安全描述  45十三、(jbpm)工作流引擎描述:  46十四、JPBM业务场景  47十五、Ant描述  47十六、FreeMarker描述  47十七、webService描述  48十八、oracle索引概述  49十九、oracle存储过程  49二十、Junit业务场景  50二十一、ApacheTomcat实现负载均衡及seesion复制  50二十二、Ant业务场景  50二十三、maven业务场景  51二十四、Servlet的概述:  51优化篇  52一、代码优化  52二、业务优化  52三、sql优化  53四、防sql注入  53基础篇一、JDK常用的包javalang:这个是系统的基础类比如String、Math、Integer、System和Thread      提供常用功能。javaio:这里面是所有输入输出有关的类比如文件操作等javanet:这里面是与网络有关的类比如URL,URLConnection等。javautil:这个是系统辅助类特别是集合类Collection,List,Map等。javasql:这个是数据库操作的类Connection,StatememtResultSet等、Get和Post的区别get是从服务器上获取数据post是向服务器传送数据get传送的数据量较小不能大于KB。post传送的数据量较大一般被默认为不受限制。get安全性非常低post安全性较高。但是执行效率却比Post方法好。在进行文件上传时只能使用post而不能是get。、Java多态的具体体现面向对象编程有四个特征:抽象封装继承多态。多态有四种体现形式:  接口和接口的继承。  类和类的继承。  重载。  重写。其中重载和重写为核心。重载:重载发生在同一个类中在该类中如果存在多个同名方法但是方法的参数类型和个数不一样那么说明该方法被重载了。重写:重写发生在子类继承父类的关系中父类中的方法被子类继承方法名返回值类型参数完全一样但是方法体不一样那么说明父类中的该方法被子类重写了。、StringBufferStringBuilderString区别String   字符串常量 不可变 使用字符串拼接时是不同的个空间StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加StringBuilder字符串变量 可变 非线程安全 字符串拼接直接在字符串后追加StringBuilder执行效率高于StringBuffer高于StringString是一个常量是不可变的所以对于每一次=赋值都会创建一个新的对象    StringBuffer和StringBuilder都是可变的当进行字符串拼接时采用append方    法在原来的基础上进行追加所以性能比String要高又因为StringBuffer 是    线程安全的而StringBuilder是线程非安全的所以StringBuilder的效率高于    StringBuffer对于大数据量的字符串的拼接采用StringBuffer,StringBuilder、Hashtable与HashMap的区别HashMap不是线程安全的HashTable是线程安全。HashMap允许空()的键和值(key)HashTable则不允许。HashMap性能优于Hashtable。MapMap是一个以键值对存储的接口。Map下有两个具体的实现分别是HashMap和HashTableHashMap是线程非安全的HashTable是线程安全的所以HashMap的效率高于HashTableHashMap允许键或值为空而HashTable不允许键或值为空、九大隐式对象  输入输出对象: request response out作用域通信对象:session application pageContextServlet对象: page config错误对象:   exception、Forword(请求转发)与Redirect(重定向)  、从数据共享上Forword是一个请求的延续可以共享request的数据Redirect开启一个新的请求不可以共享request的数据、从地址栏Forword转发地址栏不发生变化Redirect转发地址栏发生变化八、JQurey总结  jquery是一个轻量级的js框架具有跨浏览器的特性兼容性好并且封装了很多工具方便使用。常用的有: 选择器dom操作ajax(ajax不能跨域)特效工具类、XML和Json的特点  Xml特点:、有且只有一个根节点、数据传输的载体、所有的标签都需要自定义  、是纯文本文件Json(JavaScriptObjectNotation)特点:json分为两种格式:json对象(就是在{}中存储键值对键和值之间用冒号分隔键值对之间用逗号分隔)json数组(就是中存储多个json对象json对象之间用逗号分隔)(两者间可以进行相互嵌套)数据传输的载体之一区别:传输同样格式的数据xml需要使用更多的字符进行描述流行的是基于json的数据传输。xml的层次结构比json更清晰。共同点:  xml和json都是数据传输的载体并且具有跨平台跨语言的特性。、requestgetSession()、reqeustgetSession(false)和  requestgetSession(true)  getSession()getSession(true):当session存在时返回该session否则新建一个  session并返回该对象getSession(false):当session存在时返回该session否则返回、Page和PageContext的区别  Page是servlet对象使用this关键字它的作用范围是在同一页面。PageContext是作用域通信对象通常使用setAttribute()和getAttribute()来设置和获取存放对象的值。、Ajax总结  AJAX全称:异步JavaScript及XML(AsynchronousJavaScriptAndXML)Ajax的核心是JavaScript对象XmlHttpRequest(XHR)。Ajax的优点:提高用户体验度(UE)提高应用程序的性能进行局部刷新AJAX不是一种新的编程语言而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 通过AJAX我们的JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象我们的JavaScript可在不重载页面的情况与Web服务器交换数据即可局部刷新。 AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求)这样就可使网页从服务器请求少量的信息而不是整个页面减轻服务器的负担提升站点的性能。AJAX可使因特网应用程序更小、更快更友好用户体验(UE)好。 Ajax是基于标准化并被广泛支持的技术并且不需要插件和下载小程序十三、JSP大隐视对象中四个作用域的大小与作用范围四个作用域从大到小:appliaction>session>request>pageapplication:全局作用范围整个应用程序共享生命周期为:应用程序启动到停止。session:会话作用域当用户首次访问时产生一个新的会话以后服务器就可以记       住这个会话状态。request:请求作用域就是客户端的一次请求。page:一个JSP页面。以上作用范围使越来越小request和page的生命周期都是短暂的他们之间的区别就是:一个request可以包含多个page页(includeforward)。、List,Set,Collection,Collections  List和Set都是接口他们都继承于接口Collection,List是一个有序的可重复的集合而Set的无序的不可重复的集合。Collection是集合的顶层接口Collections是一个封装了众多关于集合操作的静态方法的工具类,因为构造方法是私有的所以不能实例化。List接口实现类有ArrayList,LinkedList,Vector。ArrayList和Vector是基于数组实现的,所以查询的时候速度快而在进行增加和删除的时候速度较慢LinkedList是基于链式存储结构所以在进行查询的时候速度较慢但在进行增加和删除的时候速度较快。又因为Vector是线程安全的所以他和ArrayList相比而言查询效率要低。、java的基本数据类型  数据类型  大小byte(字节)  (位)shot(短整型)  (位)int(整型)  (位)long(长整型)  (位)float(浮点型)  (位)double(双精度)  (位)char(字符型)  (位)boolean(布尔型)  位附加:String是基本数据类型吗(String不是基本数据类型)String的长度是多少有限制(长度受内存大小的影响)、冒泡排序  publicclassSort{publicstaticvoidsort(){Scannerinput=newScanner(Systemin)intsort=newintinttempSystemoutprintln("请输入个排序的数据:")for(inti=i<sortlengthi){sorti=inputnextInt()}for(inti=i<sortlengthi){for(intj=j<sortlengthij)      {if(sortj<sortj){temp=sortjsortj=sortjsortj=temp}}}Systemoutprintln("排列后的顺序为:")for(inti=i<sortlengthi){Systemoutprint(sorti" ")}}publicstaticvoidmain(Stringargs){sort()}}十七、二分查找法  十八、时间类型转换  publicclassDateFormat{publicstaticvoidfun(){SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日")StringnewDatetry{newDate=sdfformat(newSimpleDateFormat("yyyyMMdd")parse(""))Systemoutprintln(newDate)}catch(ParseExceptione){eprintStackTrace()}}publicstaticvoidmain(Stringargs){fun()}}、阶乘  publicclassMultiply{publicstaticintmultiply(intnum){if(num<){Systemoutprintln("请输入大于的数!")return}elseif(num==||num==){return}else{returnmultiply(num)*num}}publicstaticvoidmain(Stringargs){Systemoutprintln(multiply())}}二十、UE和UI的区别  UE是用户体验度UI界面原型(用户界面)(相当于买房时用的模型)设计UI的作用:、帮助程序员工作(界面已由美工设计完成)、提前让用户对项目有个宏观的了解知道效果是什么样子。二十一、osi七层模型  第一层:物理层第二层:数据链路层第三层:网络层第四层:传输层  第五层:会话层第六层:表示层第七层:应用层二十二、线程和进程的区别  线程(Thread)与进程(Process)进程定义的是应用程序与应用程序之间的边界通常来说一个进程就代表一个与之对应的应用程序。不同的进程之间不能共享代码和数据空间而同一进程的不同线程可以共享代码和数据空间。一个进程可以包括若干个线程同时创建多个线程来完成某项任务便是多线程。实现线程的两种方式:继承Thread类实现Runable接口二十三、jvm的内存结构java虚拟机的内存结构分为堆(heap)和栈(stack),堆里面存放是对象实例也就是new出来的对象。栈里面存放的是基本数据类型以及引用数据类型的地址。对于所谓的常量是存储在方法区的常量池里面。二十四、内存泄露和内存溢出  内存泄露(memoryleak)是指应用程序在申请内存后无法释放已经申请的内存空间一次内存泄露危害可以忽略但如果任其发展最终会导致内存溢出(outofmemory)如读取文件后流要进行及时的关闭以及对数据库连接的释放。内存溢出(outofmemory)是指应用程序在申请内存时没有足够的内存空间供其使用。如我们在项目中对于大批量数据的导入采用分段批量提交的方式。二十五、单例  单例就是该类只能返回一个实例。单例所具备的特点:私有化的构造函数私有的静态的全局变量公有的静态的方法单例分为懒汉式、饿汉式和双层锁式饿汉式:publicclassSingleton{privateSingleton(){}privatestaticSingletonsingle=newSingleton()publicstaticSingletongetInstance(){returnsingle}}懒汉式:publicclassSingleton{privateSingleton(){}privatestaticSingletonsingle=publictaticSingletongetInstance(){if(single==){ single=newSingleton()} returnsingle}}线程安全:publicclassSingleton{privateSingleton(){}privatestaticSingletonsinglepublicstaticSingletongetInstance(){if(==single){synchronized(single){if(==single){single=newSingleton()}}}returnsingle}}参考:通过双重判断来保证单列设计模式在多线程中的安全性并且它在性能方面提高了很多。synchronized在方法上加锁(同步锁)synchronized在代码块内部加锁(同步代码块)synchronized(同步锁)使用synchronized如何解决线程安全的问题?synchronized在方法上加锁synchronized在代码块内部加锁懒汉 饿汉  双重判断二十六、解析xml文件的几种技术  、解析xml的几种技术domjsaxjaxbjdomdomdomj    domj是一个Java的XMLAPI类似于jdom用来读写XML文件的。domj是一个非常优秀的JavaXMLAPI具有性能优异、功能强大和极端易用使用的特点同时它也是一个开放源代码的软件。saxSAX(simpleAPIforXML)是一种XML解析的替代方法。相比于DOMSAX是一种速度更快更有效的方法。它逐行扫描文档一边扫描一边解析。而且相比于DOMSAX可以在解析文档的任意时刻停止解析但任何事物都有其相反的一面对于SAX来说就是操作复杂。jaxbJAXB(JavaArchitectureforXMLBinding)是一个业界的标准是一项可以根据XMLSchema产生Java类的技术。该过程中JAXB也提供了将XML实例文档反向生成Java对象树的方法并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲JAXB提供了快速而简便的方法将XML模式绑定到Java表示从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。、domj与sax之间的对比:【注:必须掌握!】domj不适合大文件的解析因为它是一下子将文件加载到内存中所以有可能出现内存溢出sax是基于事件来对xml进行解析的所以他可以解析大文件的xml也正是因为如此所以domj可以对xml进行灵活的增删改查和导航而sax没有这么强的灵活性所以sax经常是用来解析大型xml文件而要对xml文件进行一些灵活(crud)操作就用domj二十七、项目的生命周期  需求分析概要设计详细设计(用例图流程图类图)数据库设计(powerdesigner)代码开发(编写)单元测试(junit白盒测试)(开发人员)svn版本管理工具(提交更新代码文档)集成测试(黑盒测试loadrunner(编写测试脚本)(高级测试))上线试运行(用户自己体验)压力测试(loadrunner)正式上线维护二十八、OSCache的判断  Objectobj=CacheManagergetInstance()getObj("oaBrandList")    从缓存中取数据if(==obj) {obj=brandDaogetBrandList()          如果为空再从数据库获取数据获取之后放入缓存中CacheManagergetInstance()putObj("oaBrandList",obj)    }return(List<OaBrand>)obj二十九、经常访问的技术网站csdn(详细步骤的描述)iteye(详细步骤的描述)oschina(开源中国获取java开源方面的信息技术)java开源大全wwwopenopencom(获取java开源方面的信息技术)infoq(对java,php,net等这些语言的一些最新消息的报道)三十、项目团队中交流的工具  飞秋(局域网)      qq(局域网外网)RTX(局域网外网)  邮箱(局域网外网)三十一、平时浏览的书籍  实战经验:***inaction(实战)***深入浅出***入门指南思想基础:大话设计模式    重构三十二、javaException体系结构java异常是程序运行过程中出现的错误。Java把异常当作对象来处理并定义一个基类javalangThrowable作为所有异常的超类。在JavaAPI中定义了许多异常类,分为两大类错误Error和异常Exception。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常(非runtimeException)也称之为不检查异常(UncheckedException)和检查异常(CheckedException)。、Error与ExceptionError是程序无法处理的错误比如OutOfMemoryError、ThreadDeath等。这些异常发生时Java虚拟机(JVM)一般会选择线程终止。Exception是程序本身可以处理的异常这种异常分两大类运行时异常和非运行时异常。程序中应当尽可能去处理这些异常。、运行时异常和非运行时异常   运行时异常:都是RuntimeException类及其子类异常:                 IndexOutOfBoundsException索引越界异常ArithmeticException:数学计算异常PointerException:空指针异常ArrayOutOfBoundsException:数组索引越界异常ClassNotFoundException:类文件未找到异常ClassCastException:造型异常(类型转换异常)这些异常是不检查异常(UncheckedException)程序中可以选择捕获处理也可以不处理。这些异常一般是由程序逻辑错误引起的。非运行时异常:是RuntimeException以外的异常类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常如果不处理程序就不能编译通过。如:IOException、文件读写异常FileNotFoundException:文件未找到异常EOFException:读写文件尾异常MalformedURLException:URL格式错误异常SocketException:Socket异常SQLException:SQL数据库异常三十三、session和cookie的区别session是存储在服务器端cookie是存储在客户端的所以安全来讲session的安全性要比cookie高然后我们获取session里的信息是通过存放在会话cookie里的sessionid获取的。又由于session是存放在服务器的内存中所以session里的东西不断增加会造成服务器的负担所以会把很重要的信息存储在session中而把一些次要东西存储在客户端的cookie里然后cookie确切的说分为两大类分为会话cookie和持久化cookie会话cookie确切的说是存放在客户端浏览器的内存中所以说他的生命周期和浏览器是一致的浏览器关了会话cookie也就消失了然而持久化cookie是存放在客户端硬盘中而持久化cookie的生命周期就是我们在设置cookie时候设置的那个保存时间然后我们考虑一问题当浏览器关闭时session会不会丢失从上面叙述分析session的信息是通过sessionid获取的而sessionid是存放在会话cookie当中的当浏览器关闭的时候会话cookie消失所以我们的sessionid也就消失了但是session的信息还存在服务器端这时我们只是查不到所谓的session但它并不是不存在。那么session在什么情况下丢失就是在服务器关闭的时候或者是sessio过期再或者调用了invalidate()的或者是我们想要session中的某一条数据消失调用sessionremoveAttribute()方法然后session在什么时候被创建呢确切的说是通过调用sessiongetsession来创建这就是session与cookie的区别三十四、字节流与字符流的区别stream结尾都是字节流reader和writer结尾都是字符流两者的区别就是读写的时候一个是按字节读写一个是按字符。实际使用通常差不多。在读写文件需要对内容按行处理比如比较特定字符处理某一行数据的时候一般会选择字符流。只是读写文件和文件内容无关的一般选择字节流。三十五、final,finally,finalize三者区别Final是一个修饰符:当final修饰一个变量的时候变量变成一个常量它不能被二次赋值当final修饰的变量为静态变量(即由static修饰)时必须在声明这个变  量的时候给它赋值当final修饰方法时该方法不能被重写当final修饰类时该类不能被继承Final不能修饰抽象类因为抽象类中会有需要子类实现的抽  象方法(抽  象类中可以有抽象方法也可以有普通方法当一个抽象类中没有抽象方  法时这个抽象类也就没有了它存在的必要)Final不能修饰接口因为接口中有需要其实现类来实现的方法Finally:Finally只能与trycatch语句结合使用finally语句块中的语句一定会执行  并且会在returncontinuebreak关键字之前执行finalize:Finalize是一个方法属于javalangObject类finalize()方法是GC  (garbage  collector垃圾回收)运行机制的一部分finalize()方法是在  GC清理它所从  属的对象时被调用的三十六、Io流的层次结构从流的方向输入流   输出流从流的类型上字符流  字节流inputstream和outputstream都是抽象类它们下面的实现包括FileInputStream,BufferedInputStreamFileOutputStream,BufferedOutputStreamreader和writerFileReader,BufferedReader,StringReaderFileWriter,BufferedWriter,StringWriter,PrintWriter三十七、JAVA:Java是面向对象的跨平台的它通过java虚拟机来进行跨平台操作它可以进行自动垃圾回收的【c语言是通过人工进行垃圾回收】java还会进行自动分配内存。【c语言是通过指定进行分配内存的】只需要new一个对象这个对象占用了多少空间不需要我们来管java虚拟机负责管这些用完之后也不需要我们来释放java虚拟机会自动释放三十八、JavaSEJavaEEJavaME区别是什么:JavaSE=JavaStandardEdition=jse=java标准版JavaEE=JavaEnterpriseEdition=jee=java企业版JavaME=JavaMobileEdition=jme=java移动版特点:SE主要用于桌面程序(swing),控制台开发(main程序)。EE企业级开发(JSP,EJB,SpringMVC,Struts,hibernate,ibatis等)用于企业级软件开发网络开发web开发。ME嵌入式开发(手机,小家电PDA)。苹果的ios黑莓三者之间的关系:JavaSE(JavaPlatform,StandardEditionJava标准版)就是基于JDK和JRE的。JavaSE为JavaEE提供了基础。JavaEE除了基于我们这个所谓的JavaSE外还新加了企业应用所需的类库三十九、JDK JRE JVM的区别:Jdk【JavaDevelopmentToolKit】就是java开发工具箱JDK是整个JAVA的核心里边包含了jre它除了包含jre之外还包含了一些javac的工具类把java源文件编译成class文件java文件是用来运行这个程序的除此之外里边还包含了java源生的APIjavalanginteger在rt的jar包里边【可以在项目中看到】通过rt这个jar包来调用我们的这些io流写入写出等JDK有以下三种版本:JSEstandardedition标准版是我们通常用的一个版本JEEenterpsiseedtion企业版使用这种JDK开发JEE应用程序JMEmicroedtion主要用于移动设备、嵌入式设备上的java应用程序Jre【Java Runtime Enviromental】是java运行时环境那么所谓的java运行时环境就是为了保证java程序能够运行时所必备的一基础环境也就是它只是保证java程序运行的不能用来开发而jdk才是用来开发的所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比它不包含开发工具编译器、调试器和其它工具。Jre里边包含jvmJvm:【JavaVirtualMechinal】因为jre是java运行时环境java运行靠什么运行而底层就是依赖于jvm即java虚拟机java虚拟机用来加载类文件java中之所以有跨平台的作用就是因为我们的jvm关系:Jse是基于jdk和jreJDK是整个JAVA的核心里边包含了jreJre里边包含jvm四十、报错的状态码:永久重定向临时重定向服务端未改变访问无权限正常路径内部错误四十一、协议以及默认的端口号ftp   文件传输协议Pop 它是因特网<电子邮件    <的第一个离线  <协议标准Smtp  简单邮件传输协议http  超文本传输协议oracle默认端口号mysql默认端口号四十二、抽象类与接口的区别一个类只能进行单继承但可以实现多个接口。有抽象方法的类一定是抽象类但是抽象类里面不一定有抽象方法接口里面所有的方法的默认修饰符为publicabstract接口里的成员变量默认的修饰符为 pulbicstaticfinal。关系  接口和接口   继承接口和抽象类  抽象类实现接口类和抽象类   类继承抽象类类和类     继承四十三、修饰符的作用修饰符的作用范围:private default protectedpublic同一个类中   可以  可以   可以     可以同一个包的类中      可以   可以     可以不同包的子类中           可以   可以不同包的类中                 可以四十四、onready和onload的区别onready比onload先执行onready是在页面解析完成之后执行而onload是在页面所有元素加载后执行onload只执行最后一个而onready可以执行多个。参考:执行时间windowonload必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document)ready()是DOM结构绘制完毕后就执行不必等到加载完毕。编写个数不同windowonload不能同时编写多个如果有多个windowonload方法只会执行一个$(document)ready()可以同时编写多个并且都可以得到执行简化写法windowonload没有简化写法$(document)ready(function(){})可以简写成$(function(){})另外需要注意一点由于在$(document)ready()方法内注册的事件只要DOM就绪就会被执行因此可能此时元素的关联文件未下载完。例如与图片有关的html下载完毕并且已经解析为DOM树了但很有可能图片还没有加载完毕所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题可以使用Jquery中另一个关于页面加载的方法load()方法。Load()方法会在元素的onload事件中绑定一个处理函数。如果处理函数绑定给window对象则会在所有内容(包括窗口、框架、对象和图像等)加载完毕后触发如果处理函数绑定在元素上则会在元素的内容加载完毕后触发。Jquery代码如下:$(window)load(function(){编写代码})等价于JavaScript中的以下代码Windowonload=function(){编写代码}四十五、switch默认接受的几种数据类型Short,int,byte,char四十六、request跟session的区别他们的生命周期不同request对应的是一次请求session对应的是一次会话request占用资源比较少,相对来说缺乏持续性,而session资源消耗比较大所以通常使用request来保存信息四十七、找到解决svn冲突方法对于svn冲突可以采用手工处理将冲突的部分进行整合之后备份最新整合后的文件采用覆盖更新的方式处理完冲突之后再把最新整合后的文件进行提交。四十八、反射的描述通过字符串可以动态创建java对象并且可以动态访问方法属性等。我们在项目中的时候封装过数据库jdbc的持久层其中就利用反射这项技术来达到通用和灵活的目的。框架篇 、Struts的运行原理  在启动时通过前端总控制器ActionServlet加载strutsconfigxml并进行解析当用户在jsp页面发送请求被struts的核心控制器ActionServlet接收ActionServlet在用户请求时将请求参数放到对应的ActionForm对象中的成员变量中然后ActionServlet则会根据strutsconfigxml中的映射关系找到相应的Action中的方法将对应的ActionForm一并传给这个Action中的方法里然后执行相应的业务逻辑操作最后就根据ActionMapping的findforward方法返回一个ActionForward,之后在strutsconfigxml中找到与之对应的forward标签根据它的配置路径找到对应的jsp页面。、Struts的运行原理、tomcat启动的时候会加载webxml、核心控制器FilterDispatcher会加载并解析strutsxml、客户端会发送一个请求到action、FilterDispatcher 会根据后缀名进行拦截、FilterDispatcher根据strutsxml 的配置文件信息找到某个action对应的某个类里的指定方法、执行相关的业务逻辑最后返回一个String、<action>里配置<result>name的属性值与返回的String进行匹配,跳转到指定的jsp页面、struts的体系结构、客户端向Servlet容器(例如Tomcat)发送一个请求、这个请求经过一系列的过滤器(Filter)、接着FilterDispatcher被调用FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action、如果ActionMapper决定需要调用某个ActionFilterDispatcher把请求的处理交给ActionProxy、ActionProxy通过ConfigurationManager询问框架的配置文件找到需要调用的Action类、ActionProxy创建一个ActionInvocation的实例。、ActionInvocation在调用Action的过程前后涉及到相关拦截器(Intercepter)的调用。、一旦Action执行完毕ActionInvocation负责根据strutsxml中的配置找到对应的返回结果。返回结果通常是jsp或者FreeMarker的模版。(体系结构图见下一页)、SpringMVC运行原理整个处理过程从一个HTTP请求开始:Tomcat在启动时加载解析webxml,找到springmvc的前端总控制器DispatcherServlet,并且通过DispatcherServlet来加载相关的配置文件信息。DispatcherServlet接收到客户端请求找到对应HandlerMapping根据映射规则找到对应的处理器(Handler)。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/42

java知识点总结

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利