论坛首页 Java企业应用论坛

Without SSH/JSP/Servlet,不走寻常路,Java可以更酷

浏览 217464 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-11-17  
firmgoal 写道
缓存是个问题,Play! Framework说“Does not keep any object into the Java heap for multiple requests”,Douyu是不是也要这么说?


这个先要明确缓存的对象是什么类型的?
Douyu内部实现可以缓存HttpRequest、HttpResponse的实例,
这样处理完一次请求后把HttpRequest、HttpResponse的实例放入对象缓存池中,
不用每次接收到一个新请求都new HttpRequest、或new HttpResponse。
当然还有很多用到缓存的地方,比如静态资源缓存、Statement缓存、数据库连接池等等。
这些都是Douyu的内部实现,用户不必操心,Douyu只向用户开放了一些配置参数,
让用户可以启用或禁用某种类型的缓存也可以控制缓存的空间大小。

另外,Controller是与用户直接有关的,如果用户能确定Controller是多线程安全的,
Douyu允许用户自由配置是否所有线程共享一个Controller实例。

数据库的对象缓存(特别是查询缓存)目前没有实现。

0 请登录后投票
   发表时间:2009-11-17   最后修改:2009-11-17
如果看到这个就说复杂了,就说没实用性了,我看中国的IT业就没指望了。

别指望这般人能创造自己的数据库和操作系统了。

DOS1.0时代的代码能跟win7相比嘛,凡是都有发展过程。

不懂的,不了解的,就去学,而不是望而却步,然后说这个没实用性,那个别人已经实现了。

难道中国再过10年还只能用别人的框架来搭企业应用嘛?!可悲啊!!!

我们的教育都教出啥了???

坚决顶楼主,真希望我们的李开复同志能看看,他不是号称喜欢做些改变世界的事嘛,那就请他扶持一下中国的IT基础产业吧,老板们不缺这点钱吧,不见得每个项目投资就一定要有经济回报吧!!
10 请登录后投票
   发表时间:2009-11-17  
helian 写道
ZHH2009 写道
helian 写道
工作流什么的的确先不需要考虑。权限控制甚至都可以先放一放。

先把开发流程理顺吧,最好能提供IDE的支持办法。


可以修改conf\server.java文件,
在每个@Database中都有个outputJavaSourceFiles参数,把它设为true就可以了,
启动服务器后,会把所有的模型类的源文件都输出到packageName这个参数指定的目录中(包名就是目录名)
比如packageName="sql.table.mysql",那么模型类的源文件都会放到apps\sql\table\mysql目录中,
你把sql\table\mysql目录导入就可以了,
然后你再把bin\douyu.jar文件加到IDE的类库中,就像你使用其他jar文件一样。

不过我自己没用IDE,我只是用简单的文本编辑器(EditPlus),我的机子跑不动NetBeans。

Douyu跟普通的Java程序没分别的,不需要专门的IDE插件。


乃。。。乃。。。乃真是一切从底层搞起啊。。。

原来模型类会生成源文件啊,我还以为你直接生成class了呢。


这个outputJavaSourceFiles参数通常只是内部使用的,
只是会了我开发时测试动态生成的class是否正确,普通用户不用管源文件的内容。
其实呢,只要你把work目录加到IDE的classpath中就行了。

0 请登录后投票
   发表时间:2009-11-17   最后修改:2009-11-17
支持一下linliangyi2007的观点

不要重复造轮子之类的话是说给公司听的。

作为公司开发,当然是效率越高越好
作为公司的程序员,当然是以公司利益为主

但是把拿来就用的风格发扬在任何地方

只能说你不适合当一个热爱技术的程序员
或者说程序员只是你的job。不是你的爱好
1 请登录后投票
   发表时间:2009-11-17  
linliangyi2007 写道
如果看到这个就说复杂了,就说没实用性了,我看中国的IT业就没指望了。

别指望这般人能创造自己的数据库和操作系统了。

DOS1.0时代的代码能跟win7相比嘛,凡是都有发展过程。

不懂的,不了解的,就去学,而不是望而却步,然后说这个没实用性,那个别人已经实现了。

