加盟网站系统作图工具
此内容会持续补充。。。
基础
- short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?
 - String str=”aaa”,与 String str=new String(“aaa”)一样吗?
 - String 和 StringBuilder、StringBuffer 的区别?
 - Sring最大能存多大内容?
 - 重载和重写的区别
 - 构造方法能不能重写?能不能重载?
 - 数组实例化有几种方式?
 - Java 中各种数据默认值
 - Object 类常用方法有那些?
 - java 中是值传递还是引用传递?
 - 形参与实参区别
 - 内部类与静态内部类的区别?
 - Static 关键字有什么作用?
 - final 在 java 中的作用,有哪些用法?
 - Char 类型能不能转成 int 类型?能不能转化成 string 类型,能不能转成 double 类型
 - 讲下 java 中的 math 类有那些常用方法?
 - 什么是拆装箱?
 - 一个 java 类中包含那些内容?
 - 针对浮点型数据运算出现的误差的问题,你怎么解决?
 - 面向对象的特征有哪些方面?
 - 普通类与抽象类有什么区别?
 - 什么是接口?接口有什么特点?为什么需要接口?
 - 抽象类和接口的区别?
 - 接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?
 - 访问修饰符 public,private,protected,以及不写(默认friendly) 时的区别?
 - Hashcode 的作用
 - 深拷贝和浅拷贝的区别是什么?
 - JDBC 操作的步骤
 - 什么时候用 assert
 - 数组有没有 length()这个方法? String 有没有 length()这个方法
 - 用最有效率的方法算出 2 乘以 8 等于几?
 - 一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?
 
集合
- ArrayList 和 linkedList 的区别
 - HashMap 排序
 - Collection 包结构,与 Collections 的区别
 - 说说 List,Set,Map 三者的区别
 - 并发集合和普通集合如何区别?
 - Map 有什么特点
 - 集合类存放于 Java.util 包中, 主要有几 种接口
 - 什么是 list 接口
 - 说说 ArrayList(数组)
 - Vector( 数组实现、 线程同步)
 - 说说 LinkList(链表)
 - 什么 Set 集合
 - HashSet( Hash 表)
 - 什么是 TreeSet(二叉树)
 - List 和 Map、Set 的区别?
 - 数组和链表分别比较适合用于什么场景,为什么?
 - 说说 ConcurrentHashMap
 - Java 中 ArrayList 和 LinkedList 区别?
 - TreeMap(可排序)
 - 请用两个队列模拟堆栈结构?
 - Map 中的 key 和 value 可以为 null?
 - 数据结构基础之双向链表
 - HashMap 的底层实现
 - ConcurrentHashMap 和 Hashtable 的区别
 - 说出 ArrayList,Vector,LinkedList 的存储性能和特性
 - 你所知道的集合类都有哪些?主要方法?
 - HashMap 原理,java8 做了什么改变
 - poll()方法和 remove()方法的区别?
 - 写一段代码在遍历 ArrayList 时移除一个元素
 
异常
- Java 中异常分为哪两种?
 - 异常的处理机制有几种?
 - 如何自定义一个异常
 - try catch fifinally,try 里有 return,finally 还执行么?
 - Excption 与 Error 包结构及区别
 - Thow 与 thorws 区别
 - final、finally、finalize 的区别?
 - 说出最常见的 5 个 RuntimeException?
 - 在 Java 异常处理的过程中,你遵循的那些最好的实践是什么?
 - 你遇到过 OutOfMemoryError 错误嘛?你是怎么搞定的?
 
IO
- Java 中 IO 流?
 - 字节流如何转为字符流?
 - 常用 io 类有那些
 - IO模型有哪些
 - 阻塞 IO 模型
a. 读取数据时一直等待数据准备完毕 - 字节流和字符流的区别?
 - 多路复用 IO 模型
 - 如何实现对象克隆?
 - 异步 IO 模型
 - 什么是 java 序列化,如何实现 java 序列化?
 - NIO 的缓冲区
 - 面向 Stream 和面向 Buffer
 - Channel
 - NIO 和 IO 对应用的设计有何影响
 - Selector
 - Java IO 与 NIO 的区别
 - 字节流与字符流的区别
 - 非阻塞 IO 模型
 - 信号驱动 IO 模型
 - NIO 的非阻塞
 - Buffer
 
反射
- 什么是反射?
 - Java 反射创建对象效率高还是通过 new 创建对象的效率高?
 - 哪里会用到反射机制?
 - 反射机制的优缺点?
 - 实现 Java 反射的类:
 - 动态代理是什么?有哪些应用?
 - Java 反射 API
 - 获取 Class 对象有几种方法
 - 反射的实现方式
 - 反射使用步骤(获取 Class 对象、调用对象方法)
 
