java基础工程师面试三十六问
努力前行的小coder
左手JAVA右手GO
展开
-
JAVA初级工程师面试36问(完结)
第三十一问: 说一下线程中sleep()和wait()区别? 1 . sleep()是让正在执行的线程主动让出CPU,当时间到了,在回到自己的线程让程序运行。但是它并没有释放同步资源锁只是让出。 2.wait()是让当前线程暂时退让出同步资源锁,让其他线程来获取到这个同步资源在调用notify()方法,才会让其解除wait状态,再次参与抢资源。 3. sleep()方法可以在任何地方使用,而wait()只能在同步方法或同步块使用。 ...原创 2020-06-29 14:47:01 · 5088 阅读 · 17 评论 -
JAVA初级工程师面试36问(五)
第二十五问:请简述动态代理的几种实现方式,它们分别是什么以及区别? 在java中,动态代理有两种主要的实现方式,分别为:JDK 动态代理和 CGLIB 动态代理. JDK 动态代理就是基于 JDK 实现的代理模式,主要运用了其拦截器和反射机制,其代理对象是由 JDK 动态生成的,而不像静态代理方式写死代理对象和被代理类。JDK 代理是不需要第三方库支持的,只需要 JDK 环境就可以进行代理,使用条件: 1.被代理的对象必须要实现接口;(可以直接说这一句,) 2.使用Pro...原创 2020-06-16 11:52:03 · 550 阅读 · 1 评论 -
JAVA初级工程师面试36问(四)
在性能测试中发现cpu占用过高应该如何进行分析? 1.查找进程 top查看进程的占用资源情况,可以很明显看出java的那个进程占用的过高cpu 2. 查找线程 使用 top -H -p <pid> 查看线程占用情况 3.查找java的堆栈信息 将线程id转换成十六进制 #printf %x 15664 ...原创 2020-06-11 09:33:52 · 632 阅读 · 0 评论 -
JAVA初级工程师面试36问(三)
第十三问:描述一下JVM加载class文件的原理机制? 答:JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件. 第十四问: 谈谈你对抽象类和接口的异同点? 答:1.抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。 2.一个类如果继承了某个抽象类或者实现了某...原创 2020-06-09 09:43:16 · 623 阅读 · 2 评论 -
JAVA初级工程师面试36问(二)
第七问: 请简单描述你对Ioc(控制反转)的理解? 一个类需要用到某个接口的方法,需要将类A和接口B的实现关联起来,最简单的方法是在类A中创建一个对于接口B的实现类C的实例,但是用这种方法显然两者的依赖太大.稍微好一点的方式是使用工程模式,实例类通过工厂类创建,减少了类A与接口B的实现类C的依赖,但是创建工厂类也不是很方便.而IOC相当于一个大的bean工厂,使用IOC后,只在类A中定义好用于关联接口B的实现方法,将类A,接口B和接口B的实现放在IOC容器中,通过一定的配置由容器来...原创 2020-06-08 14:06:47 · 819 阅读 · 0 评论 -
JAVA初级工程师面试36问(一)
前几天,一个老家的弟弟正在找java初级开发工程师的岗位,问我一般会问什么问题? 第一时间听到这个,我在想:what? 除了刚开始找工作的第一年面试几家公司问了一些基础项东西,后面两家公司基本都是内推进去的,问的问题也是偏项目,偏实际,理论大概也没有问什么,当然,作为一个爱回答问题的我,是肯定要给他指明方向的,于是 ,我便综合各方面给他说了一些东西,同时记录下来,万变不离其宗.基础知识是学习一个新东西和升华一个东西必不可少的条件. 第一问: 请说一下String和StringB...原创 2020-06-05 10:14:03 · 1171 阅读 · 0 评论