- java工作原理是怎么样的?
- jvm虚拟机编译源码为字节码,在通过解释器转换成机器码,最终执行命令运行
- java数据类型有哪些?
- byte、short、int、long、float、duble、char、string、boolean
- java循环结构有哪些?
- for
- while
- do.while
- 什么是面向对象?oop面向对象设计四个特征是什么?
- 面向对象是一种解决问题的方法或观点,是由一组彼此相互通信的实体对象组成
- 抽象、继承、多态、封装
- java访问级别从小到大顺序?
- private-default-protected-public
- java接口和抽象类有什么区别?
- 抽象类只能单继承;接口可以多实现
- 抽象类中可以有普通属性,也可以有常量;接口中的成员变量全部默认是常量,使用public static final修饰
- 抽象类可以有构函数;接口不能有构造函数
- 抽象类可以含初始化块;接口不能含初始化块
- 接口里面不能定义静态方法;抽象类里面可以定义静态方法
- java普通内部类和静态内部类区别?
- 普通内部类实例化后持有外部类引用,可以访问外部类成员变量;静态内部类实例化后不持有外部类引用,不可以访问外部类
- 外部类静态方法中无法创建普通内部类对象,可以创建静态内部类对象;
- java数组和集合有什么区别?怎么初始化定义的?
- 数组通过下标访问数据成员,集合通过下标访问
- 数组初始化需指定大小,集合有初始默认大小
- 数组访问速度比集合更加快
- String[] str = new String[10]
- List arrayList = new ArrayList();
- java中集合有哪些?线程安全又有哪些?
- ArrayList、linkedList、HashSet、TreeSet、HashMap、Hashtable、Vector
- 线程安全Hashtable、Vector集合,底层都是使用synchronized修饰
- jdbc连接数据库步骤是什么?
- 加载数据库驱动(到JVM)
- 建立数据库连接
- 创建数据库 *** 作对象
- 定义 *** 作的SQL语句
- 执行数据库 *** 作
- 获取并 *** 作结果集
- 关闭对象,回收数据库资源
- java中IO流有哪些?
- InputStream(字节输入流)
- FileInputStream、PipedInputStream、ByteArrayInputStream、BufferedInputstream、SequenceInputStream、DataInputStream、ObjectInputStream
- OutputStream(字节输出流)
- FileOutputStream、PipedOutputStream、ByteArrayOutputStream、BufferedOutputStream、DataOutputStream、ObjectOutputStream、PrintStream
- Reader(字符输入流)
- FileReader、PipedReader、CharArrayReader、BufferedReader、InputStreamReader
- Writer(字符输出流)
- FileWriter、PipedWriter、CharArrayWriter、BufferedWriter、InputStreamWriter、PrintWriter
- InputStream(字节输入流)
- java线程和进程有什么区别?
- 进程是 *** 作系统最基本的运行单元
- 线程是属于进程中一个独立运行的子任务
- 为什么要用多线程?
- 提升系统运行效率,使用异步执行,cpu可以同时切换多个线程执行
- 线程实现的方式有哪几种?
- 实现Runnable接口
- 继承Thread类
- 线程状态有哪些?
- 初始(NEW)
- 就绪(ready)运行(RUNNABLE)
- 阻塞(BLOCKED)
- 等待(WAITING)
- 超时等待(TIMED_WAITING)
- 终止(TERMINATED)
- 线程优先级是用什么来表示的?Thread类中定义三个优先级常量是什么?怎么设置线程优先级?
- 使用数字1-10来表示
- 三个优先级常量
- norm_priority值为5,默认为norm_priority
- max_priority值为10
- min_priority值为1
- 通过setPriority方法修改线程当前优先级
- 线程同步机制是怎么样的?
- 线程同步是使用synchronized关键字来实现的,被申明为同步方法只能被线程顺序的执行,在方法执行结束前所有资源都是独享的,其他线程都处于阻塞状态
- 线程之间是怎么通信的?
- 线程是怎么产生死锁的?
- 当两个线程循环依赖于同一个对象时将发生死锁
- 怎么解决线程死锁问题?
- 在指定任务真正需要并发时,才采用多线程
- 在对象同步方法中调用其他同步方法需要小心
- 在临界区(公共资源或共享数据)中的时间应尽可能短
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)