基于Spring+SpringMVC+WebSocket开发的聊天室项目

最近在研究 WebSocket ,写了这个聊天室的小项目。 项目环境 JDK1.7、Tomcat7、MyEclipse 项目结构 项目jar文件 项目实现的功能 1.即时聊天功能 类似QQ和微信的聊天方式,目前测试版本只能发送文字信息,敬请期待后续版本吧! 2.生成聊天记录文件 每一次发送的聊天信息,包括上线下线的记录,都会被写入到 ...

Java线程中sleep()和wait()的区别

sleep() sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。 因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了sleep() 方法,线程虽然进入休眠,但是对象的机锁没有被释放,其他线程依然无法访问这个 ...

Linux下实时查看tomcat运行日志

1.切换到tomcat的logs目录下:cd /xxx/tomcat/logs 2.然后使用命令:tail -f catalina.out Ctrl+c退出tail命令 Linux的tail命令 tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并 ...

Spring的核心AOP与IOC的概念

IOC :Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度。而spring的核心是IOC控制反转和AOP面向切面编程。IOC控制反转主要强调的是程序之间的关系是由容器控制的,容器控制对象,控制了对外部资源的获取。而反转即为,在传统的编程中都是由我们创建对象获取依赖对象,而在IOC中是容器帮我们创建对象并注入依赖 ...

Java中Servlet的执行流程和生命周期

执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。 生命周期 ...

Java中String,StringBuilder,StringBuffer三者的区别

String字符串常量 由多个字符组成的一串数据,相当于字符数组。字符串是常量,它们的值在创建之后不能更改。 StringBuilder、StringBuffer可变字符序列 StringBuffer :同步的,线程安全,效率较StringBuilder低。 StringBuilder :不同步的,线程不安全,效率高。 单线程情况下做字符串拼接,推荐使用 Stri ...