面经
Longtermevolution
人生不要太匆匆,不急,慢慢来吧
展开
-
java 日常醒脑
为什么java要求越来越高? - hzldds2020的回答 - 知乎 https://www.zhihu.com/question/414988138/answer/1421614993原创 2020-09-21 21:13:25 · 114 阅读 · 0 评论 -
2020-09-11 oppo java 一面
2020 0911oppo java一面1.项目相关;2.Spring IOC;3.Spring bean申明默认是单例还是多例,单例安全不?如何改成多例?4.Dubbo框架如何实现远程RPC;5.Dubbo序列化方式;6.http访问如何知道调用的是提供者的什么方法;7.常见的线程安全类;8.数据库建表注意事项;...原创 2020-09-11 12:39:38 · 146 阅读 · 0 评论 -
2020-09-01 面经转发
面经:https://zhuanlan.zhihu.com/p/71721334原创 2020-09-01 10:10:45 · 108 阅读 · 0 评论 -
http和websocket的区别
转:1.https://zhuanlan.zhihu.com/p/403814712.https://zhuanlan.zhihu.com/p/95622141原创 2020-08-20 15:24:38 · 148 阅读 · 0 评论 -
京东提前批面经 - 转
作者:秃头少女学Java链接:https://www.nowcoder.com/discuss/480625?type=post&order=time&pos=&page=1&channel=-2&source_id=search_post来源:牛客网一面 比赛经历、获奖情况 兴趣爱好、最近在看什么 ???? :我在看《java并发编程的艺术》这本书。接下来问题轰炸 Java内存模型介绍一下? 内存间交互操作有什么?他们有顺原创 2020-08-18 20:29:59 · 244 阅读 · 0 评论 -
数据库三大范式通俗理解
目录数据库范式简介第一范式(1NF)第二范式(2NF)第三范式(3NF)小结目的原则反范式数据库范式简介范式的简介范式的英文名称是Normal Form,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个.原创 2020-08-18 14:41:14 · 674 阅读 · 0 评论 -
java 多态 -- 三定义两方法
目录1、多态口诀 - 三定义两方法2、具体内容1、多态口诀 - 三定义两方法三个定义父类定义子类构建; 接口定义实现类构建; 抽象类定义实体类构建。两个方法方法重载; 方法重写。2、具体内容方法重载:一个类中重载方法。方法名相同,参数不同,功能不同。方法重写:子类重写父类方法,重写方法体。方法名、参数相同。功能不同。...原创 2020-08-14 16:35:04 · 195 阅读 · 0 评论 -
数据雪崩和数据穿透、击穿
目录1、数据雪崩2、数据穿透3、数据击穿1、数据雪崩问题:定时刷新清理缓存中的key时,Redis缓存中大面积key失效,从而导致大量请求直接访问了数据库,导致数据库崩盘。举个栗子:目前电商首页以及热点数据都会去做缓存,一般缓存都是定时任务去刷新,或者查不到之后去更新缓存的,定时任务刷新就有一个问题。如果首页所有 Key 的失效时间都是 12 小时,中午 12 点刷新的,我零点有个大促活动大量用户涌入,假设每秒 6000 个请求,本来缓存可以抗住每秒 5000 个请求,原创 2020-08-10 19:07:34 · 6393 阅读 · 0 评论 -
Spring常用注解 - 可能会不断更新-- 边学边记
1、总体注释 作用 @controller 控制器 注入服务,Controller层 @service 服务 数据注入,DAO层 @repository 数据访问,DAO层 @component 普通POJO实例化到Spring容器中 2、总结四种大类下的注解,分别对应其适用的功能; 每个类下面又有相应的小功能注解,以后边写边记录;参考:https://www.cnblogs.com/javastack/archive/2020...原创 2020-08-10 14:43:26 · 125 阅读 · 0 评论 -
java反射的原理和意义
目录前言1、java反射的具体功能2、Class类、Class对象前言反射的关键:在运行时候就能动态地获悉(加载)未曾编译的类,实现java的动态性。基础:首先需要知道在java运行时,那些类是怎么可以被运用的呢?是因为JVM会对类的字节码文件进行类加载,形成类的相关信息(属性、方法、引用对象等)并且保存在相应的方法区,这个过程可以简称为“类编译”。即,java在运行时候可以使用的类大多数都是经过编译期的类编译的。问题:有时候,java程序在运行时候需要使用未曾在本地编译过的类,原创 2020-08-10 10:25:18 · 447 阅读 · 0 评论 -
java中的.class文件的生存周期是怎样的(即类加载到类释放的过程)
目录1、一个类的生命周期2、主动引用和被动引用3、什么时候类(.class)被释放?1、一个类的生命周期字节码文件(.calss文件)从被JVM开始执行到释放,需要经历如下过程:一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直接被使用的情况,如图所示:java的类加载后且当使用阶段完成之后,java类就进入了卸载阶段,也就是所谓的释放zhi。2、主动引用和被动引用被使用一般分为两种情况:.原创 2020-08-07 10:38:48 · 585 阅读 · 0 评论 -
java 中作为根节点
GC Roots根对象摘自《深入理解Java虚拟机》在Java语言中,可作为GC Root的对象包括以下几种:虚拟机栈(栈桢中本地变量表)中引用的对象 方法区中类静属性引用的对象 方法区中常量引用的对象 本地方法栈中JNI(即一般说的Navite方法)中引用的对象...原创 2020-08-06 21:59:37 · 383 阅读 · 0 评论 -
Java 一个对象什么时候被回收
在 Java 语言中,可作为 GC Roots 的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象。 方法区中类静态属性引用的对象。 方法区中常量引用的对象。 本地方法栈中 JNI(即一般说的 Native 方法)引用的对象。...原创 2020-08-06 21:54:40 · 1613 阅读 · 0 评论 -
java 设计模式总结 - 简介
引言:在简历上写了熟悉常见设计模式,那总得会点儿常见的问题吧,????目录1、常见设计模式简介2、关于设计模式面试题的汇总1、常见设计模式简介菜鸟教程:https://www.runoob.com/design-pattern/factory-pattern.html2、关于设计模式面试题的汇总参考1:http://www.srcmini.com/33175.html...原创 2020-08-05 14:29:24 · 130 阅读 · 0 评论 -
每日java基础 - 单例模式
目录一、单例模式的定义和理解1、1单例模式及其单线程环境下的经典实现1、介绍一下类图2、单线程下单例模式的两种实现方式1、2多线程下的单例模式一、单例模式的定义和理解定义:某个类只有一个实例,并且提供一个全局访问点。(类 -- 一个实例 -- 一个全局访问点)类型:创建型模式理解:整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比...原创 2020-04-17 16:27:15 · 199 阅读 · 0 评论 -
数据库 - 给你场景创建一个数据表格 - 示例
现实工作场景中,面向一个业务,需要建立相应的数据表来存储相应的业务数据。建立表格的时候,需要在满足描述业务需求的基础上,尽量避免表格造成后期的慢SQL等问题。原创 2020-08-05 11:34:58 · 371 阅读 · 0 评论 -
mySQL的慢SQL如何优化
引言现实场景中,假设你通过mySQL建立了一张sql表格,他的查询效率很低,怎么进行优化呢???关键词:mySQL、查找、效率、优化目录1、为什么查询可能会慢呢? -- 阐述原因 -- 相应的解决办法2、其他关于慢SQL优化的问题1、为什么查询可能会慢呢? -- 阐述原因 -- 相应的解决办法常见原因:查询却没有索引; 写了索引但是没效果,写法不对; 单表数据量太大; 硬件本身问题。对应的解决方法:1)没有索引 --- 那就增加索引,注意索引的规范:根据 w原创 2020-08-05 10:27:13 · 323 阅读 · 0 评论 -
从代码执行的角度理解JVM -- 各个部件及其之间的协作
参考1(这个相对完整,可以直接进去看详细),本文主要基于这篇文章进行个人的理解。目录前言:1、一段代码如何通过JVM在一台计算机上执行前言:首先需要知道JVM是一个虚拟机。而虚拟机呢,可以安装操作系统,然后通过操作系统的指令和底层硬件打交道。JVM是Java Virtual Machine(Java虚拟机)的缩写。既然是虚拟机,则需要建立在操作系统之上。JVM有很多种,目前被运用最广泛的为HOTSPOT,本文以HOTSPOT虚拟机来讲,所以接下来的JVM均为HOTSPOT。.原创 2020-08-02 16:13:11 · 201 阅读 · 0 评论 -
工厂模式和抽象工厂模式
转自知乎:作者:名姓链接:https://www.zhihu.com/question/20367734/answer/115807228来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。目录简单工厂模式工厂模式抽象工厂模式在抽象工厂模式中,假设我们需要增加一个产品简单工厂模式简单工厂模式不是23种里的一种,简而言之,就是有一个专门生产某个产品的类。比如下图中的鼠标工厂,专业生产鼠标,给参数0,生产戴尔鼠标,给参数1,生产惠普鼠标。.原创 2020-08-01 17:33:43 · 152 阅读 · 0 评论 -
Redis中两种持久化机制RDB和AOF(面试常问,工作常用)
目录1、持久化流程2、RDB(Redis DataBase)3、AOF(Append Only File)1、持久化流程持久化一般来说就是指将数据写入磁盘永久保存(持久化 -- 写磁盘)。以下为持久化的主要流程:(1)客户发送数据。客户端向服务端发送写操作(数据在客户端的内存中)。(2)服务器接收数据。数据库服务端接收到写请求的数据(数据在服务端的内存中)。(3)服务器写数据(缓冲区)。服务端调用write这个系统调用,将数据往磁盘上写(数据在系统内存的缓冲区中)。(4)原创 2020-07-31 21:44:22 · 234 阅读 · 0 评论 -
Java中final、finally和finalize的区别
目录final - 修饰符(关键字)finally - 异常处理finalize - 方法名final - 修饰符(关键字)修饰类:类不能再派生。所以一个类不能同时被abstract和final声明; 修饰变量和方法:不能再被更改。如果是变量的话需要初始化初始值。finally - 异常处理finally是在异常处理时提供finally块来执行任何清除操作。不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。 catch.原创 2020-07-31 21:23:35 · 109 阅读 · 0 评论 -
Mybatis常见问题总结
目录1、Mybatis作用2、优缺点和适用场景3、Mybatis和Hibernate的区别4、Mybatis如何防止SQL注入?1)在书写SQL语句的时候,使用两种特殊语法(#和$)主要参考:https://blog.csdn.net/a745233700/article/details/809771331、Mybatis作用概念:对象关系映射框架。(做POJO和数据库的映射。 POJO<----->数据库)作用:在使用数据库的时候,只需要关注SQL语.原创 2020-07-31 21:11:35 · 529 阅读 · 0 评论 -
HTTP get和post方法总结
目录HTTP(超文本传输协议(HTTP))能干啥HTTP常用两种请求方法:GET、POSTGET1、GET方法特性2、有关GET请求的其他注释3、注意POST1、有关POST请求的一些其他注释2、注意区别其他HTTP方法HTTP(超文本传输协议(HTTP))能干啥目的:保证客户机与服务器之间的通信。 工作方式:客户机与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器原创 2020-07-30 18:11:32 · 412 阅读 · 0 评论 -
java中直接赋字符串和new String的区别
这个主要用来考察JVM中常量池、堆、方法区https://www.cnblogs.com/guozhenqiang/p/5633269.html原创 2020-07-21 18:02:36 · 104 阅读 · 0 评论 -
java List删除元素
目录1、正序遍历,调用List接口Remove()方法2、反序遍历,调用List接口Remove()方法3、使用迭代器Iterator(推荐)4、复制给新的List前言:java 中List删除元素主要有四种方式:正序遍历,调用List接口Remove()方法; 反序遍历,调用List接口Remove()方法; 使用迭代器Iterator(推荐); 复制给新的List参考文章:https://www.cnblogs.com/yanl55555/p/12541876.html原创 2020-07-21 17:44:18 · 4545 阅读 · 1 评论 -
20200721面经
1、list删除元素;2、多线程场景,实现计数器;sychronized、lock、还有其他?3、JVM包含部分;4、String s1 = “a”; 和 String s2 = new String("a");JVM中发生什么?5、Spring开启事务?6、数据库B+树手撕无序数组中第k大的元素:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/solution/shu-zu-zhong-de-di-k原创 2020-07-21 17:00:31 · 85 阅读 · 0 评论 -
RIP协议怎么解决的环路问题
目录问题产生解决问题产生场景:当A路由器一侧的X网络发生故障,则A路由器收到故障信息,并把X网络设置为不可达,等待更新周期来通知相邻的B路由器。但是,如果相邻的B路由器的更新周期先来了,则A路由器讲从B路由器那学习了到达X网络的路由,就是错误路由,因为此时的X网络已经损坏,而A路由器却在自己的路由表内增加了一条经过B路由器到达X网络的路由。然后A路由器还会继续把该错误路由通告给B路由器,B路由器更新路由表,认为到达X网络须经过A路由,然后继续通知相邻的路由器,至此路由环路形成,A原创 2020-07-20 18:33:42 · 3071 阅读 · 0 评论 -
详解synchronized与Lock的区别与使用
改天自己总结一下,0715Lock原理和两者之间区别参考文章https://blog.csdn.net/u012403290/article/details/64910926?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCo...原创 2020-07-15 17:41:13 · 209 阅读 · 0 评论 -
ConcurrentHashMap源码解析 1.8
目录1、介绍1)ConcurrentHashMap跟HashMap,HashTable的对比2)ConcurrentHashMap原理概览2、具体源码1)ConcurrentHashMap的扩容详解(着重看2) 同步机制3) 链表转换为红黑树的过程3、总结前言:ConcurrentHashMap是HashMap的线程安全版本,内部使用了数组+链表+红黑树的结构来存储数据,相对于同样线程安全的Hashtable来说,它在效率方面有很大的提升,因此多线程环境下更多的是使用C.原创 2020-07-15 16:48:36 · 146 阅读 · 0 评论 -
java集合框架
目录1、框架2、使用3、关于hashMap的问题4、关于ConcurrentHashMap的问题1、框架2、使用3、关于hashMap的问题参考之前的hashMap总结。4、关于ConcurrentHashMap的问题参考文章:ConcurrentHashMap源码分析...原创 2020-07-15 14:56:13 · 91 阅读 · 0 评论 -
java进程间通信的几种方式?对比总结
Alice ---- 介质 ----- Bob通信:端到端对象通过介质进行信息的交互。1、汇总:常见的进程间通信方式管道(Pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。(半双工:数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。) 有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。命名管道在文件系统中有对应...原创 2020-07-10 14:15:49 · 4775 阅读 · 0 评论