CN103164193B - 一种模板的渲染方法及装置 - Google Patents
一种模板的渲染方法及装置 Download PDFInfo
- Publication number
- CN103164193B CN103164193B CN201110412485.1A CN201110412485A CN103164193B CN 103164193 B CN103164193 B CN 103164193B CN 201110412485 A CN201110412485 A CN 201110412485A CN 103164193 B CN103164193 B CN 103164193B
- Authority
- CN
- China
- Prior art keywords
- template
- java
- velocity
- class file
- syntax tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种模板的渲染方法及装置,该方法为:根据用户的网页浏览请求,获取对应的模板并生成相应的Java类文件,其中,将模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用;然后,执行所述Java类文件生成相应的网页页面,向用户返回所述网页页面。这样,将会有效地提升模板转换时的代码执行效率,提升服务平台的每秒的查询数目,减少响应时间,从而降低系统Java虚拟机垃圾回收,进而能够提高整个应用系统的性能,解决模板渲染引起的性能瓶颈。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种模板的渲染方法及装置。
背景技术
Velocity是一种基于Java的模板引擎(templateengine),是一种动态模板编程语言,它允许任何人仅仅简单地使用模板语言(templatelanguage)来引用由Java代码定义的对象。
Velocity主要应用于网页的前端展示,即根据对后端的Java对象的渲染生成一个HTML网页,其中,对Java对象(如,网页源代码)的渲染实际上是通过Java反射机制来实现的。所谓Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;即对Java对象进行详细的代码解释。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法,生成动态代理。由此可见,执行Java反射机制要比执行Java直接调用方法慢很多。
目前,Velocity模板因为语法简单、使用方便而被广泛使用于互联网应用系统中。然而,当系统的访问量达到几亿级别时,若Velocity模板采用Java反射机制来进行Java对象的渲染以生成HTML网页,就会令渲染操作占用系统整个RT(ResponseTime,响应时间)中的大部分,从而令Velocity模板的渲染成为一个系统性能的执行瓶颈,因为执行Velocity模板的渲染会导致系统的GC(Java虚拟机垃圾回收)频繁,进而严重降低系统的执行效率。
发明内容
本申请实施例提供一种模板的渲染方法及装置,用以提高Velocity模板的渲染操作的执行效率,进而提升系统性能。
本申请实施例提供的具体技术方案如下:
一种模板的渲染方法,包括:
接收用户的网页浏览请求,确定该网页浏览请求对应的模板;
基于所述模板生成相应的Java类文件,其中,将模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将Velocity模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用;其中,所述基于所述模板生成相应的Java类文件,包括:读取Velocity模板;采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点;遍历所述Velocity语法树中的每一个对象节点,将每一个对象节点解析为相应的Java语法,以将所述Velocity语法树转换为相应的Java语法树;将所述Java语法树封装为相应的Java类文件;
执行所述Java类文件,生成相应的网页页面;
向用户返回所述网页页面。
一种模板的渲染装置,包括:
接口单元,用于接收用户的网页浏览请求,并确定该网页浏览请求对应的模板,以及向用户返回该模板对应的网页页面;
第一控制单元,用于基于所述模板生成相应的Java类文件,其中,将模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用;其中,所述第一控制单元基于所述模板生成相应的Java类文件时,读取Velocity模板,采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点,以及遍历所述Velocity语法树中的每一个对象节点,将每一个对象节点解析为相应的Java语法,以将所述Velocity语法树转换为相应的Java语法树,并将所述Java语法树封装为相应的Java类文件;
第二控制单元,执行所述Java类文件,生成相应的网页页面。
本申请实施例中,重新实现了Velocity语法功能,即重新实现了一个全新的素描框架(Sketch架构),在此Sketch架构中,可以根据用户发送的网页浏览请求,尽量采用Java直接调用方式将用户请求的Velocity模板转换为相应的Java类文件,这样,将会有效地提升Velocity模板转换时的代码执行效率,提升服务平台的每秒的查询数目),减少响应时间,从而降低系统Java虚拟机垃圾回收,进而能够提高整个应用系统的性能,解决Velocity模板渲染引起的性能瓶颈。
附图说明
图1为本申请实施例中服务平台功能结构示意图;
图2为本申请实施例中服务平台进行Velocity模板渲染流程图;
图3为本申请实施例中Velocity语法树结构示意图。
具体实施方式
为了提高模板的渲染效率,本申请实施例中,在根据用户发送的网页浏览请求对模板进行渲染时,尽量避免采用Java反射机制,而是采用Java直接调用方式将模板转化为相应的Java类文件,并执行该Java类文件生成用户所需的网页页面,从而提高了代码的执行效率。
其中,所谓的Velocity模板(也可简称为vm模板),是指按照Velocity语法写成的网页代码文件,即网页的源代码。浏览器是不能够直接解析网页源代码的,需要将网页的源代码经过渲染操作转换为相应的HTML网页;因此,所谓的Velocity模板的渲染,即是将Velocity语法写的网页代码文件经过渲染处理生成相应的HTML网页,从而通过浏览器呈现给用户。
下面结合附图对本申请优选的实施方式进行详细说明。
参阅图1所示,本申请实施例中,服务平台是基于Sketch架构运行的,主要包括三个部分,接口单元10、第一控制单元11和第二控制单元12,其中,
接口单元10,用于接收用户的网页浏览请求,并确定该网页浏览请求对应的Velocity模板,以及向用户返回该Velocity模板对应的网页页面;
具体而言,接口单元10即是完成了Sketch框架与MVC(ModelViewController,模型界面控制器)框架的整合,提供了Web框架通过MVC框架调用Velocity模板进行渲染时所用的接口,以及将渲染后的网页页面发送给请求的用户端。
第一控制单元11,用于基于确定的Velocity模板生成相应的Java类文件,其中,将Velocity模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将Velocity模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用;其中,所述第一控制单元基于所述模板生成相应的Java类文件时,读取Velocity模板,采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点,以及遍历所述Velocity语法树中的每一个对象节点,将每一个对象节点解析为相应的Java语法,以将所述Velocity语法树转换为相应的Java语法树,并将所述Java语法树封装为相应的Java类文件;
具体而言,第一控制单元11适用于编译时环境。当用户第一次请求某Velocity模板时,第一控制单元11会加载Velocity模板初始化语法树,并编译成原始的Java类文件,这个Java类文件中部分/全部对象的方法调用仍然可能是通过Java反射机制调用的,而在后续Velocity模板被第二控制单元12真正执行时,其包含的变量类型和/或变量操作方法将会被第二控制单元12监测并记录下来,当第一控制单元11根据监测结果确认已能够确定通过Java反射机制调用的变量类型或/和变量操作方法时,将会采用Java直接调用方式对这部分内容进行重新编译。
第二控制单元12,用于执行所述Java类文件,生成相应的网页页面。
具体而言,第二控制单元12适用于运行时环境。运行时环境主要保存的是当前各个Velocity模板对应的Java类文件,也称为Java实例对象,当用户请求执行某个Velocity模板时,第二控制单元12将会调用与之对应的Java类文件执行;Velocity模板在运行状态下,第二控制单元12发现其中的某些变量类型和/或变量操作方法已经能够确定时,则将会通知第一控制单元11对这部分内容进行重新编译。
以此类推,经过多次调用及优化后,Velocity模板中包含的所有变量类型和/或变量操作方法都会被确定,并均采用Java直接调用方式进行调用,这样,将会大大地提高Velocity模板转换为网页页面过程中,代码的执行效率。
基于上述技术方案,参阅图2所示,本申请实施例中,服务平台对Velocity模板进行渲染的详细流程如下:
步骤200:服务平台接收用户的网页浏览请求,确认该网页浏览请求对应的Velocity模板。
通常,用户的网页浏览请求中均携带有用户指定的URL地址,服务平台便可以根据该URL地址确定相应的Velocity模板。
获得Velocity模板后,服务平台便可以开始对Velocity模板进行渲染,以获得最终呈现给用户的HTML页面。
步骤210:服务平台基于确定的Velocity模板生成相应的Java类文件,在此过程中,服务平台将Velocity模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将Velocity模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用。
步骤220:服务平台执行获得的Java类文件,生成相应的网页页面;
具体为:服务平台通过新建classloader(类加载)对获得的Java类文件进行加载,并基于加载后的Java类文件创建相应的Java对象,以及执行已创建的Java对象,生成相应的网页页面,即服务平台将Java类文件加载至Sketch架构中,并在Sketch架构中管理这些Java类文件对应的对象。
步骤230:服务平台向用户返回其请求的网页页面。
在上述实施例中,在执行步骤210,具体可以采用以下方式实现:
(1)服务平台读取保存的Velocity模板。
服务平台读取保存的Velocity模板时,可以是在没有接收到用户的网页浏览请求时,基于管理人员的指示自行读取,也可以是接收到用户第一次请求某一HTML页面的网页浏览请求时,即确定对应用户请求的Velocity模板未保存有相应的Java类文件时,自行读取。
(2)采用Java词法分析方式(如,采用JavaCC词法分析器)将读取的Velocity模板解析为一个Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点。
另一方面,在将Velocity模板解析为Velocity语法树的过程中,为了进一步提高执行效率,对于Velocity模板中包含的静态数据,可以将其转化为字节型数据,即byte[],而不是字符串型数据,即String或者字符型数据,即char[]。所谓的静态数据就是Velocity模板中包含的一些HTML代码,这些HTML代码在页面渲染时不会改变,而是原样输出到用户的浏览器里如:<!doctypehtml><html><head>。
这是因为,现有技术中,Velocity模板的渲染结果通常是String类型,服务平台获得渲染结果后需要调用输出方法response.getWriter()将渲染结果返回给用户的浏览器,返回的内容在经过网络传输时要经过编码将String类型的数据转换为byte类型的数据才能传输至用户的浏览器进行呈现,而将String类型数据转换为byte类型数据是一种非常耗时的操作,而用户请求的网页页面中大部分都是不变的静态数据,因此,对于这一部分静态数据,服务平台可以在进行Velocity模板渲染的过程中预先转换为byte类型数据,这样,在后续向用户的浏览器传输网页页面时,就可以省去静态数据从String类型数据转换为byte类型数据这一操作,从而大大缩短了网页页面的传输及呈现时间,进而提升系统的执行性能。
同时,在Velocity模板渲染的过程中,可以将Velocity模板中包含的大量的空格字符或者Tab(制表)字符进行过滤,这部分内容并不会影响网页页面的呈现效果,但是却占用了一定的网络传输带宽,因此,较佳的,服务平台可以在Velocity模板渲染过程中,将连续的多个空格字符进行过滤,仅保存一个空格字符,或/和,将全部的Tab字符删除,从而能够有效减少网络传输的数据量。
上述过滤操作的代码具体如下,过滤后生成的Velocity语法树如图3所示。
(3)对生成的Velocity语法树进行遍历,转换为相应的Java语法树。
例如,基于Velocity模板解析生成相应的语法树后,按照深度遍历算法遍历这个Velocity语法树,将每一个对象节点解析成对应的Java语法,从而这个整个Velocity语法树转换为对应的Java语法树。
例如,将Velocity语法树转换为Java语法树的实现代码如下:
(4)将获得的Java语法树封装为相应的Java类文件。
下面采用具体的应用实施对上述流程作出进一步详细介绍。
当服务平台第一次接收到用户发送的某一个网面浏览请求时,第二控制单元12会内的sketchEngine会在存储区域的RuntimeContex集合中查找相应的Velocity模板实例,若确认不存在上述Velocity模板实例,则第二控制单元12会通知第一控制单元11进行编译,然后,第一控制单元11内的RuntimeServer就会创建新的Velocity模板实例和编译时环境类,并根据创建的Velocity模板实例生成Velocity语法树,然后在确定对应Velocity模板实例没有创建相应的运行时模板实例(即Java类文件),第一控制单元11内的SketchTemplateInstance将会生成Velocity模板对应的Java类文件,并且编译及执行这个Java类文件。
在执行Java类文件的过程中,第二控制单元12会对Java类文件内包含的变量类型以及变量操作方法进行记录和跟踪,以便于进行二次编译优化。具体为:
在将Velocity模板转换为Java类文件的过程中,Velocity模板中包含的变量类型和/或变量操作方法有时不能够全部确定,对于这种情况,服务平台可以将已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,即在解析出的Java语法中直接写出变量名称和变量操作方法的名称,而对于未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用。那么,在生成Java类文件后,服务平台需要对这个Java类文件的执行过程进行跟踪,若根据执行方式已可以确定Java类文件中某些采用Java反射机制调用的变量类型和/或变量操作方法,则服务平台对这些信息进行记录,并根据重新确定的变量类型和/或变量操作方法对上述Java类文件进行重新编译,例如,服务平台再次接收到相同的网页浏览请求并生成相应的Java类文件的过程中,将上一次采用Java反射机制进行调用并且经过上一次实际执行已确定的变量类型和/或变量操作方法在这一次编译过程中采用Java直接调用方式进行调用。以此类推,可以多次执行Java类文件的重新编译过程。
显然,Velocity模板的多次调用过程,是一个不断自我优化的过程,服务平台通过跟踪记录Velocity模板对应的Java类文件的执行过程,可以逐渐确定该Velocity模板内包含的各种变量类型和/或变量操作方法,并且会不断重新编译相应的Java类文件,那么,任意一个Velocity模板经过多次调用和执行后,其包含的各种变量类型和/或变量操作方法均可以逐渐确定,最理想的状态为,Velocity模板中包含的所有变量类型和/或变量操作方法均可以采用Java直接调用方式进行调用,而不再需要Java反射方进行来调用,显然,此时,Velocity模板对应的Java类文件已达到最优,不会再重新编译了。
当然,在后续的多次编译过程中,很可能会出现编译错误,此时,为了保证Velocity模板对应的Java类文件能够被正常执行,则忽略最新一次的编译,继续使用上一次编译后生成的Java类文件进行后续操作,在此不再赘述。
综上所述,本申请实施例中,重新实现了Velocity语法功能,即重新实现了一个全新的Sketch架构,在此Sketch架构中,可以根据用户发送的网页浏览请求,尽量采用Java直接调用方式将用户请求的Velocity模板转换为相应的Java类文件,这样,将会有效地提升Velocity模板转换时的代码执行效率,提升服务平台的QPS(QueryPerSecond,每秒的查询数目),减少RT(ResponseTime,响应时间),从而降低系统GC(Java虚拟机垃圾回收),进而能够提高整个应用系统的性能,解决Velocity模板渲染引起的性能瓶颈。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种模板的渲染方法,其特征在于,包括:
接收用户的网页浏览请求,确定该网页浏览请求对应的模板;
基于所述模板生成相应的Java类文件,其中,将模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用;其中,所述基于所述模板生成相应的Java类文件,包括:读取Velocity模板;采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点;遍历所述Velocity语法树中的每一个对象节点,将每一个对象节点解析为相应的Java语法,以将所述Velocity语法树转换为相应的Java语法树;将所述Java语法树封装为相应的Java类文件;
执行所述Java类文件,生成相应的网页页面;
向用户返回所述网页页面。
2.如权利要求1所述的方法,其特征在于,采用Java词法分析方式将读取的模板解析为语法树的过程中,将模板中包含的静态数据转化为字节型数据;其中,所述静态数据,为所述模板中在渲染时不会发生改变的数据。
3.如权利要求1所述的方法,其特征在于,采用Java词法分析方式将读取的模板解析为语法树的过程中,确定模板中存在连续的多个空格字符时,仅保存一个空格字符,或/和,将模板中全部的制表字符删除。
4.如权利要求1-3任一项所述的方法,其特征在于,执行所述Java类文件,生成相应的网页页面,包括:
对获得的Java类文件进行加载;
基于加载后的Java类文件创建相应的Java对象;
执行已创建的Java对象,生成相应的网页页面。
5.如权利要求4所述的方法,其特征在于,执行所述Java类文件,生成相应的网页页面的过程中,对所述Java类文件的执行过程进行监测,根据监测结果确认能够确定所述Java类文件中部分/全部采用Java反射机制调用的变量类型和/或变量操作方法时,在下一次接收到相同的网页浏览请求并生成相应的Java类文件的过程中,采用Java直接调用方式对重新确定的变量类型和变量操作方式进行调用。
6.一种模板的渲染装置,其特征在于,包括:
接口单元,用于接收用户的网页浏览请求,并确定该网页浏览请求对应的模板,以及向用户返回该模板对应的网页页面;
第一控制单元,用于基于所述模板生成相应的Java类文件,其中,将模板内已确定的变量类型和/或变量操作方法采用Java直接调用方式进行调用,将模板内未确定的变量类型和/或变量操作方法则采用Java反射机制进行调用;其中,所述第一控制单元基于所述模板生成相应的Java类文件时,读取Velocity模板,采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树,其中,Velocity模板中包含的每一个Velocity语法对应Velocity语法树上的一个对象节点,以及遍历所述Velocity语法树中的每一个对象节点,将每一个对象节点解析为相应的Java语法,以将所述Velocity语法树转换为相应的Java语法树,并将所述Java语法树封装为相应的Java类文件;
第二控制单元,执行所述Java类文件,生成相应的网页页面。
7.如权利要求6所述的装置,其特征在于,所述第一控制单元采用Java词法分析方式将读取的Velocity模板解析为Velocity语法树的过程中,对于Velocity模板中包含的静态数据转化为字节型数据;其中,所述静态数据,为所述模板中在渲染时不会发生改变的数据。
8.如权利要求6所述的装置,其特征在于,所述第一控制单元采用Java词法分析方式将读取的模板解析为语法树的过程中,确定模板中存在连续的多个空格字符时,仅保存一个空格字符,或/和,将模板中全部的制表字符删除。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412485.1A CN103164193B (zh) | 2011-12-12 | 2011-12-12 | 一种模板的渲染方法及装置 |
HK13109752.4A HK1182475A1 (zh) | 2011-12-12 | 2013-08-21 | 種模板的渲染方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412485.1A CN103164193B (zh) | 2011-12-12 | 2011-12-12 | 一种模板的渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103164193A CN103164193A (zh) | 2013-06-19 |
CN103164193B true CN103164193B (zh) | 2016-02-17 |
Family
ID=48587318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110412485.1A Active CN103164193B (zh) | 2011-12-12 | 2011-12-12 | 一种模板的渲染方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103164193B (zh) |
HK (1) | HK1182475A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714982B (zh) * | 2013-12-17 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
CN103970534A (zh) * | 2014-04-15 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 一种提供移动应用中的渲染页面的方法与设备 |
CN106033390A (zh) * | 2015-03-12 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种邮件样式测试方法和装置 |
CN107220256A (zh) * | 2016-03-22 | 2017-09-29 | 中电科海洋信息技术研究院有限公司 | web前端展示文件的自动生成方法 |
CN105847870A (zh) * | 2016-04-20 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种静态视频播放页面生成方法、装置、系统及服务器 |
CN106055575A (zh) * | 2016-05-19 | 2016-10-26 | 天脉聚源(北京)传媒科技有限公司 | 一种网站页面优化加载的方法及装置 |
CN107766344B (zh) * | 2016-08-15 | 2021-07-30 | 阿里巴巴集团控股有限公司 | 一种模板渲染的方法、装置及浏览器 |
CN110263287A (zh) * | 2019-06-24 | 2019-09-20 | 北京字节跳动网络技术有限公司 | 页面渲染方法及设备 |
CN114385947B (zh) * | 2021-12-21 | 2023-01-20 | 广东南方网络信息科技有限公司 | 一种网页发布方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003036489A1 (en) * | 2001-10-24 | 2003-05-01 | Bea Systems, Inc. | System and method for portal rendering |
US7685168B2 (en) * | 2007-08-31 | 2010-03-23 | International Business Machines Corporation | Removing web application flicker using AJAX and page templates |
CN102054028A (zh) * | 2010-12-10 | 2011-05-11 | 黄斌 | 具备页面渲染功能的网络爬虫系统及其实现方法 |
-
2011
- 2011-12-12 CN CN201110412485.1A patent/CN103164193B/zh active Active
-
2013
- 2013-08-21 HK HK13109752.4A patent/HK1182475A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003036489A1 (en) * | 2001-10-24 | 2003-05-01 | Bea Systems, Inc. | System and method for portal rendering |
US7685168B2 (en) * | 2007-08-31 | 2010-03-23 | International Business Machines Corporation | Removing web application flicker using AJAX and page templates |
CN102054028A (zh) * | 2010-12-10 | 2011-05-11 | 黄斌 | 具备页面渲染功能的网络爬虫系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103164193A (zh) | 2013-06-19 |
HK1182475A1 (zh) | 2013-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164193B (zh) | 一种模板的渲染方法及装置 | |
AU2014275115B2 (en) | Debugging native code by transitioning from execution in native mode to execution in interpreted mode | |
TWI525543B (zh) | 混合式動態碼編譯裝置、方法及其服務系統 | |
US8997070B2 (en) | Extension mechanism for scripting language compiler | |
CN101452386B (zh) | 使用正向推理链执行基于上下文模型的策略的方法及策略引擎 | |
CN104461513B (zh) | 一种生成表单界面的方法及装置 | |
CN109947433A (zh) | 一种小程序的生成方法、更新方法及装置 | |
CN109284104A (zh) | 基于网页汇编语言控制页面跳转的方法 | |
US7849394B2 (en) | Linked code generation report | |
CN106681891A (zh) | 一种Java应用系统中调整日志级别的方法及装置 | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
CN111737630A (zh) | 用于记录用户访问路径的方法 | |
CN108268356A (zh) | 基于字节码覆写的反向web插桩分析方法和web服务器 | |
KR101287371B1 (ko) | 웹 컨텐츠 수집방법 및 수집장치, 그 기록매체 | |
CN105183629A (zh) | 分析php应用软件性能的诊断系统及其方法和性能管理平台 | |
KR20100065071A (ko) | 캐싱 기법을 이용한 svg 이미지 출력 장치 및 그 방법 | |
Watson | Effective wireless communication through application partitioning | |
CN110362317B (zh) | 一种代码转换方法、装置和存储介质 | |
US20110231820A1 (en) | Exclusive logging | |
CN110134380A (zh) | 一种基于模板引擎的代码生成方法、装置及电子设备 | |
CN102231164A (zh) | 一种面向多学科虚拟实验平台的xml增量传输与交互方法 | |
CN101446955A (zh) | 一种浏览器的实现方法、装置和系统 | |
CN115186214A (zh) | 页面配置方法、装置、计算机设备及计算机可读存储介质 | |
CN101639836A (zh) | 数据处理设备和数据处理方法 | |
CN102006512A (zh) | 应用sax解析引擎的数字电视hsml解析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1182475 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1182475 Country of ref document: HK |