自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

Beetl 性能揭秘 1 :如何输出一个整型变量

常规来说,IO流提供了输出字符串(字符数组)的功能,所以,通常的整型输出应该是这样的代码:String str = String.valueOf(12);out.write(str);对于模板引擎来说,输出整形变量很常见,事实上,这个地方有非常大的性能提高空间。我们只要分析这俩句话的源码,就能看出,如何提高io输出int性能。对于第一句 String.valueOf 实际上调用了Integer...

2014-07-21 09:42:40 473

beetl 性能揭秘 2 :语言如何存取变量

对于一个程序语言来说,访问变量是一个基本的操作,也是最频繁使用的操作。提高Beetl访问变量的效率,将整体上提高Beetl的性能,本文介绍了Beetl是如何访问变量的。首先看一个简单的例子:var a = "hi";print(a);第一行定义a变量,第二行引用a变量打印输出,通常设计下,可以在变量定义的时候将变量保存到map里,需要用的时候根据变量名取出。因此上诉代码可以翻译为java的类似...

2014-07-21 09:39:03 239

原创 beetl 的maven地址

<dependency>    <groupId>org.beetl</groupId>    <artifactId>beetl-core</artifactId>    <version>2.0.10</version></dependency>

2014-07-15 16:17:13 470

原创 转:Beetl-Spring扩展文档

本文是Beetl模板引擎的Spring整合扩展的使用文档beetl-spring源码和使用示例的发布在这里 https://git.oschina.net/shishuifox/beetl-springbeetl的官网在这里 http://ibeetl.com一、GroupTemplateFactoryBean        GroupTemplateFactoryBean实现了...

2014-07-04 23:57:05 176

原创 现代模板引擎应具有的7大特征

  Java模板引擎已经发展了10余年,使用模板引擎者和模板引擎开发者都不思进取,得过且过,变化一直不大。毕竟,有技术含量值得屌丝追求的还是在后台。譬如早期的EJB,后来的WebService,SSH,还有现在的云计算,NOSQL等。但是,模板引擎没有变化并不代表已经非常成熟,它跟其他技术一样,也需要更新换代。程序员越来越认识到,模板开发在工作中占了较大工时,模板在渲染时占了CPU较大份额。现在国...

2012-11-22 23:10:14 141

Beetl 性能不如 Freemarker

  6月10号的一次调试,把输出buffer由原来的1024*8 改成了 10字节但忘记改回,也就是说,模板输出每满10个字节就会IO输出,导致性能比Freemarker差一些。我是最近在做性能再次优化的时候发现此严重问题的我查看了下载记录,大概有260个下载受到影响。我现在已经修复此问题,请大家更新到最新版本,http://beetl.sourceforge.net/更新后,能保证性...

2012-09-16 22:54:07 1136

Beetl 1.2M1 最新增强功能

1 支持了类似Freemarker的 General Get,即如果模型有一个public Object get(String key);可以在模板中当着属性引用如:${user.name},或者采用[]方式 如${user['name']}2 通过Config类来创建GroupTemplate。Config默认会先装载 /org/bee/tl/core/bee...

2012-09-09 22:56:57 130

beetl 开始翻译成英文文档了,有自愿者么?

 这是最近几个月beetl使用者完成的俩个电商网站截图:最近在做中文翻译成英文以走出国门,没有翻译完,还有30多页了,虽然翻译的蹩脚,但看着已经有点像模像样了,等着慢慢优化,如果有自愿者能帮助,那就更好了 Beetl Guid ---Joel Li 2012-6-291.     What is Beetl...........

2012-08-13 15:52:22 236

