java面试
文章平均质量分 95
java面试
扆梦楠
这个作者很懒,什么都没留下…
展开
-
java面试之基础(一)
1.JDK、JRE、JVMJDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。包括Java虚拟机和Java程序所需的核心类库等。JVM:Java虚拟机,Java程序运行在虚拟机上,不同平台有自己的处理机,因此Java可以跨平台。需要运行 java 程序,只需安装 JRE 就可以了,编写 java 程序,需要安装原创 2021-05-09 12:07:48 · 236 阅读 · 0 评论 -
java面试之Mysql读写分离
java面试之Mysql读写分离目录java面试之Mysql读写分离1.读写分离使用MyCat实现读写分离操作2.分库分表使用MyCat实现分库分表参考1.读写分离利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作。实现MySQL读写分离的前提是MySQL的主从复制。读写分离实现方式:配置多数据源,参考spring集成mybatis实现mysql读原创 2021-08-08 15:26:51 · 658 阅读 · 0 评论 -
java面试之Mysql主从同步
java面试之Mysql主从同步目录java面试之Mysql主从同步1.主从同步概述原理用途主从形式主从问题及解决方法并行复制(MTS)主从复制模式主从复制的方式2.主从(一主一从)配置实践GTID模式普通模式3.主从(一主多从)配置实践4.主从(双主)配置实践5.主从(级联复制)配置实践1.主从同步概述MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新原创 2021-08-08 15:22:28 · 457 阅读 · 0 评论 -
java面试之Mysql索引
java面试之Mysql索引目录java面试之Mysql索引1.索引索引类型存储结构应用层次索引的操作组合索引索引不适合哪些场景索引适合场景索引注意事项2.执行计划概述慢查询定位慢查询优化分页查询优化3.索引数据结构B+树MyISAM、InnoDB存储引擎聚集索引与非聚集索引1.索引索引是帮助数据库高效获取数据的排好序的数据结构。优点:索引可以加快数据检索速度,减少I/O次数,提高系统的性能。缺点:创建索引和维护索引要耗费时间。当对表中的数据进行增删改时,索引也要动态的维护。索引需要占原创 2021-08-08 15:20:54 · 337 阅读 · 0 评论 -
java面试之Mysql基础二
java面试之Mysql基础二目录java面试之Mysql基础二1.架构体系架构网络连接层服务层存储引擎层系统文件层运行机制查询缓存参数查看存储引擎InnoDB 存储结构内存结构Buffer PoolChange Buffer自适应hash索引Log Buffer磁盘结构表空间数据字典双写缓冲区Redo LogUndo Logsmysql8.0 版本存储引擎InnoDB 数据文件Undo Log作用Redo Log工作原理参数设置Binlog文件结构记录模式文件操作场景Redo Log 和 Binlog原创 2021-08-08 15:18:27 · 206 阅读 · 0 评论 -
java面试之Mysql基础一
java面试之Mysql基础一目录java面试之Mysql基础一1.概述超键、候选键、主键、外键SQL 约束mysql默认数据库informance_schemamysqlperformance_schematest2.数据类型char 和 varcharBlob和textDATETIME和TIMESTAMP3.基本命令数据库的三范式4.Sql学习SQL简介sql语法高级语法函数5.视图特点优点缺点6.存储过程参数in输入参数out输出参数inout输入参数优点缺点7.触发器8.游标使用方式loop循环w原创 2021-08-08 15:15:37 · 94 阅读 · 0 评论 -
docker学习详解(一)
docker学习详解(一)1.docker基础(1)定义Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(2)原理docker是利用Linux内核虚拟机化技术(...原创 2021-07-08 11:28:10 · 244 阅读 · 0 评论 -
java面试之Spring(一)
1.SpringSpring是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以控制反转(IoC)和面向切面(AOP)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。是为了解决企业应用开发的复杂性而创建的。全栈式:Spring提供了JavaEE每一层的解决方案轻量级:Spring框架的非侵入性,即对象可以不必依赖S原创 2021-05-19 10:40:32 · 121 阅读 · 0 评论 -
java面试之基础(四)
1. 异常异常是在程序执行过程中阻碍程序正常执行的错误操作,在 Java 语句产生异常就会创建一个异常对象。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。ThrowableThrowable 是所有错误或异常的父类,它有两个直接子类 Error 和 Exception。ErrorError是 java 运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题。如Virtual MachineError(虚拟机运行错误)、NoClassDef原创 2021-05-12 18:04:11 · 137 阅读 · 1 评论 -
java面试之基础(五)
1. 反射java反射是在运行状态中,对于java任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;或者说是将类的各个组成部分封装为其他对象。作用在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。优缺点能够运行时动态获取类的实例,提高灵活性使用反射性能较低,反射相当于一系列解释操作,通知JVM要做的事情,这类操作总是慢于直接执行java代码。pac原创 2021-05-12 15:56:25 · 211 阅读 · 1 评论 -
java面试之分布式事务(一)
1. 事务事务由一组操作组成的一个工作单元,工作单元应该具备原子性、一致性、隔离性和持久性。原子性(Atomicity):一个事务内所有操作要么都执行,要么都不执行一致性(Consistency):数据是满足完整性约束的,也就是不会存在中间状态数据隔离性(Isolation):多个事务并发执行的时候不会互相干扰,即一个事务内部的数据对于其他事务来说是隔离的持久性(Durability):一个事务完成了之后数据就被永远保存下来,之后其他操作或故障不会对事务结果产生影响Redis原创 2021-04-17 11:45:51 · 537 阅读 · 0 评论 -
java面试之分布式ID
1. 分布式ID业务数据量不大时,单库单表完全可以支撑现有业务,数据再大一点MySQL主从同步读写分离也能应对。随着数据日渐增长,需要对数据库进行分库分表,分库分表后需要有一个唯一ID来标识一条数据,此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。全局唯一:必须保证ID是全局性唯一的高性能:高可用低延时,ID生成响应要块好接入:秉着拿来即用的设计原则,在设计和实现上要尽可能简单高可用2.分布式ID生成方式UUID原理:结合机器的网卡、当地时间、一个原创 2021-04-16 16:47:09 · 413 阅读 · 0 评论 -
java面试之单点登录
1. 单点单点登录SSO(Single Sign On)是目前比较流行的企业业务整合解决方案之一。在分布式服务中,用户只需要在一处登录,即可在各个受信任的服务器之间,共享登录状态。实现单点登录有多种方式,其区别在于是否能解决跨域登录。实现单点登录的关键在于如何让 Session ID(或 Token)在多个域中共享。2. 实现方式cookieCookie 作用域由 domain 属性和 path 属性共同决定。同域名不同站点www.lymn.com/site、www.lymn.com/sit原创 2021-04-13 15:57:44 · 676 阅读 · 0 评论 -
架构生命周期
1. 单体单体应用架构可以理解为一个javaweb应用程序,包含表现层,业务层、数据层,即我们平常说的MVC模式。所有服务都在同一个war包中,部署在一个web容器中。减少部署节点和成本代码严重耦合、复杂性高部署风险大,系统可用性低,部署速度逐渐变慢扩展能力受限,无法按需伸缩灵活性低,影响开发效率产生的问题随着用户的访问量持续增加,单台应用服务器已经无法满足需求。解决办法:使用缓存改善性能、集群高可用保持服务的高度可用性高性能程序处理速度快,所占内存少,cpu低高并发指标原创 2021-04-11 12:23:20 · 242 阅读 · 0 评论 -
前端安全
CSRF(Cross Site Request Forgery)跨站请求伪造攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。CSRF 利用的是网站对用户网页浏览器的信任。一个典型的CSRF攻击有着如下的流程:受害者登录a.com,并保留了登录凭证(Cookie)攻击者引诱受害者访问了b.com。b.com 向 a.com 发送了一个请求:a.com/a原创 2021-04-10 18:46:32 · 84 阅读 · 0 评论 -
java面试之分布式Session
java面试之分布式Session(一)客户端和服务器之间是通过http协议进行通信,但http协议是无状态的,不同次请求会话是没有任何关联的。浏览器与服务器是使用socke套接字进行通信,服务器将请求结果返回给浏览器之后,会关闭当前socket链接,而且服务器也会在处理页面完毕之后销毁页面对象。故ttp协议是无状态。1. cookie和sessioncookie当用户首次使用浏览器访问一个支持Cookie网站时,用户提供包括用户名在内个人信息并且提交至服务器;服务器向客户端回传超文本的同时也会发原创 2021-04-09 13:55:25 · 428 阅读 · 0 评论