首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

两个简略网站计数器的比较

2013-11-09 
两个简单网站计数器的比较第一个:第二个:2个页面都是用application完成的一个网站的计数器操作,每次当有新

两个简单网站计数器的比较
第一个:



第二个:


    2个页面都是用application完成的一个网站的计数器操作,每次当有新的用户来的时候,就要求记录的数字加1,在用来第一次来的时候进行计算.在WEB根目录中创建count.txt的文件.
    application保存的内容可以让所有人共同访问,getServletContext()方法就是application. getRealPath方法可以取得虚拟目录对应的绝对路径.
    application是ServletContext接口的对象,表示的是整个容器的上下文.

    通过IO操作,读取count.txt中的数字并保存.两者的save方法基本相似,但在load方法上有所不同,第一个只是简单的读取了count.txt中的内容,而第二个在读取时判断的文件的完整性,而且使用了BigInteger作为返回类型,有利于大流量的访问统计. 1 楼 mfkvfn 2012-03-02   不需要每次写文件。
在服务器启动时从文件读取一次缓存在Java单例中,每次只用读取和修改这个缓存就可以了。服务器停止的时候写回到文件中。
只做一次读取和写入了。其它时候都是操作内存。 2 楼 bolovesang 2012-03-02   mfkvfn 写道不需要每次写文件。
在服务器启动时从文件读取一次缓存在Java单例中,每次只用读取和修改这个缓存就可以了。服务器停止的时候写回到文件中。
只做一次读取和写入了。其它时候都是操作内存。

读取缓存也是种好方法,适用于在日维护或周维护时的流量统计,但对于实时的流量统计,还是要进行文件读取吧? 3 楼 canghailan 2012-03-02   你这么做,性能够呛啊:每次访问,synchronized里还有IO。
第一段代码里的同步貌似还有些问题。
最简单的做法就是bolovesang说的缓存,可以使用static AtomicLong,服务器启动时读取,停止时写回。
4 楼 canghailan 2012-03-02   BigInteger也没什么必要,long完全足够了,100亿人每分钟访问一次都能撑上1000多年的。

热点排行