
Java面试题
文章平均质量分 88
小白白007
这个作者很懒,什么都没留下…
展开
-
jvm虚拟机的学习--垃圾回收机制
垃圾收集是java语言核心技术之一,一切都交给jvm来处理。理解即可 判断是否为垃圾有两种算法,第一种是引用计数法,第二种是可达性分析算法。 先是引用计数法,他是比较好理解的一种算法,给引用的对象添加一个程序计数器,引用一次就加一,引用失效就减一,当计数器为0时,就可以当作垃圾回收了。有优点也有缺点,这种机制执行效率高,程序影响小。缺点是无法检测出循环引用。 public class ReferenceCountingGC { public Object inst原创 2020-10-11 11:58:45 · 179 阅读 · 0 评论 -
初次面试经验总结
面试经验思考 疫情期间,在家待着无聊,便出去寻找实习。一共沟通了两百家hr,投递出去了四十份简历,面试了六家公司,准备了近五万字的面试题。从小型创业公司,到中性企业公司,再到金融公司,再到360,我面试的过程还是挺精彩的。这里的面试题我就不进行解答了,都在我的另一篇博客里,那里面有我准备的所有面试题。第一家第一家公司是一家外包公司,当时正在做毕业设计,匆匆忙忙的接到了电面的电话,当时聊的时间很短,他就问了几个问题。 switch里面可以是char么? switch里面可以是strin原创 2020-07-05 23:22:09 · 464 阅读 · 1 评论 -
多线程基础知识--关于锁的面试题
二. 锁2.1 乐观锁和悲观锁2.1.1乐观锁使用细节特点:读多写少。遇到并发写的可能性低使用:更新的时候会判断在此期间别人有没有更新这个数据,采取在写时加上版本号,然后加锁,如果失败,则要重复读-比较-写的操作。乐观锁基本跟上都是通过CAS操作实现的,CAS是一种更新的原子操作2.1.2 悲观锁使用细节特点:写多,默认遇到的并发可能性高使用:每次独写数据都会上锁,这样别人香独写这个数据就会block直到拿到锁,java中的悲观锁就是synchronized,AQS框架下的锁则是先尝试CAS乐原创 2021-03-29 18:07:20 · 606 阅读 · 0 评论 -
操作系统基础知识点总结归纳:进程线程;同步异步;并发并行;死锁等
2.操作系统2.1 进程和线程的区别?进程可以说是一个“执行中的程序”。程序是指令、数据及其组织形式的描述,是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。有了线程技术,我们就可以在一个进程中创建多个线程,让它们在“同一时刻”分别去做不同的工作了。这些线程共享同一块内存,线程之间可以共享对象、资源,如果有冲突或需要协同,还可以随时沟通以解决冲突或保持同步。不过,多线程技术不是万金油,它有一个致命的缺点:在一个进程内,不管你创建了多少线程,它原创 2021-07-15 18:02:13 · 462 阅读 · 0 评论 -
多线程知识整理归纳总结
多线程基础知识1. 线程的使用1.1 线程的实现方式1> 继承Thread类 2>实现Runnable 3> 实现Callable接口 Thread类本质是实现了Runnable接口的一个实例,代表一个线程的实例。 启动方式是通过Thread类的start()方法,start()方法是一个native方法,启动一个新线程,并执行run方法 方式1.继承Thread类1> 定义一个类MyThread继承Thread类 2> 在MyThread类原创 2021-04-13 19:55:28 · 200 阅读 · 0 评论 -
数据库知识归纳总结整理
数据库基础知识1. 基础知识1. 1 数据库的三范式是什么?第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。第二范式:属性完全依赖于主键第三范式:任何非主属性不依赖于其它非主属性。 数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。从而建立冗余较小、结构合理的数据库。1.2 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?表类型如果是 MyISAM ,那 i原创 2021-04-13 19:57:13 · 3251 阅读 · 0 评论 -
开发过程中常见的web攻击总结归纳(面试)
常见的web攻击1.什么是SQL注入攻击攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范SQL注入攻击使原创 2021-04-13 20:24:31 · 175 阅读 · 0 评论 -
java基础总结归纳(java面试题)
3.1 Object包含哪些类clone getClass toString finalize equals hashCode wait notify notifyAll3.2 hashCode和equals的关系重写hashcode方法一定要重写equals。两个对象相等,hashcode一定相等而hashCode不相等,两个对象一定相等。hashCode相等,两个对象不一定相等3.3 对于==和equals的区别对于基本数据类型,== 比较的是他们的值,基本数据类型不能用原创 2021-03-30 12:31:36 · 136 阅读 · 0 评论 -
多线程基础知识总结
一.多线程:1.1 线程的实现方式细节:Thread类本质是实现了Runnable接口的一个实例,代表一个线程的实例。启动方式是通过Thread类的start()方法,start()方法是一个native方法,启动一个心线程,并执行run方法1.2 线程的生命周期:生命周期为:新建,就绪,运行,阻塞,死亡新建:当使用了new关键字创建了一个线程后。(此时JVM为其分配内存,并初始化其成员变量)就绪:当线程对象调用了start()方法后。Java虚拟机会为其创建方法调用栈和程序计数器运行:处原创 2021-03-29 12:43:46 · 257 阅读 · 1 评论 -
计算机网络基础知识总结归纳(面试题)
四.计算机网络4.1 网络模型:七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层五层:物理层,数据链路层,网络层,运输层,表示层tcp/ip:网络访问层,网络层,传输层,应用层4.2.七层模型主要功能:1.物理层:主要定义物理设备标准,他的主要作用是传输比特流,这一层的数据叫做比特2.数据链路层:主要将从物理层接收到的数据进行mac地址的封装与解封装,这一层的数据叫做帧3.网络层:主要将从下层接收到的数据进行IP地址的封装与解封装,常把这一层的数据叫做数据包4.传输层:定义原创 2021-03-30 22:45:07 · 240 阅读 · 0 评论 -
mysql数据库基础知识(面试题)
五.Mysql数据库:5.1MyISAM索引与InnoDB索引的区别InnoDB索引是聚簇索引,MyISAM索引是非聚簇索引InnoDB的主键索引的叶子节点存储着行数据,因此主键索引非常高效MyISAM索引的叶子节点存储的是行数据地址,需要在寻址一次才能的到数据InnoDB非主键索引的叶子节点存储的是主键和其他索引的列数据,因此查询时做到覆盖索引会非常高效5.2mysql有关权限的表都有哪几个user权限表:记录连接到服务器的用户账号信息,里面的权限是全局级的db权限表:记录各个账号在数原创 2021-04-05 10:08:14 · 266 阅读 · 0 评论 -
Java基础知识整理归纳
java基础知识1.基础1.1 java语言特性1.1.1 Java语言是编译型还是解释型语言?答:Java的执行经历了编译和解释的过程,是一种先编译,后解释执行的语言,不可以单纯归到编译性或者解释性语言的类别中。1.1.2 java常量和变量之间的区别常量:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6gEkXWp-1618314716395)(C:\Users\33066\AppData\Roaming\Typora\typora-user-images原创 2021-04-13 19:53:23 · 561 阅读 · 0 评论 -
SSM框架基础知识总结归纳整理
框架的基础知识1.Javaweb1. Servlet的运行过程?Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法service()方法会根据需要调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy()方法。2. 讲解JSP中的四种作用域。page代表与一个页面相关的原创 2021-04-13 20:18:26 · 1931 阅读 · 0 评论 -
常见的web攻击基础知识总结归纳
常见的web攻击1.什么是SQL注入攻击攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范SQL注入攻击使原创 2021-04-13 20:26:30 · 264 阅读 · 0 评论 -
计算机网络基础知识归纳总结整理
计算机网络基础:基础知识1. 网络模型:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由原创 2021-04-13 19:58:24 · 2845 阅读 · 0 评论 -
操作系统基础知识归纳总结整理
6.1进程间通信方式及区别1.管道:半双工的通信方式,数据只能单向流动,只能在有血缘关系的进程间使用2.命名管道:半双工的通信方式,允许无亲缘关系进程间通信3.信号:用于通知接收线程某一事件已经发生4.信号量:主要作为进程见以及统一进程内不同线程之间的同步手段5.消息队列:由消息组成的链表,存放在内核中6.共享内存:映射一段能被其他进程所访问的内存7.套接字:可用于不同及其间的进程通信 比较: 管道:速度慢,容量有限 消息队列:容量收到系统限制,且要注意第一次读的时候,要考虑上原创 2021-04-01 11:35:13 · 965 阅读 · 0 评论