都应该是基本的吧 但是我都没答上来 希望大家别鄙视 留下答案
1.Id generator(native,assigned,increment,uuid)应用场景,原理,实现2.用java socket编程,读服务器几个字母,在写入本地显示3.事物定义以及隔离级别4.String 和 StringBuffere在做字符串拼接时会有什么缺点?

解决方案 »

  1.   

    4. 没太明白意思。StringBuffer 会一次性申请一个较大的内存,而不是反复的new 字符串。3. 事物我就知道可以回滚。2. 没文档我还真写不出来。1. 不知道这个generator是干嘛用的,给祖国人民丢脸了。
      

  2.   

    4,generator是hibernate的主键生成策略
    native根据数据库底层实现选择hilo/increment/identity其中一个
    assigned是主键ID自己填写
    increment是根据数据库底层实现自增,但是必须是sequence数据库,如oracle
    2还真不会
    3,也有点晕
    4,String生成的对象是不可变的,因此再拼接时会生成很多多余的对象
    StringBuffer可通过appened方法对字符串进行拼接,生成一个对象即可
      

  3.   

    3 事物其实就想问你 一致性,原子性,隔离性,持久性
    事物的隔离级别有四个 你可以查下,socket 编程就是 相互之间流传输,对流熟悉 应该没有什么问题
      

  4.   

    1.Id generator(native,assigned,increment,uuid)应用场景,原理,实现不会2.用java socket编程,读服务器几个字母,在写入本地显示简单的socket  随便找本书吧 3.事物定义以及隔离级别事物是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位隔离级别 分别对应Connection 里面有 5个常量字段的语意4.String 和 StringBuffer在做字符串拼接时会有什么缺点?相对于 StringBuilder
    String在做拼接的时候会被优化成StringBuilder 做 ,要么然每个中间结果都要生成一个String 对象。
    StringBuffer是线程安全的 ,部分方法 利用 synchronized 进行了同步
      

  5.   


    native根据数据库底层实现选择hilo/sequence/identity其中一个 
      

  6.   

    由128位的UUID算法生成唯一的标识符
      

  7.   

    2.用java socket编程,读服务器几个字母,在写入本地显示//服务器
    public class Ssocket { public static void main (String args[]) {
    try {
    ServerSocket ssocket = new ServerSocket(4700);
    Socket s =ssocket.accept();
    BufferedReader sreader = new BufferedReader(new InputStreamReader(s.getInputStream()));
    PrintWriter swriter = new PrintWriter(s.getOutputStream());
    String smsg = null;
    while((smsg = sreader.readLine()) != null)  {
    System.out.println("smsg:"+smsg);
    if(smsg.equals("谢谢!")) {
    break;
    }
    }
    swriter.println("你好!");
    swriter.flush();
    swriter.println("我叫XXX");
    swriter.flush();
    swriter.println("你叫什么?");
    swriter.flush();
    swriter.println("谢谢!");
    swriter.flush();
    sreader.close();
    swriter.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    //客户端
    public class Csocket { public static void main(String[] args) {
    try {
    Socket csocket = new Socket("127.0.0.1",4700);
    BufferedReader creader = new BufferedReader(new InputStreamReader(csocket.getInputStream()));
    PrintWriter cwriter = new PrintWriter(csocket.getOutputStream());
    cwriter.println("你好!");
    cwriter.flush();
    cwriter.println("你叫什么?");
    cwriter.flush();
    cwriter.println("我叫XXX");
    cwriter.flush();
    cwriter.println("谢谢!");
    cwriter.flush();
    String cmsg = null;
    while((cmsg = creader.readLine()) != null) {
    System.out.println("cmsg:"+cmsg);
    if(cmsg.equals("谢谢!")) {
    break;
    }
    }
    cwriter.close();
    creader.close();
    } catch (IOException e) {
    e.printStackTrace();
    } }}3.事物定义以及隔离级别
    4#楼是对的
    String 和 StringBuffere在做字符串拼接时会有什么缺点?
    对这个我只知道,String是不可变的,StringBuffere是可以变的,如果要字符串拼接最好用StringBuffere
      

  8.   


     UUID含义是通用唯一识别码
    UUID uuid=UUID.randomUUID();//UUID  java.util包下面的
    生成的字符串类似这样:53569a9e-fbe2-418a-bfe9-bf6ce977be1d
      

  9.   

    我晕了 感觉好难啊 我要学习java么还???
      

  10.   

    1:native 根据数据库的类型,自动的在sequence和identity进行切换。
    (根据方言:hibernate.cfg.xml中的<property name="dialect">org.hibernate.dialect.MySQLDialect</property>)判断提供何种数据库
    ------------------------------------------------------------
    sequence 主键生成器 Oracle Postgre DB2 实现原理:调用数据库中底层存在squence生成主键Oracle 建序列:create sequence xxx increment by1 start with 1 xxx.nextval--->下一个值
    ----------------------------------------------
    assigned 手工分配主键生成器
    --------------------------------------------------
    identity SQLServer MySQL特点:建表时可以为主键 指定一个主键自动生成关键字
    id int primary key auto_increment;
      

  11.   

    1.是hibernate的Id生成策略
    2.网络编程
    3.ACID
    4.StringBuffere速度快,占用空间少
      

  12.   

    第一个问题.       native 我记得和 increment差不多,都是hibernate对mysql的支持,代表增加1。oralce 支持uuid,uuid是一个128为的全球唯一的标识符,都代表主键的生成模式。 
    第二个问题        也就是socket通信,这个比较easy
    第三个问题        目前没有思路。
    第四个问题        String 和StringBuffer的主要区别是 
    比如       String s = "abc";
              s = s + "bcd"   \\这里中间在String pool中产生了两个临时变量“bcd”和"abcbcd"然后把abcbcd 才赋值给s;
     对象的StringBuffer s = new StringBuffer("abc");StringBuffer 是java5 引入的,是线程不安全的。
    abc.append("bcd");这里没有产生临时变量。希望可以明白,不明白的还可继续问
      

  13.   

    String拼接会产生很多新的对象,StringBuffered拼接是对自己的操作,还带有自动扩充的字符串缓冲区,节省内存。当需要大量的字符拼接时用第二个。
      

  14.   

    StringBuffer是线程安全的,StringBuilder才非线程安全String 和 StringBuffer最大的区别在于
    对String的操作
    类似:"a"+"b"
    需要进行内存复制操作,重新新建String对象并相加.
    而StringBuffer只需要在一个引用内操作.而且可以给定缓冲区可以认为String s = "a"+"b"
    相当于
    StringBuffer sb = new StringBuffer(2);
    sb.append("a").append("b")
    2倍的开销.
      

  15.   

    怎么记得是university unique id呢
    会用一个算法生成一全宇宙几乎很难小概率重复的String来
      

  16.   

    TRANSACTION_READ_UNCOMMITTED 说明在提交前一个事务可以看到另一个事务的变化。这样脏读、不可重复的读和虚读都是允许的。TRANSACTION_READ_COMMITTED 说明读取未提交的数据是不允许的。这个级别仍然允许不可重复的读和虚读产生。TRANSACTION_REPEATABLE_READ 说明事务保证能够再次读取相同的数据而不会失败,但虚读仍然会出现。TRANSACTION_SERIALIZABLE 是最高的事务级别,它防止脏读、不可重复的读和虚读。 
    事物的四个隔离级别(好像默认的是第二种,很久不看了,忘得差不多了)
      

  17.   

    1.Id generator(native,assigned,increment,uuid)应用场景,原理,实现
    只知道是Hibernate主键生成器
    http://blog.sina.com.cn/s/blog_57554ed50100e3cu.html2.用java socket编程,读服务器几个字母,在写入本地显示
    http://blog.sina.com.cn/s/blog_458b389e010006bv.html3.事物定义以及隔离级别
    http://maizhiye.blog.163.com/blog/static/32792332201067101435309/4.String 和 StringBuffere在做字符串拼接时会有什么缺点?http://www.cnblogs.com/aaronbao/archive/2010/03/15/1685700.html
      

  18.   

    别的前面都说了,我只是强调一下,当遇到大量的字符串拼接的时候,尤其是在一个循环中对不断对一个字符串拼接的时候,要用StringBuffere,会节省很多内存空间,项目中可能会遇到这些问题
      

  19.   

    太扯淡了。
    一般你使用String拼接字符串的时候,编译器自动会进行优化,转化为StringBuffer的append。
    从面试题上来看,这公司貌似是在招苦工。走走过场罢工了。
    不去也罢。
      

  20.   

    1.这个题完全可以看帮助文档 出的很没水准(一般我认为没什么必要记在脑子里的都没什么水准)
    2.我能写 不过这里就不写了
    3.没明白题意 也不知道他针对啥
    4.String 操作符+的实现就是StringBuffer的append
      

  21.   

    String + 不相当于appendString + 转换为StringBuffer.append只是编译器的优化行为.但一定不适用于所有情况.大型的字符串拼接还是要使用StringBuffer的方式.
      

  22.   

        LS正解!否则Sun 没必要专门单独提供一个类来进行字符串的拼接操作!