序列化
- 什么是 java 序列化?
 - Serializable 实现序列化
 - 如何实现 java 序列化?
 - 哪些变量不会被序列化?
 - 序列化作用
 - 序列化场景
 
注解
- 4 种标准元注解是哪四种?
 - 什么是注解?他们的典型用例是什么?
 - 从标准库中描述一些有用的注解。
 - 注解原理
 - 可以从注解方法声明返回哪些对象类型?
 - 哪些程序元素可以注解?
 - 什么是重复注解?
 - 怎么能检索注解?这与保留政策有何关系?
 - 是否可以扩展注解?
 
并发
- 什么是线程?
 - 继承 Thread 类
 - 如何在 java 中实现线程
 - ExecutorService、 Callable、 Future 有返回值线程
 - 实现多线程 Thread 和 Runnable 区别?
 - 4 种线程池:单线程,计划线程,固定线程,可缓存线程
 - 解释 java 中的 volatile 变量:直接操作内存,数据立刻展示
 - notify()和 notifyAll()有什么区别?:通知一个线程,通知全部全程
 - sleep()和 wait() 有什么区别?:睡眠一定实践自动唤醒;等待需要其他线程通知唤醒。
 - volatile 是什么?可以保证有序性吗?只保证可见性,不保证有序性
 - Thread 类中的 start() 和 run() 方法有什么区别?开始进入准备实践,运行即刻执行。
 - 为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
 - 共享锁和独占锁
 - Java 中 interrupted 和 isInterruptedd 方法的区别?
 - Java 中 synchronized 和 ReentrantLock 有什么不同?
 - 有三个线程 T1,T2,T3,如何保证顺序执行?
 - SynchronizedMap 和 ConcurrentHashMap 有什么区别?
 - 什么是线程安全
 - 重量级锁(Mutex Lock)
 - Java 线程池中 submit() 和 execute()方法有什么区别?
 - 偏向锁
 - 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 synchronized 关键字最主要的三种使用方式
 - 什么是线程安全?Vector 是一个线程安全类吗?
 - Java 中实现多线程有几种方法
 - 实现 Runnable 接口。
 - 如何停止一个正在运行的线程
 - 线程基本方法
 - 线程让步(yield)
 - 线程唤醒(notify)
 
锁
- 锁有哪些分类
 - Java 中 synchronized 和 ReentrantLock 有什么不同?
 - 共享锁和独占锁
 - 自旋锁和自适应自旋
 - 偏向锁 轻量级锁 重量级锁(Mutex Lock)
 
JVM
- JVM 运行时内存模型
 - 64 位 JVM 中,int 的长度是多数?
 - 新生代、老年代、永久代
 - 32 位和 64 位的 JVM,int 类型变量的长度是多数?
 - JAVA8 与元数据
 - 分代收集算法
 - 怎样通过 Java 程序来判断 JVM 是 32 位 还是 64 位?
 - 分代收集算法
 - JRE、JDK、JVM 及 JIT 之间有什么不同?
 - 解释 Java 堆空间及 GC?
 - JVM 内存区域
 - JAVA 强引用、软引用、弱引用、虚引用
 - 虚拟机栈(线程私有)
 - 分代收集算法
 - 你能保证 GC 执行吗?
 - 怎么获取 Java 程序使用的内存?堆使用的百分比?
 - 在老年代-标记整理算法
 - 描述一下 JVM 加载 class 文件的原理机制
 - Serial Old 收集器(单线程标记整理算法)
 - 堆(Heap-线程共享) -运行时数据区
 - G1 收集器
 - JVM 类加载机制
 - 堆和栈的区别
 - 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
 - Parallel Old 收集器(多线程标记整理算法)
 - 垃圾收集算法
 - Minor GC 与 Full GC 分别在什么时候发生?
 - 你知道哪些 JVM 性能调优
 - 说一下 JVM 的主要组成部分及其作用?
 - 队列和栈是什么?有什么区别?
 
网络
- HTTP 响应码 301 和 302 代表的是什么?有什么区别?
 - 简单说一下http协议?
 - HTTP与HTTPS的区别?
 - HTTP协议下客户端请求报文是什么?
 - HTTP协议服务器响应报文有哪些?
 - HTTP协议中的请求方法有哪些?
 - 常见的HTTP状态码有哪些?
 - forward 和 redirect 的区别?
 - 简述 tcp 和 udp的区别?
 - TCP 为什么要三次握手,两次不行吗?为什么?
 - 说一下 TCP 粘包是怎么产生的?
 - OSI 的七层模型都有哪些?
 - GET和POST的区别?
 - 如何实现跨域?
 - 什么是WebSocket?
 - WebSocket与HTTP的关系
 - WebSocket与Socket的关系
 - WebSocket示例
 
