- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 java多线程面试基础篇
1. 进程和线程的区别 进程是调用系统资源的最小单位,线程是调度cpu的最小单位 线程是进程的不同执行路劲 进程占用内存空间,多进程程序比多线程程序健壮,但多进程比多线程程序耗损资源 2. 线程的start和run方法的关系 Thread通过调用start来创建并启动线程 run方法只是执行线程的一个普通方法 3. Thread和Runnable的关系 Thread类实现自Runnable接口,切runnable没有start方法,需要Thread的start方法来实现 由于类的单一继承原则,考虑到开发
2020-07-22 19:10:10
186
原创 Java多线程面试总结进阶篇
1.什么是synchronized 获取对象锁的两种用法 1. 同步代码块 2. 同步非静态方法 2. synchronized底层实现原理 synchronized的四种状态 无锁、偏向锁、轻量级锁、重量级锁 偏向锁:减少同一线程获取锁的代价 如果一个线程获得了锁,那么锁就进入偏向模式,此时Mark Word结果变为偏向锁模式,当该线程再次请求锁时,无需在做任何同步操作 不适用于锁竞争比较激烈的多线程场合 轻量级锁 轻量级锁是由偏向锁升级来的,偏向锁运行在一个线程进入同步块的情况下,当第二个线程
2020-07-22 19:08:49
217
原创 Redis面试知识点总结v1
1. Meincache 和 Redis的区别 meincache: 支持简单数据类型 ,不支持持久化、不支持主从同步、不支持分片 Redis: 支持丰富的数据类型, 支持数据持久化存储 支持分片 支持主从同步 2. Redis为什么能这么快 完全基于内存,绝大多数请求是内存操作,执行效率高 数据结构简单,对数据的操作也简单 读取时不进行磁盘IO,采用了多路复用io阻塞机制 单线程没有线程上下文切换,且单线程也能处理高并发请求 3.Redis的数据结构
2020-07-11 16:34:22
147
原创 网络面试知识点总结一
1.GET请求和Post请求的区别 a. http报文层面:GET请求将请求参数存放在url中以键值对的方式存在,而Post请求将请求参数存放在请求报文中及请求体中,相对于GET请求相对安全,但可以通过抓包获取到参数,所以也不是绝对安全的 b. 数据库层面:GET请求符合幂等性和安全性,而Post请求则不然 c. 其他方面:GET请求可以被缓存、存储,而Post请求则不行 2.tcp3次握手及4次挥手 2.1 3次握手 作用:创建连接 第一次握手:客户端向服务端发送请求,请求数据包会生成
2020-06-25 21:57:56
119
原创 MyCat根据数据库实现全局自增id
mycat生成全局id Mycat:数据库中间件(分库分表) 官网指南 mycat运行需要JVM,所以先安装java环境,建议JDK1.8以上。数据库采用mysql5.7,或者8.0 下载 下载地址:https://github.com/MyCATApache/Mycat-download/tree/master/1.6-RELEASE 环境配合 linux: https://www.cnblogs.com/alexzhang92/p/10990904.html windows: https://www.c
2020-06-11 21:30:57
205
原创 Java单链表实现约瑟夫环问题
Java–单向环形链表 Josepfu(约瑟夫环) 问题 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 解决方案:用一个不带头的循环环形链表来处理Josepfu问题:先构成一个有n个节点的单循环链表,然后由K起点从1开始计数...
2019-12-08 21:32:38
513
java相关面试题(最新、最全)
2020-06-26
Josepfu.java
2019-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人