java统计_java统计当前在线数
package com.hnedu.stat;
/**
* 计算在线人数,说明:
*
* 在访问页面放入:
* com.hnedu.stat.OnlineCounter.addUser(Object object)
* 一般用ip来作为object的传入值,当然,如果网站统计登陆在线人数,也可用用户名
* 来作为object传入值。
*
* 调用显示在线人数
* com.hnedu.stat.OnlineCounter.getOnlineCount() *
*
* com.hnedu.stat.OnlineCounter.getOnline()
* 返回一个List,里面以String[]形式存放传入的object值和最后访问页面时间。
* by crazyren 2003-08-05 email: c_crazyren@hotmail.com
*/
import java.util.List;
import java.util.ArrayList;
import javax.servlet.http.HttpSession;
public class OnlineCounter {
private static List list = new ArrayList();
private OnlineCounter() {
}
public static void addUser(Object object) {
//得到用户当前访问时间
String nowtime = com.hnedu.util.StringUtils.getTime("mm:ss");
//Str数组用来存放用户得ip和访问时间
String[] str = new String[2];
str[0] = object.toString();
str[1] = nowtime;
//temp数组用来临时存放从list里面取出的用户ip和访问时间
String[] temp = new String[2];
//循环list
for (int i = 0; i < list.size(); i++) {
temp = (String[])list.get(i);
//如果从list里面取出的用户ip和str里面存放的ip相同,则更新访问时间
if(temp[0].equals(str[0])) {
list.set(i,str);
return;
}
//如果用户超过5分钟没有访问,则认为不在线
if(subTime(nowtime,temp[1]) > 300) {
list.remove(i);
}
}
//添加一个新的在线用户
list.add(str);
//释放资源
str = null;temp = null;
}
public static int getOnlineCount() {
//返回当前在线人数
return list.size();
}
public static List getOnline() {
return list;
}
/** 计算两个时间差,返回相差秒数 */
private static int subTime(String src,String des) {
int n = 0;
java.util.Calendar ca = java.util.Calendar.getInstance();
long time1 =
com.hnedu.util.StringUtils.compareStringTime(src,des,"mm:ss");
ca.setTimeInMillis(time1);
n = (ca.get(java.util.Calendar.MINUTE)) * 60;
n = n + ca.get(java.util.Calendar.SECOND);
return n;
}
}
引用的StringUtils里面的两个方法:
/**
* 获得当前时间
* @param parrten 输出的时间格式
* @return 返回时间
*/
public static String getTime(String parrten)
{
String timestr;
if(parrten==null||parrten.equals(""))
{
parrten="yyyyMMddHHmmss";
}
java.text.SimpleDateFormat sdf=new SimpleDateFormat(parrten);
java.util.Date cday=new Date();
timestr=sdf.format(cday);
return timestr;
}
/** * 比较两个字符串时间的大小 * @param t1 时间1 * @param t2 时间2 * @param parrten 时间格式 :yyyy-MM-dd * @return 返回long =0相等,>0 t1>t2,<0 t1
java统计_java统计当前在线数相关推荐
- java字数统计_java统计字数
/** * 获取文章的字数或则字符数 * @author montao */ public class StatWordCount { private final char[] CHS = {',', ...
- java商品名称_Java统计商品信息
在一个货架上有 5 件商品,编写程序,在输入商品价格之后输出最高价格.总价格和平均价格. 首先要创建一个包含 5 个空元素的价格数组,然后使用 for 循环使用户从控制台录入商品的价格,并将价格保存至 ...
- java统计在线人数_java统计当前在线数 (转)
java统计当前在线数 (转)[@more@] package com.hnedu.stat; /** * 计算在线人数,说明: * * 在访问页面放入: * com.hnedu.stat.Onlin ...
- java判断一个文件有多少行_Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)...
要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释 ...
- 统计java文件中的代码行数
统计Java代码行数工具类 -- CodeCounterUtil.java 统计指定目录下的java文件中代码行数 -- public static int getCodeNumFromFo ...
- java和redis统计在线,在SpringBoot中使用Redis的zset统计在线用户信息
统计在线用户的数量,是应用很常见的需求了.如果需要精准的统计到用户是在线,离线状态,我想只有客户端和服务器通过保持一个TCP长连接来实现.如果应用本身并非一个IM应用的话,这种方式成本极高. 现在的应 ...
- ThingsBoard资产设备总数/离线数/在线数统计
注意:本文只在sql层面做介绍,接口没有!目标4在语雀知识库.此文没有! 注意:本文只在sql层面做介绍,接口没有!目标4在语雀知识库.此文没有! 注意:本文只在sql层面做介绍,接口没有!目标4在语 ...
- java 方法数统计_利用Java简单实现一个代码行数统计器方法实例
前言 哈喽,我是小黑, 最近学了java的输入输出流后一直心痒痒,总想找一点事情来做,所以用java代码来实现了一下统计代码的所有行数,看一下我上大学以来到底打了多少行. 先附上实现代码吧! pack ...
- linux中统计java数量,linux 统计当前目录下文件数
查看当前目录下文件的个数 ls -l | grep "^-" | wc -l 查看当前目录下文件的个数,包括子目录里的. ls -lR| grep "^-" | ...
最新文章
- tomcat中request对象是被创建的_常用开源框架中设计模式使用分析(全)
- Python分布式爬虫-elasticsearch搭建搜索引擎
- zabbix修改时区
- 比较简单的c语言编辑器,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- sublime编写python路径报错怎么改_sublime开发Python的编码问题
- 微型计算机组装实验报告虚拟,微型计算机组装与维护实训(附光盘)
- java中_null和“”的区别详解
- 不需要训练数据的图像恢复
- SpringCloud微服务注册调用入门-路由网关
- delphi 线程安全list_Java的中的集合(容器)-List
- vue自定义组件是.vue还是html,Vue自定义组件的四种方式示例详解
- L1-004. 计算摄氏温度-PAT团体程序设计天梯赛GPLT
- React.js组件化开发第一步(框架搭建)
- 十大网站压力测试软件-- WEB压力测试工具介绍
- windows系统自带cmd命令下载文件(类似linux的wget下载文件)
- 前端安全 XSS跨站脚本攻击-CSRF跨站请求伪造攻击
- Prefuse及相关数据结构可视化工具
- linux 发送at指令,AT指令发送短信流程
- 让所有版本的IE卡死的HTML代码
- Android应用中打开百度地图、高德地图、网页版百度地图
热门文章
- java中经典八皇后难题_Java实现经典八皇后的问题
- ios点击大头针气泡不弹出_地图大头针气泡点击事件
- oracle的自动增长,Oracle实现id自动增长
- 如何自己搞一个维基百科?
- 一款实用可行的支付系统,专供互联网企业使用,赶紧收藏了!
- 皮一皮:好一道举世佳酿“青山卧雪龙”...
- 不敢相信,相同 SQL 下 Mybatis 查询结果和数据库竟然不一样!
- C语言32位数加一精简,一个简单的32位多任务操作系统的实现(1)
- 计算机应用基础的答案2015,2015年《计算机应用基础》模拟试题及答案(一)
- favicon自动获取_友情链接前面自动获取并添加favicon.ico小图标