XML PULL和PUSH技术的区别
程序员文章站
2022-03-10 18:41:20
...
PULL跟SAX虽然都是基于事件的,但是两者最重要的区别应该是:
SAX可以认为是“PUSH“的,跟PULL相对。因为Parser在遇到特定事件源的时候会将数据传递给回调函数来处理,从这个意义上讲数据是”推送“给用户的,而PULL方式是遇到特定事件时由用户去从Parser中获取自己感兴趣的,感觉数据像是”拉“下来的。
还有一个区别是:在PULL式解析过程中(while循环里),可以退出循环;但是在SAX过程中,一旦开始解析就要解析完成。
另外,稍微扩展下:
目前主要存在两种解析和生成原理,一种是通过反射来匹配类名、属性名等信息,一种是直接使用jvm的字节码来进行操作,这两种方式的效率高下不言而喻,自然是二进制字节码效率更高。
SAX可以认为是“PUSH“的,跟PULL相对。因为Parser在遇到特定事件源的时候会将数据传递给回调函数来处理,从这个意义上讲数据是”推送“给用户的,而PULL方式是遇到特定事件时由用户去从Parser中获取自己感兴趣的,感觉数据像是”拉“下来的。
还有一个区别是:在PULL式解析过程中(while循环里),可以退出循环;但是在SAX过程中,一旦开始解析就要解析完成。
另外,稍微扩展下:
目前主要存在两种解析和生成原理,一种是通过反射来匹配类名、属性名等信息,一种是直接使用jvm的字节码来进行操作,这两种方式的效率高下不言而喻,自然是二进制字节码效率更高。
以上就是XML PULL和PUSH技术的区别的详细内容,更多请关注其它相关文章!
推荐阅读
-
webservice原理和技术(webservice和api的区别)
-
git用法教程图文详解(git fetch和git pull的区别)
-
webservice原理和技术(webservice和api的区别)
-
git用法教程图文详解(git fetch和git pull的区别)
-
Git fetch和pull的详解及区别
-
Git fetch和git pull的区别
-
Android自定义字体样式Typeface的三种技术方案:Java代码的setTypeface和xml的fontFamily配置方式
-
xml文件中的dependencyManagement和dependencies区别
-
css扩展技术:Less和Sass的区别_html/css_WEB-ITnose
-
Java核心技术----Exception和Error的区别