前言

大家好,给大家带来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面试集合(二)的更多相关文章

  1. Java面试集合(七)

    前言: Java面试集合(六) 的回顾,对于final可以修饰常量,方法,和类,一旦常量定义好后就不可改变,而方法,用final来修饰方法,方法不可重载,继承,重写,final用来修饰类,该类不能被继 ...

  2. Java面试集合(三)

    前言 大家好,给大家带来Java面试集合(三)的概述,希望你们喜欢 三 1.在Java中是否可以含有多个类? 答:可以含有多个类,但只有一个是public类,public类的类名与文件名必须一致. 2 ...

  3. Java面试集合(一)

    前言 大家好,给大家带来Java面试集合(一)的概述,希望你们喜欢 一 1.Java按应用范围可划分几个版本? 答:Java按应用范围有三个版本,分别是JavaSE,JavaEE,JavaME. 2. ...

  4. Java面试集合(三)-30道面试题

    前言 大家好,我是 Vic,今天给大家带来Java面试集合(三)的概述,希望你们喜欢 三 1.在Java中是否可以含有多个类?答:可以含有多个类,但只有一个是public类,public类的类名与文件 ...

  5. java面试记录二:spring加载流程、springmvc请求流程、spring事务失效、synchronized和volatile、JMM和JVM模型、二分查找的实现、垃圾收集器、控制台顺序打印ABC的三种线程实现

    注:部分答案引用网络文章 简答题 1.Spring项目启动后的加载流程 (1)使用spring框架的web项目,在tomcat下,是根据web.xml来启动的.web.xml中负责配置启动spring ...

  6. Java面试集合(六)

    1. abstract抽象 什么是abstract,中文为抽象,从具体事物抽出,概括它们共同的方面,本质属性与关系等,称为抽象.看不见,摸不着的东西叫做抽象,抽象是人们对世界万物的感觉,用特定的图像表 ...

  7. Java之集合(二十六)ConcurrentSkipListMap

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7542578.html 1.前言 一个可伸缩的并发实现,这个map实现了排序功能,默认使用的是对象自身的compa ...

  8. Java之集合(二)ArrayDeque

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7283928.html 1.前言 上章讲解了Java中的集合接口和相关实现抽象类,本章开始介绍一些具体的实现类,第 ...

  9. Java面试(二)

    1 同步方法 VS 同步代码块: java中,每一个对象都有一把锁,线程用synchronized获取对象上的锁. 非静态同步方法:锁是类的对象的锁. 静态同步方法:锁的是类本身. 同步方法块:锁是可 ...

随机推荐

  1. python中subprocess模块

    subprocess  模块 subprocess称之为子进程,进程是一个正在进行的程序 子进程是由另一个正在运行的程序启动的程序,例如QQ聊天点击一个链接,打开了浏览器,那么浏览器称之为QQ的子进程 ...

  2. 悲观锁,乐观锁,排他锁,行锁----MYSQL

    在说具体的锁结构时,先思考一个问题,那就是为什么要上锁?然后我要如何选择锁?锁具体如何实现? 在文章得末尾我给出了我的个人答案. 一.什么是悲观锁? 1.悲观锁就是在操作数据时,认为此操作会出现数据冲 ...

  3. 通过DMS连接RDS需要添加的DMS白名单地址

    10.152.163.0/24,139.224.4.0/24,11.193.54.0/24,101.37.74.0/24,10.137.42.0/24,121.43.18.0/24

  4. OpenCV常用数据类型

    Point 二维点坐标(x,y) typedef Point3_<int> Point3i; typedef Point3_<float> Point3f; typedef P ...

  5. FortiGate日常检查

    1.1)CPU利用率:由于防火墙有芯片,正常的流量都走芯片转发,不走cpu,只有开了utm相关的应用层防护功能和DDOS之类的,才会走cpu,所以一般cpu都不会占用太多,甚至很多时间都是0%, 如果 ...

  6. [leetcode]35. Search Insert Position寻找插入位置

    Given a sorted array and a target value, return the index if the target is found. If not, return the ...

  7. 在当前目录打开DOS命令窗口

    Windows7系统:Shift + 鼠标右键 Windows10系统:Shift + 鼠标右键打开Power shell,在Power shell的命令窗口中输入:start cmd

  8. sbb指令

    sbb是带借位减法指令,它利用了CF位上记录的借位值. 指令格式:sbb 操作对象1,操作对象2 功能:操作对象1=操作对象1-操作对象2-CF 比如指令sbb ax,bx实现的功能是: (ax)=( ...

  9. Django中操作Redis

    一 创建redis连接池 redis_pool.py pool = redis.ConnectionPool(host='10.211.55.4', port=6379) 二 引入连接池 import ...

  10. python页面解析_beautifulsoup试玩

      最近玩爬虫,先把python解析器 beautifulsoup 练练 这个 tainiu.html 是从百度网盘里拷贝一段html from bs4 importBeautifulSoup wit ...