Java 面试的技术栈专题八股文有哪些? 您所在的位置:网站首页 java面试内容 Java 面试的技术栈专题八股文有哪些?

Java 面试的技术栈专题八股文有哪些?

2023-04-15 02:16| 来源: 网络整理| 查看: 265

作者:java结构搬运工链接:https://www.zhihu.com/question/549747721/answer/2644226726来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Java 10W字+面试总结这份面试总结比较多,就不一一的详细介绍了,粗略的将主要内容展示一下,其中含有20+的知识点如需参考原件pdf学习+刷题,可分享,——【传送门获取】JavaOOP面试题

1、什么是B/s架构?什么是C/s架构2、Java都有哪些开发平台?3、什么是JDK?什么是JRE?4、Java语言有哪些特点5、面向对象和面向过程的区别6、什么是数据结构?7、Java的数据结构有哪些?8、什么是00F?9、类与对象的关系?10、Java中有几种数据类型11、标识符的命名规则。12、instanceof关键字的作用13、什么是隐式转换,什么是显式转换14、Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型15、什么是拆装箱?16、Java中的包装类都是哪些?17、一个java类中包含哪些内容?18、那针对浮点型数据运算出现的误差的问题,你怎么解决?19、面向对象的特征有哪些方面?20、访问修饰符public, private, protected,以及不写(默认)时的区别21 、string是最基本的数据类型吗?22、float f=3.4;是否正确?23 、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1:有错吗24、重载和重写的区别25、equals与==的区别26 、++i与i++的区别27、程序的结构有哪些?28、数组实例化有几种方式?29、Java中各种数据默认值30、Java常用包有哪些?31、Object类常用方法有哪些?32、java中有没有指针?33、java中是值传递引用传递?34、实例化数组后,能不能改变数组长度呢?35、假设数组内有5个元素,如果对数组进行反序,该如何做?36、形参与实参区别37、构造方法能不能显式调用?38、什么是方法重载?39、构造方法能不能重写?能不能重载?40、内部类与静态内部类的区别?41 、stati c关键字有什么作用?42、final在java中的作用,有哪些用法?43、StringString StringBuffffer 和 StringBuilder 的区别是什么?44、String str=”aaa”,与String str=new String(“aaa”)一样吗?45、讲下java中的math类有哪些常用方法?46 、string类的常用方法有哪些?47、Java中的维承是单继承还是多继承48 、Super与this表示什么?49、普通类与抽象类有什么区别?50、什么是接口?为什么需要接口?51、接口有什么特点?52、抽象类和接口的区别?53、Hashcode的作用54、Java的四种引用,强弱软虚55、Java创建对象有几种方式?56、有没有可能两个不相等的对象有相同的hashcode57、拷贝和浅拷贝的区别是什么?58、static都有哪些用法?59、a=atb与at=b有什么区别吗?60、final 、 finalize()、 finally61、JDEC操作的步骤62、在使用jdbc的时候,如何防止出现sql注入的问题。63、怎么在JDEC内调用一个存储过程64、是否了解连接池,使用连接池有什么好处?65、你所了解的数据源技术有哪些?使用数据源有什么好处?66、&和&&的区别67、静态内部类如何定义68、什么是成员内部类69、Static Nested Class和Inner Class的不同70、什么时候用assert71 、Java有没有goto72、数组有没有length(这个方法? String有没有length()这个方法73、用最有效率的方法算出2乘以8等於几74、float型roat f=3.4是否正确?75、排序都有哪几种方法?请列举76、静态变里和实例变里的区别?77、说出一些常用的类,包,接口,请各举5个78 、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?79 、Java中的编译期常里是什么?使用它有什么风险80、在Java中,如何跳出当前的多重嵌套循环?81、构造器(constructor)是否可被重写( override)?82、92、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?83、是否可以继承String 类?84、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?85、string和StringBuilder . StringBuffer的区别?86、96、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?87、char型表里中能不能存贮一个中文汉字,为什么?88、抽象类〈 abstract class)和接口〈interface)有什么异同?89、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?90 、Java中会存在内存泄漏吗。请简单描述。91、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 synchronized修饰?92、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?93、如何实现对象克隆?94、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?95、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?96、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?97、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?98、Java 中的 final 关键字有哪些用法?

Java集合/泛型

