String s1="",s2="";
//标志字符串,作为传递字符串使用
//得到其java用户评论代码他窗口传递的字符串,并判断是否结束
while(!(s1=in.readLine()).equals("bye")){
text6.setText("可可在线");//当连接成功是在用户列表中 输出用户名字
if(!s1.equals("")){//如果传递的字符串不为 空
text1.append("可可: "+lab10.getText()+"\n");//在聊天记录上添加文本
text1.append(s1+"\n");//将输入的聊天内容输出在聊天记录上
}
s2=s;//将在聊天窗口中得到的字符串传递给输出字符串
for(;s2.equals("")||s2.equals(null);s2=s){//当传递的字符串为空时等待用户输入聊天内容
}
s="";//将在聊天窗口中得到的字符串设为空
if(!s2.equals("")!s2.equals(null)){// s2不为空时做
out.println(s2);//向其他窗口输出字符串
}
out.flush();//输出聊天内容
}
//关闭连接
in.close();
out.close();
socket.close();
server.close();
}catch(Exception e){
}
}
//main函数
public static void main(String args[]){
new Login();//登录实现} }
}
}
时间类class Time
package com.server;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;
import javax.swing.Timer; //时间类
public class Time {
public Time(JLabel time){
//构造方法this.setTimer(time);
//设置时间
}
public void setTimer(JLabel time){
//设置时间方法
final JLabel varTime = time;
//传递组件
Timer timeAction = new Timer(1000, new ActionListener() {
//时间监听
public void actionPerformed(ActionEvent e) {
long timemillis = System.currentTimeMillis();//得到系统时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换日期显示格式
varTime.setText(df.format(new Date(timemillis)));//输出得到的时间
}
});
timeAction.start();//开启线程
}
}
java用户评论缓存在哪里在java应用中,对于访问频率比较高,又不怎么变化的数据,常用的解决方案是把这些数据加入缓存 。相比DB,缓存的读取效率快好不少 。java应用缓存一般分两种 , 一是进程内缓存,就是使用java应用虚拟机内存的缓存;另一个是进程外缓存 , 现在我们常用的各种分布式缓存 。相比较而言,进程内缓存比进程外缓存快很多,而且编码也简单;但是,进程内缓存的存储量有限,使用的是java应用虚拟机的内存,而且每个应用都要存储一份 , 有一定的资源浪费 。进程外缓存相比进程内缓存,会慢些,但是,存储空间可以横向扩展,不受限制 。
这里是几中场景的访问时间
-------------------------------------------------------------------
|从数据库中读取一条数据(有索引)|十几毫秒|
|从远程分布式缓存读取一条数据|0.5毫秒|
|从内存中读取1MB数据|十几微妙|
-------------------------------------------------------------------
进程内缓存和进程外缓存,各有优缺点,针对不同场景 , 可以分别采用不同的缓存方案 。对于数据量不大的,我们可以采用进程内缓存 。或者只要内存足够富裕,都可以采用,但是不要盲目以为自己富裕,不然可能会导致系统内存不够 。
下面要分享的是一个代码级别的,对进程内缓存的经验总结 。面向jdk1.8版本 。
在有效时间内缓存单个对象
public class LiveCacheT {// 缓存时间
private final int cacheMillis;// 缓存对象
private final T element;// 缓存对象创建时间
推荐阅读
- oracle获取存储过程返回值,oracle存储过程 return
- jqueryeq写变量,jquery变量的赋值
- erp系统里面单位咋入进去,erp怎么用啊刚上班
- MSN图标怎么去水印小程序,msn图标怎么去水印小程序里面
- 淘宝直播尼泊尔老金是什么,淘宝直播卖的老金是真的吗
- 双线服务器托管,双线服务器租用托管
- vb.net泛型方法 c#泛型函数
- 画图用什么cpu好用,画图用amd的cpu还是英特尔
- 基于python爬虫的商品分析,python爬虫分析数据