Resin3 JSP预编译实现

 Resin3 JSP预编译实现  一、预编译需求通过预先编译JSP,而不是在线上编译,节省了线上编译时间,降低系统上线初期超高的CPU使用率,以及用户请求等待事件默认方式,Resin3提供了俩种预编译(http://www.caucho.com/resin-3.0/jsp/compile.xtp),但在实际使用的时候,无...

2012-07-20 10:44:21 311

Spring-Dumpling,一个另外的开源小软件详细说明

 除了分身做beetl(http://beetl.sourceforge.net/)外,实际上还做了一个Spring相关的,技术含量不高,但还是很有用。所以推荐给大家 一、概述Spring-Dumpling(简称SD) 是在基于Spring框架下的提供协作服务,正如Spring自带的 @Service,SD提供@Coo...

2012-07-20 10:41:34 223

原创 一个新的小开源项目,spring-dumpling

介绍除了beetl外,在维护的另外一个小开源项目,spring-dumpling,提供一组注解来增强spring service的协作一:协作服务1 @CooperationService,类似于Spring的@Service所有标记@CooperationService的类都将检查类方法里是否有如下annotation @Publish / @Subscribe@ClusterSync ...

2012-07-16 10:14:09 111

Struts2 漏洞彻底解决办法

Beetl最近也没有更新,正好有时间贡献点其他方面的文章。Struts2官方已经发布了多次漏洞补丁,但根源在于OGNL能调用静态办法,所以彻底解决漏洞的办法是底层禁止OGNL调用一些特定的java类,如System,Runtime类我们底层入手,调用OGNLRuntime静态方法,设置我们自己的MethodAccessor类,能禁止OGNL在表达式中调用Runtime,System等类。这...

2012-07-13 18:32:19 218

内存分析OQL的几个例子

老发表beetl的更新日志,我也烦了,近期不忙,正好贡献点其他经验出来吧:解决内存泄露的一个方法是分许heap dump文件,可以参考 http://visualvm.java.net/oqlhelp.html我自己总结了一下以后可能用到的一些OQL,如下:查找所有包含指定类的listheap.objects(heap.findClass("java.util.ArrayList"...

2012-07-13 18:24:03 510

beetl功能与Freemarker功能比较

东西好不好,先比一下功能,拿目前最流行的Freemarker来做比较完全参考了Freemarker官方文档(2.3.19) 第一列是freemarker官方文档目录,第二列是表示beetl中是否具有同样的功能 通过下列表格,可以看出绝大部分功能,beetl都是支持的   功能...

2012-07-01 19:37:48 2425

Beetl1.2M1将模板的文本先以Byte方式输出,性能又大幅提高(更新)

beetl是一个语法类似javascript的模板语言,可以用于代码生成和Web开发,易用性和性能非常好,功能也很全,如下是在性能上最新优化成功Beetl1.2M1字节优化成果 还是以以前的模板为准(大小6K),循环渲染50000次,需要时间(毫秒为单位)如下 Beetl1.2M1 解释执行方式(普通模式),运行三次,分别 1356,1365,1348...

2012-06-10 23:44:55 126

性能(调优)三种吹毛求疵的行为

做个性能调优,也看过别人的性恩调优,我认为有三种吹毛求疵的性能调优行为,害人害己,有必要拿出来说一下。 第一个是片面虚拟机调优: 调优行为是个系统行为,能起到立竿见影的效果的有数据库调优,机器升级,或者架构上的调整,如引入缓存,去掉同步锁,采用异步和并发等。虚拟机调优在我看来,是调优的最后一步,也就是说,其他办法你都用了但你老板还要你做的更好,那就只好采用虚拟机调优。但虚拟机调优真的有用么...

2012-06-06 10:42:41 77

Beetl1.2M1 优化了普通文本输出,已经超过了Freemarker

1.2M1的一个重要内容之一是将普通文本合并,以优化输出。譬如以前的版本对于如下文本aaaaaaaaabbbbbbbbb将会先解析为<<__V0>><<__VCR>><<_V1>><<__VCR>>新的合并后,将变成<<_V0&am

2012-06-03 12:42:00 104

原创 Beetl bug修复和功能增强

 修复和增强了如下功能:1 文本处理函数 报错,行数定位不精确的问题2 默认情况下,优化模式不再保留生成的java源代码3 Web容器由于不一定能提供web的绝对地址,所以给出警告,最好为优化模式下,设置class目录绝对路径4 提供了注册functionPage的方法,如下group.registerFunctionPackage("string", new Object...

2012-05-20 23:19:23 143

最新 Beetl提供web-sample例子

从主网站上https://sourceforge.net/projects/beetl/files/ 下载,sample-web.war,部署在任意支持web的容器里,然后可以通过http://${your ip}:${your port}/${your context path}/index 来访问,如下样子 首先,通过 BeetlInitListener 初始化配置GroupT...

2012-05-06 17:59:17 225

原创 beetl1.1 提供的安全输出总结

模板引擎往往在渲染模板的时候,变量往往不是预期值,如变量为null,引擎的空指针异常从而导致页面输出异常。beetl提供了一些安全输出。如下:[b]占位符异常,用于占位符[/b] ${!(user.name)} ,在占位符号使用!() ,括号里面出现异常,则不作任何输出 [b]Missing Value,用于占位符[/b] ${use...

2012-04-03 23:49:48 259

使用Beetl Layout标签

    Beetl  (http://beetl.sourceforge.net/)   是下一代模板语言,里面有很多新特性,其中有标签语法。可以完成很多功能,如inlcude其他模板,页面布局,以及cache等功能,有点类似jsp的 标签。    标签语法如下:    标签名 (参数1,参数2......) {        标签体     }    如通...

2012-03-20 06:04:51 1798

原创 Beetl1.1 模板语言发布

十几年来,企业应用、互联网应用后端技术发生了很多变革,从分布式到Without EJB,从Database到Nosql,公司成本得到了很大降低。然而,对于架构师来说,同样重要的前端技术,仍然没有变化,无非还是JSP技术,或者采用模板引擎,如Freemarker、Velocity。前端对于与产品以及作为产品实现者开发人员来说,仍然是费时费力的一块,君不见,错误的使用前端技术,将抵消后台优化带来的用户

2012-03-17 23:37:03 156

原创 beetl1.1 文档补全了

beetl1.1 (http://beetl.sourceforge.net/)上次发布后,一些朋友要求补充文档,经过周末俩天不吃不喝,终于把文档补全了,包括  源代码 API文档 用户指南 jar包 文档也补充了servlet下如何使用beetl...

2012-03-11 21:31:23 78

原创 Beetl1.1 可以作为 Spring MVC 中另外一个视图技术选择

Spring MVC 中,多采用Freemarker作为视图层技术,主要是因为它功能强大,性能良好。现在我开发的Beetl模板语言也可以作为Spring MVC中的另外一个视图技术选择, 如果有兴趣,可以访问Beetl 主页 http://beetl.sourceforge.net/  。 以下文档节选自beetl指南 第四章 4. Spring MVC4.1. 配置Vi...

2012-02-19 21:34:23 173

beetl 使用文档出炉

<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDr...

2012-01-28 22:22:15 495

假如互联网公司做铁道部12306订票网站

 看到很多帖子都在吹捧让某些互联网公司来做,我就觉得有点恶心,他们来也肯定搞不定。 首先,这些帖子支持者明显没有接触过传统企业系统。      在网站订票前已经有电话订票,还有传统的窗口订票,这些系统是依赖于他们的核心票系统,网站只是个外围系统而已。至于为什么能这样说,只要做过比较大的企业系统的人,都应该明白。因此,网站系统能定到票否,不能仅仅取决于网站本身,而且还取决于核心系...

2012-01-15 22:20:58 124

beetl.10 beta 国人的新一代模板语言 发布

1.0终于赶在年前发布了,不过是beta版的,可能还有未发现的bug。 http://beetl.sourceforge.net/      Beetl是新一代的开源模板语言,基于FreeBSD。它语法采用了javascript语法子集,学习更简单。它的性能也在运行中能优化成class代码,性能高于同类模板语言,而耗费的系统资源低于同类模板语言。Beetl能自定义占...

2012-01-08 22:38:59 66

新年新计划

今年beetl基本完成,明年计划是推广beetl,能有更多的人使用还有一个计划是开发完voquery,一个查询,分析,统计内存数据的工具  

2011-12-31 22:36:24 61

Beetl 准备为期俩个月的单元测试

Beetl 优化模式已经完成,整体API已经确定下来,下一阶段就是做功能和性能测试老天保佑上班工作不忙,回家儿子不缠我陪他玩。争取完成2000个测试用例同时未在优化模式下运行的Beetl性能提升接近至freemarker如果还有时间,开始写扩展包,尤其是spring框架下的,任务艰巨  ...

2011-11-22 23:43:43 70

Beetl 专用博客

将beetl专门放在网易轻博客上,以后除非有版本发布,就不在此处发布关于beetl的文章。 http://beetl.lofter.com/ 摘抄一些内容如下 Beetl与Freemarker 比较一章一章的看了Freemarker官方网站的使用说明,觉得Beetl功能与Freemarker功能应该是差不多的。打算在Beetl正式发布前,也按...

2011-11-15 21:10:00 142

原创 Beetl 一处bug修改

Beetl 修复了一个bug,不能处理8K 以上文件。实际原因是读循环把文件读到8K的字符数组的时候有一处代码写错了Beel目前下载量不多,100个左右下载量。但最近下载量稍微多一点。希望使用Beetl的人能及时看到此bug修复,并下载新的版本 ...

2011-10-20 15:58:19 164

搭积木

初级架构师搭积木高级架构师维护积木特级构师搭积木,但不维护积木  感慨一下 

2011-10-10 15:47:11 92

beetl预编译版本

beetl预编译版本经过国庆4天闭关,已经解决了主要技术和完成了部分代码,并现在做了一个性能比较,效果不错,比freemarker快40%(原有runtime版本比freemarker慢33%)。期待年底前1.0版本的正式发布 如下模板:<%var b=1;var a=list[b+1];%>Hello,$a$<%for(c in list){%&...

2011-10-06 12:38:42 145

不要问我要破解后的mxGraph

我以前确实破解过mxGraph版本并在iteye公布过,不过其作者中有中国人,对我公布此破解不满。 我已经说承诺,不再公布破解,且随着我电脑一次中毒,此破解也不存在了。 请大家不要再问我要破解的mxGraph,我这没有了。    ...

2011-09-20 15:15:56 135

Beetl 0.6beta 发布,欢迎使用

Beetl模板语言使用指南什么是BeetlBeetl是Bee Template language,Bee译为忙碌的人,意指忙碌中国的开发人员。目前版本0.6beta,大小约320KBeetl是国人提供的一款开源免费得模板语言,作者有10余年Java开发经验,曾在国内外著名大公司工作过,根据自己实际使用模板语言的心得体会而编写的一款模板语言,它具有如下特性:1 非常简单:...

2011-08-28 21:40:02 143

我自己做的一个类似velocity的 模板语言

地址:http://beetl.sourceforge.net/ 当前状态:预览版 类似于velocity,jsp,stringtemplate,freemarker,codesmith .等等,并提供一些有趣独特的功能  Beetl 模板语言5分钟使用说明 1.  最无聊的一个例子:Hello worldBeeTemplate t = new BeeTempla...

2011-06-20 16:06:29 119

线程池大小设定

网上看到有人说线程池大小设定原则,其主要问题就是怕设置大了影响性能。我以前也是这么认为,因为首先书上这么写的,其次是像weblogic有自调优线程池.也间接论证了需要仔细设定线程池大小。 不过有一次心血来潮,想写一个自调优线程池的时候,(使用HP小型机做的调试)发现实际情况不是这样。线程设置大一些,并不会对应用有多大的负面效果,充其量CPU消费可能比最佳线程数大小多一点点。相反,...

2011-02-12 11:18:53 278

新年俩计划

新年技术上至少要完成俩件给自己安排的事情一个是开发Bee,作为另外一种模板语言.年底能使用二是提前我的写书计划,先考虑写一本Java Web Programing without Spring 练练手...

2011-01-11 10:57:11 57

Bee 第一个版本可以发布了

原来叫Escript,现在正式改名Bee,意思是蜜蜂,古怪的想法。现在虽然很简单,但已经具备实用价值[b]功能介绍:[/b] Bee是嵌入在文本注释里的脚本。通过运行这些文本中的Bee脚本,可以改写这些文本。譬如,配置文件: [code="java"] #: replaceProperties(productIp) db_ip = 127.0.0.1...

2010-12-21 22:31:59 236

EScript 增加了内置函数replace

原来嵌入在注释里的脚本(the script embed in comment) 的想法就是来源于早期replace2。([url]http://space.baidu.com/joelli/blog/item/d6ceb22471c390064d088d05.html[/url])所以现在特意在EScript增加了内置的replace命令另外,考虑到此博客主要是企业应...

2010-12-13 23:54:11 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除