1、ArrayList和linkedList的区别2、HashMap和HashTable的区别3、collection包结构,与collections的区别4、泛型常用特点〈待补充)5、说说List,Set, Map三者的区别6 、Array与ArrayList有什么不一样?7、Map有什么特点8、集合类存放于Java.util包中,主要有几种接口9、什么是list接口10、说说ArrayList(数组)11、Vector〈数组实现、线程同步)12、说说LinkList《链表)13、什么Se t集合14、HashSet ( Hash表)15、什么是TreeSet《二叉树)16、说说LinkHashSet ( HashSet+LinkedHazhMap )17、HashMap(数组+链表+红黑树)18、说说ConcurrentHashMap19、HashTable (线程安全)20、TreeMap(可排序)21、LinkHashMap《记录插入顺序)22、泛型类23、类型通配符?24、类型擦除

Java异常

1、Java中异常分为哪两种?2、异常的处理机制有几种?3、如何自定义一个异常4、try catch fifinally,try里有return, finally还执行么?5、Excption与Error包结构6、Thow与thorws区别7、Error与Exception区别?8、error和exception有什么区别

Java中的IO与NIO

1 、Java中IO流?2、Java IO与MIo的区别3、常用i o类有哪些4、字节流与字符流的区别5、阻塞I模型6、非阻塞工O模型7、多路夏用模型8、信号驱动工O模型9、异步I模型10、JAVA HIO11、MTO 的缓冲区12、MIo 的非阻塞13、Channel14、Buffer15、Selector

Java反射

1、除了使用new创建对象之外,还可以用什么方法创建对象?2、Java反射创建对象效率高还是通过new创建对象的效率高?3、java反射的作用4、哪里会用到反射机制?5、反射的实现方式:6、实现.Java反射的类:7、反射机制的优缺点:8 、Java反射API9、反射使用步骤〈获取Class 对象、调用对象的方法)10、获取Class 对象有几种方法11、利用反射动态创建对象实例

Java序列化与注解

1、什么是java序列化,如何实现java序列化?2、保存(持久化)对象及其状态到内存或者磁盘3、序列化对象以字节数组保持-静态成员不保存4、序列化用户远程对象传输5、Serializable实现序列化6、writeObject和readDbject自定义序列化策略7、序列化 ID8、序列化并不保存静态变里9 、Transient关键字阻止该表里被序列化到文件中10、序列化《从clone—中实现》11、4种标准元注解是哪四种?12、注解是什么

多线程&并发JAVA 并发知识库

1 、Java中实现多线程有几种方法2、维承Thread 类3、实现Runnable接口。4、ExecutorService 、 callable 、 Future有返回值线程5、基于线程池的方式6、4 种线程池7、如何停止一个正在运行的线程8 、notify()和notifyAll()有什么区别?9、sleep()和wait ()有什么区别?10、volatile是什么?可以保证有序性吗?11、Thread 类中的start()和run()方法有什么区别?12、为什么wait, notify和notifyll这些方法不在thread类里面?13、为什么wait和notify方法要在同步块中调用?14、Java中interrupted 和isInterruptedd方法的区别?15、Java中synchronized 和ReentrantLock有什么不同?16、有三个线程T1,T2,T3,如何保证顺序执行?17、SynchronizedMap和ConcurrentHashMap有什么区别?18、什么是线程安全19、Thread类中的yield方法有什么作用?20、Java线程池中submit() 和execute0方法有什么区别?21、说一说自己对于synchronized 关键字的了解22、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式23、什么是线程安全? Vector是一个线程安全类吗?24 、volatile关键字的作用?25、简述—下你对线程池的理解26、线程生命周期(状态)27、新建状态(REW)28、就绪状态(RUANABLE》29、运行状态(RUHRING)30、阻塞状态(BLOCKED )31、线程死亡(DEAD)口32、终止线程4种方式33、 start 与run区别34、定AVA后台线程35、什么是乐观主义36、什么是悲观锁37、什么是自旋锁38 、Synchronized同步锁39 、ReentrantLock40、condition 类和0bject类锁方法区别区别41 、 tryLock和lock和lockInterruptibly的区别42、Semaphore信号里43、Semaphore与ReentrantLock区别44、可重入锁【递归锁】45、公平锁与非公平锁46、ReadWriteLock 读写锁47、共享锁和独占锁48、重力级锁(Mutex Lock)49、轻里级锁50、偏向锁51、分段锁52、锁优化53、线程基本方法54、线程等待(wait)55、线程睡眠( sleep )56、线程让步(yield)57、线程中断( interrupt)58 、Join 等待其他线程终止59、为什么要用join(方法?60、线程唤醒〈notify )61、线程其他方法62、进程63、上下文口64、寄存器65、程序计数器66、PCB-“切换桢”67、上下文切换的活动68、引起线程上下文切换的原因69、同步锁70、死锁71、线程池原理72、线程复73、线程池的组成74、拒绝策略75、Java线程池工作过程76、JAVA阻塞队列原理77、Java中的阻塞队列78 、ArrayBlockingQueue(公平、非公平)T9、LinkedBlockingQueue 《两个独立锁提高并发)80 、PriorityBlockingQueue ( compareTo排序实现优先)81、DelayQueue(缓存失效、定时任务)82 、SynchronousQueue《不存储数据、可用于传递数据)83 、LinkedTransferQueue84、LinkedBlockingDeque85、在 java中守护线程和本地线程区别86、线程与进程的区别?87、什么是多线程中的上下文切换?88、死锁与活锁的区别,死锁与饥饿的区别?89 、Java中用到的线程调度算法是什么?90、什么是线程组,为什么在Java中不推荐使用?91、为什么使用Executor框架?92、在Java中 Executor和Executors 的区别?93、如何在 Windows 和Linux上查找哪个线程使用的CPU 时间最长?94、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?95、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?96、什么是 Executors 框架?97、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者的模型?98、什么是 callable和Future?99、什么是 FutureTask?使用Execut orService启动任务。100、什么是并发容器的实现?101、多线程同步和互斥有几种实现方法,都是什么?102、什么是竞争条件?怎样发现和解决竞争?103、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?104 、Java中你怎样唤醒一个阻塞的线程?105、在Java中 CycliBarriar和CountdownLatch有什么区别?106、什么是不可变对象,它对写并发应用有什么帮助107 、Java中用到的线程调度算法是什么?108、什么是线程组,为什么在 Java 中不推荐使用?

