irpas技术客

面试题整理-------------(1)_无糖可乐_

irpas 678

Java基础 1.面向对象和面向过程的区别?

单片机、嵌入式开发等一般采用面向过程开发. 面向对象有封装、继承、多态的特性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。 但是性能上来说,比面向过程要低。

2.深拷贝和浅拷贝的区别是什么?

浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象. 深拷贝:被复制对象的所有变量都含有与原来的对象相同的值.而那些引用其他对象的变量将指向被复制过的新对象.而不再是原有的那些被引用的对象.换言之.深拷贝把要复制的对象所引用的对象都复制了一遍.

3.java反射的作用于原理

1、定义: 反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意个对象,都能够调用它的任意一个方法。在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。 这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 反射的缺点:缺点:

1)使用反射性能较低,需要解析字节码,将内存中的对象进行解析。 解决方案: 1.通过setAccessible(true)关闭JDK的安全检查来提升反射速度; 2.多次创建一个类的实例时,有缓存会快很多 3.ReflectASM工具类,通过字节码生成的方式加快反射速度 2)相对不安全,破坏了封装性(因为通过反射可以获得私有方法和属性)

常用的通配符为: T,E,K,V,??

表示不确定的 Java 类型 T (type) 表示具体的一个 Java 类型 K V (key value) 分别代表 Java 键值中的 Key Value E (element) 代表 Element

你的项目中哪里用到了泛型?

可用于定义通用返回结果 CommonResult 通过参数 T 可根据具体的返回类型动态指定结果的数据类型 定义 Excel 处理类 ExcelUtil 用于动态指定 Excel 导出的数据类型 用于构建集合工具类。参考 Collections 中的 sort, binarySearch 方法

JVM 1.栈 堆 计数器 方法区

1.栈: 又称方法栈,线程私有的,线程执行方法是都会创建一个栈阵,用来存储局部变量表,操作栈,动态链接,方法 出口等信息.调用方法时执行入栈,方法返回式执行出栈. 2.程序计数器 保存着当前线程执行的字节码位置,每个线程工作时都有独立的计数器,只为执行Java方法服务,执行Native方法时,程序计数器为空. 3.堆 JVM内存管理最大的一块,对被线程共享,目的是存放对象的实例,几乎所欲的对象实例都会放在这里,当堆没有可用空间时,会抛出OOM异常.根据对象的存活周期不同,JVM把对象进行分代管理,由垃圾回收器进行垃圾的回收管理 4.方法区: 又称非堆区,用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器优化后的代码等数据.1.7的永久代和1.8的元空间都是方法区的一种实现

1.分布式锁在项目中的使用?

使用分布式锁的场景一般需要满足以下场景: 1.系统是一个分布式系统,集群集群,java的锁已经锁不住了。 ⒉.操作共享资源,比如库里唯一的用户数据。 3.同步访问,即多个进程同时操作共享资源。

2. 分布锁有哪些解决方案?

1.Reids的分布式锁,很多大公司会基于Reidis做扩展开发。setnx key value ex 10s,Redisson。 watch dog. 2.基于Zookeeper。临时节点,顺序节点。 3.基于数据库,比如Mysql。主键或唯—索引的唯一性。

http协议和https协议的区别:传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同

一、传输信息安全性不同 1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。 二、连接方式不同 2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

1、http协议:http的连接很简单,是无状态的。 2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。 三、端口不同

1、http协议:使用的端口是80。

2、https协议:使用的端口是443.


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #面试题整理1 #2 #setnx