Java面试集合(二)

作者: 魔王哪吒 | 来源:发表于2018-03-24 13:47 被阅读18次

前言

大家好,我是 Vic,今天给大家带来Java面试集合(二)的概述,希望你们喜欢

1.请问线程有哪些状态?

新建状态(New)
就绪状态(Runnable)
运行状态(Running)
阻塞状态(Blocked)
死亡状态(Terminated)

2.表达线程代码?

new Thread(){
 public void run(){}
}.start();
new Thread(new Runnable(){
 public void run(){}
}).start();

3.如何表示什么是接口?

interface Student{
 public void read();
 public void write();
}
class ChineseStudent implements Student{
 public void read(){
 System.out.println("read");
 public void write(){
 System.out.println("write");
}
}
//测试类
class Test{
 public static void main(String args[]){
  ChineseStudent chinesestudent = new ChineseStudent();
  Student student = chinesestudent;
  
  student.read();
  student.write();
  }
}
//implements关键字,继承多个接口
interface Student{
 public void read();
 public void write();
}
interface Teacher{
 public void teach();
 public void test();
}
class Person implements Student,Teacher{
  public void read(){
   system.out.printlln("read");
}
  public void write(){
   System.out.println("write");
}
  public void teach(){
   System.out.println("teach");
}
  public void test(){
   System.out.println("test");
}
}
//测试类
class Test{
 public static void main(String args[]){
  Person person = new Person();
  Student student = person;
   student.read();
   student.write();
  Teacher teacher = person;
    teacher.teach();
    teacher.close();
}
}

4.简单说说String类和StringBuffer类之间的区别?
答:String类是不可变的类,字符串一旦被初始化就不可能改变;StringBuffer是可变的字符串类,可以修改字符串的值。

5.简单说说List,Set,Map的区别?

List的特点是元素有序,元素可重复;List常见的实现类为ArrayList和LinkedList;Set的特点是元素的无序,元素不可重复,Set常见的实现类有HashSet和TreeSet;Map的特点是存储的元素是键(key)和值(Value)的映射关系,元素都是成对出现的,Map的常见实现类是HashMap和TreeMap。

6.来描述类集合框架?

public class Test{
 public static void main(String[] args){ 
  ArrayList list = new Arraylist();
  for(int i = 0; i<10; i++){
   list.add("Test:"+i);
  }
  //打印
  Iterator iterator = list.iterator();
  while(iterator.hasNext()){
   //集合不能记住元素的类型
   Object object = iterator.next();
   System.out.println(object);
  }
}

7.说说字节流和字符流?
答:字节流的两个基类分别是InputStream和OutputStream,字符流的两个基类分别是Reader和Writer。字节流是以8位字节为单位的字节流类,而字符流是以16位字节为单位。

8.用代码介绍FileInputStream和FileOutputStream,以及BufferedReader和BufferedWriter?

public class Test{
 public static void main(String args) throws Exception{
  //字节流
 FileInputStream in = new FileInputStream("C:/test.txt");
 FileOutStream out = new FileOutputStream("D:/testone.txt");
  byte[] buf = new byte[1024];
  int len;
  while( (len = in.read(buf))  !=  -1){
   out.write(buf,0,len);
 }
 in.close();
 out.close();

//字符流
BufferedReader bf = new BufferedReader(new FileReadere("C:/test.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("D://testtwo.txt"));
String str;
 while( (str = bf.readLine() ) != null ){
  bw.write(str);
  bw.newLine();
}
bf.close();
bw.close();
}
}

9.网络开发Socket和ServerSocket的表达?

//服务端
public class ServerSocket1{
 public static void main(String[] args){
  try{
   ServerSocket ss = new ServerSocket(2008);
  while(true){
  Socket s = ss.accept();
  InputStream is = s.getInputStream();
  OutputStream os = s.getOutputStream();
  PrintStream ps = new PrintStream(os);
 ps.println("hello, i am server");
 
 DataInputStream dis = new DataInputStream(is);
 String str = dis.readLine();
 System.out.println(str);
 s.close();
}
}
catch(IOException ee){
 System.out.println(ee);
}
catch(Excepiton e){
 System.out.println(e);
}
//客户端
public class ClientSocket{
 public static void main(String[] args){
 try{
 Socket s  = new Socket("####id",2008);
 InputStream is = s.getInputStream();
 OutputStream os = s.getOutputStream();
 PrintStream ps = new PrintStream(os);
 ps.println("hello, i am client");
 DataInputStream dis = new DataInputStream(is);
 String str = dis.readLine();
 System.out.println(str);
 s.close();
}
catch(ConnectException eee) {
     System.out.println(eee);
   }
   catch(IOException ee) {
     System.out.println(ee);
   }
   catch(Exception e) {
     System.out.println(e);
   }
 }
}

10.谈谈,解惑?
答:对于我来说,我认为程序员并不是最好的职业,这是从享受生活的角度上看的,我听说过太多程序员的熬夜现象了,这是一门学到老的专业方向,如今IT的发展太快了,并且太多细节需要我们深入了解,这就大大让IT工作太累了,如果不是喜欢,不是兴趣,建议自己重新思考,重新定义。

总结

  • 本文讲了Java面试集合(二),如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注

相关文章

  • Java面试题目录

    垃圾回收 面试题-Java基础-垃圾回收 java垃圾回收 集合 40个Java集合面试问题和答案 Java集合框...

  • Java面试题目录

    垃圾回收 面试题-Java基础-垃圾回收 java垃圾回收 集合 40个Java集合面试问题和答案 Java集合框...

  • Java基础面试总结

    【面试汇总】Java面试题-1Java面试题-2 【集合】Java集合及concurrent并发包总结(转)Jav...

  • 面试总结-Java高级篇

    Java面试总结 1.你用过哪些集合类? 大公司最喜欢问的Java集合类面试题 40个Java集合面试问题和答案 ...

  • Java面试集合(二)

    前言 大家好,我是 Vic,今天给大家带来Java面试集合(二)的概述,希望你们喜欢 二 1.请问线程有哪些状态?...

  • Java基础汇总

    [ 面试题 ] java基础 面试 | java基础 最近5年133个Java面试问题列表 40个Java集合面试...

  • 【集合框架】

    集合框架(怎么实现、适用场景) hash相关 Java集合框架 Java集合框架综述Java集合框架面试问题集锦 ...

  • Nothing seek,Nothing find

    美图欣赏 Java、Android知识点汇集 Java集合类 ** Java集合相关的博客** java面试相关 ...

  • 那些年我们追过的Java面试之集合类、异常处理

    标签:Java面试、集合类、异常处理 2017/05/09 09:36 三.Java集合类 10.Java集合类框...

  • Collection

    参考地址:Java集合常见面试题集锦Java集合必会14问(精选面试题整理) Java中Collection和Co...

网友评论

    本文标题:Java面试集合(二)

    本文链接:https://www.haomeiwen.com/subject/fokqcftx.html