JVM

1 、java中会存在内存泄漏吗。请简单描述。2、64 位JM中,int的长度是大多数3、Serial 与Parallel 之间的不同之处?4、32位和64位的JVMs int类型表里的长度是多数?5、Java 中 weakReference 与 SoftReference的区别?6、JVM选项―XX:+UseCompressed0ops 有什么作用?为什么要使用7、怎样通过Java程序来判断JVM是32位还是64位?8、32位JM和64 位JVM的最大堆内存分别是多数?9、JRE、JDK、JVM及JIT之间有什么不同?10、解释Java堆空间及GC?11、JVM内存区域12、程序计数器线程私有)13、虚拟机栈(线程私有)14、本地方法区(线程私有)15、你能保证GC执行吗?16、怎么获取Java程序使用的内存?使用的百分比?17、Java中堆和栈有什么区别?18、描述—下JVM加载class 文件的原理机制19、GC 是什么?为什么要有GC?20、堆(Heap-线程共享)-运行时数据区21、方法区/永久代(线程共享)22、JM运行时内存23、新生代24、老年代25、永久代26、JAVA8与元数据27、引用计数法28、可达性分析29、标记清除算法( Mark-Sweep )30、复制算法( copying)31、标记整理算法(Mark一-Compact)32、分代收集算法33、新生代与复制算法34、老年代与标记复制算法35、JAVA强引用36、丁AVA软引用37、JAVA弱引用38 、JAVA虚引用39、分代收集算法40、在新生代-复制算法41、在老年代-标记整理算法42、分区收集算法43、GC垃圾收集器44、Serial 垃圾收集器(单线程、复制算法)45、FarHew 垃圾收集器(Serial+多线程〉46 、Parallel Scavenge收集器(多线程复制算法、高效)47、Serial 0ld 收集器(单线程标记整理算法)48、Parallel 0ld 收集器〈多线程标记整理算法)49、CMS 收集器(多线程标记清除算法)50、G1收集器51、JVM类加载机制口52、类加载器53、双亲委派54、0SGI(动态模型系统)55、动态改变构造56、模块化编程与热插拔57、JVM内存模型58、栈59、本地方法栈60、程序计数器61、堆62、方法区63、分代回收64、堆和栈的区别65、什么时候会触发FullGC66、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?67、对象分配规则68、描述—下JVM加载class文件的原理机制?69、Java对象创建过程70、简述Java的对象结构71、如何判a对象可以被回收72、JVM的永久代中会发生垃圾回收么73、垃圾收集算法74、调优命令有哪些?75、调优工具76 、Minor Gc与Full GC分别在什么时候发生?77、你知道哪些JVM性能调优



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有