难道中国再过10年还只能用别人的框架来搭企业应用嘛?!可悲啊!!!

我们的教育都教出啥了???

坚决顶楼主,真希望我们的李开复同志能看看,他不是号称喜欢做些改变世界的事嘛,那就请他扶持一下中国的IT基础产业吧,老板们不缺这点钱吧,不见得每个项目投资就一定要有经济回报吧!!

创新工场。。。不知道会不会得到投资哦
我今天一天都在关注这个帖子。。。唉。。。自己水平有限啊。。。
看看回帖我都受益良多啊
0 请登录后投票
   发表时间:2009-11-17  
iaimstar 写道
支持一下linliangyi2007的观点

不要重复造轮子之类的话是说给公司听的。

作为公司开发,当然是效率越高越好
作为公司的程序员,当然是以公司利益为主

但是把拿来就用的风格发扬在任何地方

只能说你不适合当一个热爱技术的程序员
或者说程序员只是你的job。不是你的爱好


开始学习技术的时候,相当喜欢造轮子,工作之后却变懒了。。。
唉。。。
0 请登录后投票
   发表时间:2009-11-17   最后修改:2009-11-17
咱还是先少谈"XX主义","XX精神",以及民族自豪感这些个东西吧.
谈谈实用性的.
楼主,工作流之类的东西你就先别加了,这不是什么重点,我相信也不是你的强项.修改JVM虚拟机的事儿,其他筒子们也别嚷嚷了,还太远.
0 请登录后投票
   发表时间:2009-11-17  
yanwt 写道
看了半天,难道就是为了解决一个修改原文件不用重启服务器改了那么多东西?其他的功能也没什么特别的,至于ORM的实现也没什么,自己写的简单应用玩玩可以,一旦做商业应用问题就多了,表关系复杂的做起来就累了。
至于不重启服务器这块的实现没有源码,性能不知道怎么样?是不是每次请求都要判断原文件是否有没有修改?
不重启服务器的目的主要是为了上线的应用在升级时不用停止应用罢了,这个可以利用架构去解决,我现在的应用在升级时虽然重启应用服务器,但是对用户是透明的,不会对用户造成影响。


如果你有这样的疑问:难道就是为了解决一个修改原文件不用重启服务器改了那么多东西
要么说明我写这篇文章写得太难懂了,要么是你没细细看完(可能太长了,没耐心看)。

也不用太在意性能问题,此文的宗旨并不是说让你马上去用,只不过是个0.1.0版的东西,
我真叫你去用,我想你也不会去用的。

这篇文章更多的是分享一些个人的想法,听听网友们的意见,互相交流一下,仅此而已。

0 请登录后投票
   发表时间:2009-11-17  
看到武侠小说了
0 请登录后投票
   发表时间:2009-11-17  
ZHH2009 写道
helian 写道
ZHH2009 写道
helian 写道
工作流什么的的确先不需要考虑。权限控制甚至都可以先放一放。

先把开发流程理顺吧,最好能提供IDE的支持办法。


可以修改conf\server.java文件,
在每个@Database中都有个outputJavaSourceFiles参数,把它设为true就可以了,
启动服务器后,会把所有的模型类的源文件都输出到packageName这个参数指定的目录中(包名就是目录名)
比如packageName="sql.table.mysql",那么模型类的源文件都会放到apps\sql\table\mysql目录中,
你把sql\table\mysql目录导入就可以了,
然后你再把bin\douyu.jar文件加到IDE的类库中,就像你使用其他jar文件一样。

不过我自己没用IDE,我只是用简单的文本编辑器(EditPlus),我的机子跑不动NetBeans。

Douyu跟普通的Java程序没分别的,不需要专门的IDE插件。


乃。。。乃。。。乃真是一切从底层搞起啊。。。

原来模型类会生成源文件啊,我还以为你直接生成class了呢。


这个outputJavaSourceFiles参数通常只是内部使用的,
只是会了我开发时测试动态生成的class是否正确,普通用户不用管源文件的内容。
其实呢,只要你把work目录加到IDE的classpath中就行了。



也就是说模型类里面不能有逻辑了?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics