Java服务器,能不能让一些对象永久的运行?

来源:百度知道 编辑:UC知道 时间:2024/06/28 17:22:02
就像gmail首页那个邮箱空间的数字一样,不断的增加,无论有没有人打开那个网页,这里应该有一个永久运行的对象吧?java服务器端的程序应该怎么写。我是个还没入门的菜鸟,需要各位帮忙,谢谢。

to runjia1987

你见过哪个公司的哪个项目是使用这样的方式的?真好笑,如果让TAOBAO使用你这样的方式,每秒几百万次,几千万次的数据库访问不让你数据库瘫掉,或者频繁的读写硬盘物理文件不让你硬盘挂掉才怪;如果配上集群,WEB服务等等技术,你怎么搞??

最重要的一点,数据库的读写操作和物理文件的读写操作都是要时间的,如果有并发时你怎么处理?如果是持续并发怎么办?首先你要花一秒时间读一下这个变量,然后再花一秒时间存一下这个变量,在这两秒的时间内,也许已经发生了1W次的访问,你该怎么处理?有这样做的吗?我们做项目的都是想办法尽可能的减轻数据库的压力,想办法把业务分担到应用层,你确想方设法的把压力放到数据库,呵呵,估计经验尚浅。

回答问题的时候希望能客观一点,最好从实际项目出发。我们在实际开发中,有时候,所用的技术也许并不是最完美的,也不是最合乎常规的,但是,一定要是最有效的,最安全的。做技术的最终目的还不是为客户满意,而用户满意的关键是不要出错,速度要快。

=====================================
可以的,基本上有两种方式:
1、可以做为一个静态变量,这样,在服务启动的时候就常驻内存,直到服务停止
2、将变量存放在application中,也是服务启动的时候常驻内存,直到服务停止

静态变量和application级别的对象都不是很完善。
最好就是设置一个变量,每次则+1,同时立即存入数据库或者保存在服务器硬盘的某个物理文件上,
这样是最安全的,但是增加了I/O操作或数据库存取成本