大型购物网站互联网应用组队中,欢迎java程序员加入!

e国阳光 发布于 2013/09/10 21:06
阅读 4K+
收藏 3
无学历要求,无性别要求,无年龄要求,无......要求。

专职或兼职(兼职可在家工作)都可以;

有意者请把下面一道题亲自做完后发邮箱:5xstar@21cn.com  或 qq543296087 

请注明开源社区号

/**
 * 规整运行数据收集器
 * 收集、保存和查询只有固定长度和/或数值的对象(其中有1个不重复的主键)
**/

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;


public class RegularRunDataCollector
{
  /**
   * 构造函数
   * File dir 文件所在目录
   * String fileName 数据文件名称
  **/
  public RegularRunDataCollector(final File dir,final String fileName)throws IOException
  {


   }

   /**
    * 按主键大小顺序插入或更新数据
    * RegularRunData data 需要插入或更新的数据
   **/
   public void update(final RegularRunData data)throws IOException
   {

   }

   /**
    * 查询数据
    * long key 主键
   **/
   public RegularRunData get(final long key)throws IOException
   {

   }  

   /**
    * 关闭收集器
   **/
   public void close()throws IOException
   {

   }

}

final class RegularRunData{

  long key;  //主键

  long time;  //时间

  byte status;  //状态

}

以下是话题补充:

@e国阳光:不需要用什么数据库、框架之类,就是用RandomAccessFile实现规整数据保存到文件和从文件中快速查询数据的功能。 (2013/09/11 10:29)
加载中
0
java_speed
java_speed

我是来挑刺的,看了一下要求,大致理解是:从某个文件中读取数据,然后保存到数据库(或许),加多一些类似CRUD的方法。

  1. 从设计来看,只涉及到一个文件,为什么需要两个参数,明显不太合理;
  2. final的用法,方法参数用final一般都是在有匿名内部类的方法常见,一般普通的参数加上final明显比较多余。明显update方法,参数只是数据类,定义final,想要保护其中的数据,退一步讲,假如在update方法体,修改里面的数据,你这个final基本就没什么意义了;
  3. 注释一般都是写在类名的上方,很少有写在开始的(开始的地方一般是些版权信息);
  4. 最后说一下类名,听起来感觉很是别扭。

纯属挑刺娱乐!

PS:评论留言框,默认有点小。


xiaoxia
xiaoxia
回复 @e国阳光 : 你理解错我的意思了,我不是要表达构造函数和其他的方法有啥区别。是想说构造函数不是让你来处理业务的那2个参数没有加final的必要。
e国阳光
e国阳光
回复 @xiaoxia : 构造函数和普通的函数在字节码执行时没有太大的区别,入参中final修饰,目的是表明函数体内只能作为常量使用。当然也有运行优化作用。
xiaoxia
xiaoxia
1.构造函数中的两个参数是合理的,因为可能会操作目录下的文件所有文件。 2.构造函数中的那两final确实多余,update中的final还是有用的。 PS:个人愚见
0
把妹达人老张
把妹达人老张
自己写一个kv数据库。b+tree 我能想到的最好的。看看memcache源码,应该能写出更好的来。
nirvanawgw
nirvanawgw
光说不行啊,上代码
e国阳光
e国阳光
能否拿kv数据库出来晒一下,让大家见识见识啊?
0
n
newlife867
看到中文注释真不习惯。
0
老名字被占了
老名字被占了
只招java。。。。路过
0
王瑞平
王瑞平
技术堪忧
0
livehl
livehl
scalaer飘过
0
e国阳光
e国阳光
什么是规整运行数据:每条记录有固定的byte长度,这样在顺序文件中,可以通过指针偏移定位记录所在的位置。
0
e国阳光
e国阳光
什么是记录主键:一条记录中有唯一的字段标志整个数据单元,在同一个数据集合中,主键是唯一的,和数据库记录主键一样。
0
e国阳光
e国阳光
规整运行数据收集器的作用:在多用户并发的系统中,后台业务层需要临时或永久保存用户一些业务数据(规整的,活跃的),如果用数组或collection持有这些数据,必然造成内存大量消耗直到系统崩溃。收集器就是解决这个问题。
0
e国阳光
e国阳光
用RandomAccessFile实现这个数据功能,是为了跨平台,性能不是最好的。
返回顶部
顶部