若相依 发表于 2015-1-18 11:33:27

了解下JAVA的网站缓存数据及时更新的完成

手机用到的是用j2me所编出来的小程序。
一个网站的完成不成制止的必要处置大批的内存数据,这年夜多都出于网站功能的思索息争决I/O瓶颈成绩,如JavaEye网站的首页排名数据和博客频道的排名等数据,都举行了缓存处置,并且并不是是及时的,出格是首页的排名数据几近是一天赋会更新一次的,一样,QQ等流派网站也存在大批静态化内存数据,以是一个网站缓存的处置是相当主要的,而且好的架构必要做到代码无侵进性,也就是说内存的更新,日记的纪录等操纵都应当是“切面”处置,在我厥后的网站开辟中,我一样平常城市界说一个缓存类,以下:
Java代码
public static LinkedList<Login> regRecentUser=new LinkedList(); //比来注册职员
 public static LinkedList<Login> regLoginedUser=new LinkedList();//比来登录职员
 public static List<Topic> hotTopic=new ArrayList();//最热宣布话题
而且会本人完成对象的排序接口,如最抢手的话题,多是按话题对象的某几个属性的权重分派来完成的,相似代码以下:
Java代码
public class TopicCompare implements Comparator{
    //抢手的话题与顶的数量和批评的数量有关,权重分派比例为4:6 
 public int compare(Object arg0, Object arg1) {
 if((arg0 instanceof Topic) && (arg1 instanceof Topic)){
  double y=((Topic)arg0).getAgreeit()*0.4 + ((Topic)arg0).getCmtnum()*0.6;
  double h=((Topic)arg1).getAgreeit()*0.4 + ((Topic)arg1).getCmtnum()*0.6;
  if(y==h) return 0;
  else if(y>h) return 1;
  else return -1;
 }
 return 0;
 }

}
缓存的切面更新一样平常我喜好利用SpringAOP,复杂而有用,一样平常需求都能满意,Aspect语法对照庞大,没工夫看,呵呵
Java代码
import java.lang.reflect.Method;

import org.springframework.aop.AfterReturningAdvice;

import com.common.cache.WebCacheUtils;
import com.cxlh.dao.hibernate.Login;

public class LoginAdvice implements AfterReturningAdvice {
 public void afterReturning(Object returnValue, Method method, Object[] args,
  Object target) throws Throwable {
 if(method.getName().equalsIgnoreCase("checkUserLogin") && !returnValue.toString().equalsIgnoreCase("null")){
  //比来登任命户缓存更新
  System.out.println("=======update login cache");
  WebCacheUtils.addRegLoginedUser((Login)returnValue);
 }else if(method.getName().equalsIgnoreCase("addUser")){
  //更新最新注册用户缓存
  System.out.println("=======update add user cache");
  WebCacheUtils.addRegRecentUser((Login)args);
 }
 }
}
如许,比来登录和最新注册用户的缓存数据城市按自界说排序划定规矩举行及时的缓存更新了,不晓得如许的及时缓存处置关于年夜并发量的网站是不是能满意请求,没有举行过功能测试!慎用!!!

恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?

金色的骷髅 发表于 2015-1-19 21:19:04

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

深爱那片海 发表于 2015-1-24 16:55:59

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

爱飞 发表于 2015-1-30 16:54:19

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

只想知道 发表于 2015-2-6 01:59:12

是一种语言,用以产生「小应用程序(Applet(s))

admin 发表于 2015-2-12 13:28:14

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

第二个灵魂 发表于 2015-2-26 20:48:22

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

简单生活 发表于 2015-3-11 16:15:38

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

莫相离 发表于 2015-3-12 08:12:35

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

海妖 发表于 2015-3-16 03:20:57

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

飘灵儿 发表于 2015-3-18 05:25:12

是一种将安全性(Security)列为第一优先考虑的语言

因胸联盟 发表于 2015-3-20 04:27:24

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

再现理想 发表于 2015-4-6 04:09:34

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

小魔女 发表于 2015-4-10 10:34:35

是一种突破用户端机器环境和CPU

若天明 发表于 2015-4-11 06:11:50

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

再见西城 发表于 2015-4-14 04:56:36

是一种为 Internet发展的计算机语言

仓酷云 发表于 2015-4-16 01:11:24

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

灵魂腐蚀 发表于 2015-4-27 12:32:40

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

活着的死人 发表于 2015-5-4 08:51:04

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

冷月葬花魂 发表于 2015-6-5 13:29:20

Java是一种计算机编程语言,拥有跨平台、面向对java
页: [1]
查看完整版本: 了解下JAVA的网站缓存数据及时更新的完成