
每天一道面试题
蔚蓝珊瑚海
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试项目
文章目录负责功能问题与解决有待提高项目收获负责功能最热标签: 将热门标签存入redis中,用list类型存储用redistemplate将标签信息存入redis缓存中最近登录: 根据数据库中查询gmt_modified字段(最近更新),并排序,最后返回给前端页面显示。热门推荐: 也是根据浏览量,点赞评论数,从数据库中查询前几个帖子并进行排序。docker部署项目: 在docker中搭建部署环境,有mysql,redis,nginx,需要更改mysql的配置文件,才能访问docker中的数据库,原创 2020-11-02 14:41:48 · 601 阅读 · 0 评论 -
北京海致网聚
技术一面介绍你项目中用到的技术,项目有什么亮点?遇到过什么问题?是怎么解决的?缓存击穿,缓存穿透,缓存雪崩是什么?解决措施?缓存的处理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到后更新缓存,并返回结果,数据库也没取到,那直接返回空结果。缓存穿透: 查询一个一定不存在的数据,由于缓存未命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。(查不到东西)措施描述原创 2020-10-27 21:37:25 · 784 阅读 · 0 评论 -
ConcurrentHashMap解读
文章目录前言JDK1.7大致了解源码分析归纳总结JDK1.8大致了解源码分析归纳总结前言HashMap: 在多线程情况下,put操作的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,这个会重新将原数组移动到到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,这也造成了HashMap线程不安全。JDK1.7大致了解源码分析归纳总结JDK1.8大致了解源码原创 2020-06-16 14:41:57 · 642 阅读 · 0 评论 -
java9新特性
模块系统: 模块是一个包的容器,Java 9 最大的变化之一是引入了模块系统(Jigsaw 项目)。REPL (JShell): 交互式编程环境。HTTP 2 客户端: HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。改进的 Javadoc: Javadoc 现在支持在 API 文档中的进行搜索。...原创 2020-03-11 13:29:10 · 183 阅读 · 0 评论 -
Java 11特性
一、基于嵌套的访问控制二、标准 HTTP Client 升级三、Epsilon:低开销垃圾回收器四、简化启动单个源代码文件的方法五、用于 Lambda 参数的局部变量语法六、低开销的 Heap Profiling七、支持 TLS 1.3 协议八、ZGC:可伸缩低延迟垃圾收集器九、飞行记录器十、动态类文件常量稍后补充详情!!...原创 2020-02-20 11:40:13 · 132 阅读 · 0 评论 -
Java 8 的新特性
一、接口的默认方式二、Lambda表达式三、函数式接口四、方法与构造函数引用五、Lambda作用域六、访问局部变量七、访问对象字段与静态变量八、访问接口的默认方法九、Date API十、Annotation注解详情日后补充...原创 2020-02-20 11:29:43 · 102 阅读 · 0 评论 -
类的加载过程
文章目录Java内存分析类的加载过程类加载器类的初始化Java内存分析类的加载过程加载: 将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,并通过反射生成一个代表这个类的Class对象。链接: 将java类的二进制代码合并到JVM的运行状态之中验证:确保加载的类信息符合jvm规范,没有安全方面的问题。准备:正式为类变量(static)分配内存并设置类变量默认初始值的,这些内存都将在方法区中进行分配。解析:虚拟机常量池内的符号引用(常量名)替换为直接原创 2020-05-16 15:06:54 · 361 阅读 · 0 评论 -
HashMap源码分析
HashMap底层如何实现key和value组合成一个entry对象。JDK1.7:数组+链表table数组1.根据key先算出来一个hash值int hash = key.hashcode();2.用这个hash值去跟数组长度(table.length)做模运算int i = hash % table.length; //得到的这个i就是数组下标3.就把这个key对应的v...原创 2020-04-16 10:38:08 · 799 阅读 · 2 评论 -
HTTP中的GET和POST
文章目录一、基础概念二、简单理解三、标准答案四、关键区别一、基础概念HTTP是什么?HTTP基于TCP/IP,它是关于数据如何在万维网中通讯 的协议。GET和POST是什么?HTTP协议中的两种发送请求 的方法。二、简单理解把万维网传输线路比作一条高速公路,公路上的汽车就相当于一个个TCP ,用他们来实现可靠数据传输,但是车也有不同车型,如果全都一样,送急件的汽车可能被前面满...原创 2020-03-29 11:43:37 · 359 阅读 · 0 评论 -
手写链表
文章目录一、链表结构二、插入删除三、边界条件四、示例1. 定义节点:2. 增加节点:3. 删除节点:五、代码实现一、链表结构每个节点结构是由数据域和指针域组成,数据域是存放数据的,而指针域存放下一结点的地址。但是不可能只有一个节点呀,这时候就使用 Class 来声明一个类,为类添加两个属性,一个属性是存放数据的属性data,另一个属性是存放指向下一个结点的指针属性next。这样就可...原创 2020-03-25 12:28:35 · 385 阅读 · 0 评论 -
try-catch-finally总结
总结try,catch,finally语句中,如果try语句有return语句,此后做任何修改,都不影响try中return的返回值。如果finally块中有return语句,则try或catch中中的返回语句忽略。如果finally块中抛出异常,则整个try,catch,finally块中抛出异常。注意在使用try- catch-finally的时候,要注意以下问题:①尽量在t...原创 2020-03-24 09:39:54 · 238 阅读 · 0 评论 -
TCP三次握手和四次挥手
文章目录三次握手过程与作用面试常见问题:①(ISN)是固定的吗?②什么是半连接队列?③三次握手过程中可以携带数据吗?④为什么要三次握手呢?有人说两次握手就好了四次挥手过程详解面试常问:①为什么是4次挥手呢?②tcp握手的时候为何ACK(确认)和SYN(建立连接)是一起发送。挥手的时候为什么是分开的时候发送呢?③客户端突然挂掉了怎么办?SYN洪水攻击名词解释:seq:序号ack:确认序号S...原创 2020-03-15 13:54:38 · 333 阅读 · 0 评论 -
HashMap的底层实现原理
文章目录HsahMap的实现原理简要概括HashMap的存取实现有关知识的具体解析一、Map的几种类型二、什么是哈希表?三、什么是哈希算法?四、什么是红黑树?五、HashMap 和 Hashtable 有什么区别?如何解决hash冲突产生hash冲突的原因解决方法HsahMap的实现原理简要概括HashMap 基于 Hash 算法实现的,底层是由数组+链表/红黑树构成的,我们通过 put(...原创 2020-03-14 19:20:05 · 1684 阅读 · 0 评论 -
多线程常见问题
文章目录并发编程三概念如何保证线程安全互斥同步非阻塞同步无需同步方案synchronized关键字lock锁voliate关键字并发编程三概念原子性: 一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。可见性: 当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。有序性: 程序执行的顺序按照代码的先后顺序执行。(指令优化,指令重排是指互不依赖的指令会进行重排,优化计算)补充: Java内存模型具备一些先天的有序性,即不需要通原创 2020-06-07 11:50:58 · 1413 阅读 · 0 评论