2021
10-12
10-12
每日几道java新手入门面试题,通往自由的道路
目录1、请你说一下什么是面向对象?2、请你简述一下面向对象的三个基本特征?3、为什么说Java是一种半解释半编译的程序设计语言呢?4、请你说一下Java中的8大基本类型是那些?5、请你讲讲抽象类和接口有什么区别?6、请判断当一个对象被当作参数传递给一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?7、请你说一下JVM/JRE/JDK的区别?8、请你说一下方法重载和方法重写...
继续阅读 >
目录1.你知道volatile是如何保证可见性吗?小结:2.悲观锁和乐观锁可以讲下你的理解吗?3.你还知道什么其他的锁吗?总结1.你知道volatile是如何保证可见性吗?我们先看一组代码:publicclassVolatileVisibleDemo{publicstaticbooleaninitFlag=false;publicstaticvoidmain(String[]args){newThread(newRunnable(){@Overridepublicvoidrun(){System...
目录1.你知道JVM内存模型吗?2.你知道重排序是什么吗?3.happens-before是什么,和as-if-serial有什么区别总结1.你知道JVM内存模型吗?在Java的并发中采用的就是JVM内存共享模型即JMM(JavaMemoryModel),它其实是是JVM规范中所定义的一种内存模型,跟计算机的CPU缓存内存模型类似,是基于CPU缓存内存模型来建立的,Java内存模型是标准化的,屏蔽掉了底层不同计算机的区别。那我们先来讲下计算机的内存模型:其实早期计算机...
目录1.你知道线程安全问题吗?2.那如何解决线程安全问题呢?3.那你讲下死锁是什么吧?总结1.你知道线程安全问题吗?线程安全问题:一般指在多线程模式下,多个线程对同一个共享数据进行操作时,第一个线程还没来得及更新共享数据,从而导致另外一个线程没得到最新的数据,并更新数据,从而产生线程安全问题。比较常见的场景有买票。我举个例子吧:需求:比如买周杰伦演唱会的门票,此时有三个窗口同时卖总共100张票。窗口就是...
目录1.你知道线程池吗?为什么需要使用线程池?小结:2.你知道有多少种创建线程池的方式3.线程池的五种状态你有了解吗?4.你知道ThreadPoolExecutor的构造方法和参数吗5.你可以说下线程池的执行过程原理吗6.能否写一个简单线程池的demo?总结1.你知道线程池吗?为什么需要使用线程池?在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。而在Java中,JVM中每创建和销毁线程...
目录1.你可以讲下进程与线程的区别?为什么要用多线程?2.什么是上下文切换?3.说说你知道的几种创建线程的方式4.昨天你讲到创建线程后使用start方法去调用线程,为什么run方法不行呢?有什么区别?5.你知道你开启一个线程后,它的状态有那些吗?6.既然讲到超时方法,那你讲下sleep和wait的区别和他们需要怎样唤醒总结:1.你可以讲下进程与线程的区别?为什么要用多线程?进程:进程是程序的一次执行过程,是系统运行...
目录1.JVM是如何判断对象是否可回收2.你知道有什么垃圾回收的常见算法吗?3.你知道有什么垃圾收集器吗?4.那你知道什么时候才会触发FullGC5.JVM中四种引用你有了解过吗?6.说说你知道的几种主要的JVM参数1.堆设置2.收集器设置3.并行收集器设置4.并发收集器设置5.JVM调优的参数总结1.JVM是如何判断对象是否可回收垃圾收集器在做垃圾回收的时候,首先需要判断一个对象是存活状态还是死亡状态,死亡的对象将会被标识为垃圾数...
目录1.你可以讲下你对String类有什么其他的了解吗?2.==和equals的区别3.Strings=newString(“nz”)创建了几个字符串对象?4.你可以讲下JVM的运行时数据区或者说内存结构吗?5.类加载过程6.而其中类加载器是什么,那有哪些呢?总结1.你可以讲下你对String类有什么其他的了解吗?在看String的源码过程中,可以发现String内部实际存储结构为char数组,在String中有几个比较重要的构造函数://默认的无参构造pub...
目录一、创建字符串1.直接赋值(常用)2.newString3.字符数组转String4.String类中两种对象实例化的区别二、字符串比较相等1.直接比较字符串2.字符串在内存中的存储3.字符串常量池4.字符串比较equals5.理解字符串的不可变6.手动入池intern()1.字符转字符串2.字符串转字符3.字节与字符串4.编码方式5.小结四、字符串常见操作1.字符串比较2.字符串查找3.字符串替换4.字符串拆分5.字符串截取五、StringBuffer和StringBuilder1.app...