<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ymn159的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ymn159</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ymn159]]></copyright><item><title><![CDATA[JVM基础一]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/129381738</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/129381738</guid><author>ymn159</author><pubDate>Tue, 07 Mar 2023 14:21:56 +0800</pubDate><description><![CDATA[JVM笔记]]></description><category></category></item><item><title><![CDATA[java面试之Mysql读写分离]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/119515286</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/119515286</guid><author>ymn159</author><pubDate>Sun, 08 Aug 2021 15:26:51 +0800</pubDate><description><![CDATA[java面试之Mysql读写分离
目录java面试之Mysql读写分离1.读写分离使用MyCat实现读写分离操作2.分库分表使用MyCat实现分库分表参考
1.读写分离
利用主从数据库来实现读写分离，从而分担主数据库的压力。在多个服务器上部署mysql，将其中一台认为主数据库，其他为从数据库，实现主从同步。其中主数据库负责主动写的操作，而从数据库则只负责主动读的操作。
实现MySQL读写分离的前提是MySQL的主从复制。
读写分离实现方式：

配置多数据源，参考spring集成mybatis实现mysql读]]></description><category></category></item><item><title><![CDATA[java面试之Mysql主从同步]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/119515262</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/119515262</guid><author>ymn159</author><pubDate>Sun, 08 Aug 2021 15:22:28 +0800</pubDate><description><![CDATA[java面试之Mysql主从同步
目录java面试之Mysql主从同步1.主从同步概述原理用途主从形式主从问题及解决方法并行复制（MTS）主从复制模式主从复制的方式2.主从（一主一从）配置实践GTID模式普通模式3.主从（一主多从）配置实践4.主从（双主）配置实践5.主从（级联复制）配置实践
1.主从同步
概述
MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。
MySQL主从复制的基础是主服务器对数据库修改记录二进制日志，从服务器通过主服务器的二进制日志自动执行更新]]></description><category></category></item><item><title><![CDATA[java面试之Mysql索引]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/119515210</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/119515210</guid><author>ymn159</author><pubDate>Sun, 08 Aug 2021 15:20:54 +0800</pubDate><description><![CDATA[java面试之Mysql索引
目录java面试之Mysql索引1.索引索引类型存储结构应用层次索引的操作组合索引索引不适合哪些场景索引适合场景索引注意事项2.执行计划概述慢查询定位慢查询优化分页查询优化3.索引数据结构B+树MyISAM、InnoDB存储引擎聚集索引与非聚集索引
1.索引
索引是帮助数据库高效获取数据的排好序的数据结构。
优点：

索引可以加快数据检索速度，减少I/O次数，提高系统的性能。

缺点：

创建索引和维护索引要耗费时间。当对表中的数据进行增删改时，索引也要动态的维护。
索引需要占]]></description><category></category></item><item><title><![CDATA[java面试之Mysql基础二]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/119515156</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/119515156</guid><author>ymn159</author><pubDate>Sun, 08 Aug 2021 15:18:27 +0800</pubDate><description><![CDATA[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 ]]></description><category></category></item><item><title><![CDATA[java面试之Mysql基础一]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/119515124</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/119515124</guid><author>ymn159</author><pubDate>Sun, 08 Aug 2021 15:15:37 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[docker学习详解（一）]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/105674313</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/105674313</guid><author>ymn159</author><pubDate>Thu, 08 Jul 2021 11:28:10 +0800</pubDate><description><![CDATA[docker学习详解（一）
1.docker基础
（1）定义
Docker 是一个开源的应用容器引擎，基于 Go 语言 并遵从 Apache2.0 协议开源，让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中，然后发布到任何流行的 Linux或Windows 机器上，也可以实现虚拟化。容器是完全使用沙箱机制，相互之间不会有任何接口。
（2）原理
docker是利用Linux内核虚拟机化技术（...]]></description><category></category></item><item><title><![CDATA[java面试之Spring(一)]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/117019219</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/117019219</guid><author>ymn159</author><pubDate>Wed, 19 May 2021 10:40:32 +0800</pubDate><description><![CDATA[1.Spring
Spring是分层的 Java SE/EE 应用 full-stack 轻量级开源框架，以控制反转(IoC)和面向切面(AOP)为内核，提供了展现层 Spring MVC 和持久层 Spring JDBC 以及事务管理等众多的企业级应用技术，还能整合开源世界众多著名的第三方框架和类库，逐渐成为使用最多的 Java EE 企业应用开源框架。是为了解决企业应用开发的复杂性而创建的。
全栈式：Spring提供了JavaEE每一层的解决方案
轻量级：Spring框架的非侵入性，即对象可以不必依赖S]]></description><category></category></item><item><title><![CDATA[java面试之基础(四)]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/116717370</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/116717370</guid><author>ymn159</author><pubDate>Wed, 12 May 2021 18:04:11 +0800</pubDate><description><![CDATA[1. 异常
异常是在程序执行过程中阻碍程序正常执行的错误操作，在 Java 语句产生异常就会创建一个异常对象。
Java异常机制可以使程序中异常处理代码和正常业务代码分离，保证程序代码更加优雅，并提高程序健壮性。
Throwable
Throwable 是所有错误或异常的父类，它有两个直接子类 Error 和 Exception。
Error
Error是 java 运行环境内部错误或者硬件问题，不能指望程序来处理这样的问题。如Virtual MachineError（虚拟机运行错误）、NoClassDef]]></description><category></category></item><item><title><![CDATA[java面试之基础(五)]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/116710940</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/116710940</guid><author>ymn159</author><pubDate>Wed, 12 May 2021 15:56:25 +0800</pubDate><description><![CDATA[1. 反射
java反射是在运行状态中，对于java任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任意一个方法和属性；或者说是将类的各个组成部分封装为其他对象。
作用
在java中，只要给定类的名字，就可以通过反射机制来获得类的所有信息。
这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。
优缺点

能够运行时动态获取类的实例，提高灵活性
使用反射性能较低，反射相当于一系列解释操作，通知JVM要做的事情，这类操作总是慢于直接执行java代码。

pac]]></description><category></category></item><item><title><![CDATA[java面试之基础(一)]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/116536722</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/116536722</guid><author>ymn159</author><pubDate>Sun, 09 May 2021 12:07:48 +0800</pubDate><description><![CDATA[1.JDK、JRE、JVM
JDK：Java Development Kit 的简称，java 开发工具包，提供了 java 的开发环境和运行环境。
JRE：Java Runtime Environment 的简称，java 运行环境，为 java 的运行提供了所需环境。包括Java虚拟机和Java程序所需的核心类库等。
JVM：Java虚拟机，Java程序运行在虚拟机上，不同平台有自己的处理机，因此Java可以跨平台。
需要运行 java 程序，只需安装 JRE 就可以了，编写 java 程序，需要安装 ]]></description><category></category></item><item><title><![CDATA[JVM系统知识]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/116545527</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/116545527</guid><author>ymn159</author><pubDate>Sat, 08 May 2021 22:08:12 +0800</pubDate><description><![CDATA[JVM系统知识

]]></description><category></category></item><item><title><![CDATA[java面试之分布式事务(一)]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115792095</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115792095</guid><author>ymn159</author><pubDate>Sat, 17 Apr 2021 11:45:51 +0800</pubDate><description><![CDATA[1. 事务
事务由一组操作组成的一个工作单元，工作单元应该具备原子性、一致性、隔离性和持久性。


原子性（Atomicity）：一个事务内所有操作要么都执行，要么都不执行


一致性（Consistency）：数据是满足完整性约束的，也就是不会存在中间状态数据


隔离性（Isolation）：多个事务并发执行的时候不会互相干扰，即一个事务内部的数据对于其他事务来说是隔离的


持久性（Durability）：一个事务完成了之后数据就被永远保存下来，之后其他操作或故障不会对事务结果产生影响


Redis]]></description><category></category></item><item><title><![CDATA[软考中级（软件设计）之软件开发模型（十）]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/109109967</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/109109967</guid><author>ymn159</author><pubDate>Fri, 16 Apr 2021 16:53:55 +0800</pubDate><description><![CDATA[软考中级（软件设计）之软件开发模型（十）

]]></description><category></category></item><item><title><![CDATA[软考中级（软件设计）之程序设计语言（七）]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/109046004</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/109046004</guid><author>ymn159</author><pubDate>Fri, 16 Apr 2021 16:53:35 +0800</pubDate><description><![CDATA[软考中级（软件设计）之程序设计语言（七）
1.编译

2.文法



3.有限自动机




4.表达式及函数调用



5.各程序设计语言特点


]]></description><category></category></item><item><title><![CDATA[java面试之分布式ID]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115766803</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115766803</guid><author>ymn159</author><pubDate>Fri, 16 Apr 2021 16:47:09 +0800</pubDate><description><![CDATA[1. 分布式ID
业务数据量不大时，单库单表完全可以支撑现有业务，数据再大一点MySQL主从同步读写分离也能应对。
随着数据日渐增长，需要对数据库进行分库分表，分库分表后需要有一个唯一ID来标识一条数据，此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。

全局唯一：必须保证ID是全局性唯一的
高性能：高可用低延时，ID生成响应要块
好接入：秉着拿来即用的设计原则，在设计和实现上要尽可能简单
高可用

2.分布式ID生成方式

UUID
原理：结合机器的网卡、当地时间、一个]]></description><category></category></item><item><title><![CDATA[前端安全]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115694528</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115694528</guid><author>ymn159</author><pubDate>Wed, 14 Apr 2021 11:34:49 +0800</pubDate><description><![CDATA[1. 同源策略
URL由协议、域名、端口和路径组成，如果两个URL的协议、域名和端口相同，则表示他们同源。
浏览器的同源策略，限制了来自不同源的document或脚本，对当前document读取或设置某些属性。从一个域上加载的脚本不允许访问另外一个域的文档属性。
如果没有同源限制存在，浏览器中cookie等其他数据可以任意读取，不同域下DOM可以任意操作，ajax可以任意请求。如果浏览了恶意网站那么就会泄漏这些隐私数据
在浏览器中，&lt;script&gt;、&lt;img&gt;、&lt;iframe&]]></description><category></category></item><item><title><![CDATA[java面试之单点登录]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115670594</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115670594</guid><author>ymn159</author><pubDate>Tue, 13 Apr 2021 15:57:44 +0800</pubDate><description><![CDATA[1. 单点
单点登录SSO（Single Sign On）是目前比较流行的企业业务整合解决方案之一。在分布式服务中，用户只需要在一处登录，即可在各个受信任的服务器之间，共享登录状态。
实现单点登录有多种方式，其区别在于是否能解决跨域登录。
实现单点登录的关键在于如何让 Session ID（或 Token）在多个域中共享。
2. 实现方式
cookie
Cookie 作用域由 domain 属性和 path 属性共同决定。
同域名不同站点
www.lymn.com/site、www.lymn.com/sit]]></description><category></category></item><item><title><![CDATA[架构生命周期]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115594883</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115594883</guid><author>ymn159</author><pubDate>Sun, 11 Apr 2021 12:23:20 +0800</pubDate><description><![CDATA[1. 单体
单体应用架构可以理解为一个javaweb应用程序，包含表现层，业务层、数据层，即我们平常说的MVC模式。所有服务都在同一个war包中,部署在一个web容器中。


减少部署节点和成本
代码严重耦合、复杂性高
部署风险大，系统可用性低，部署速度逐渐变慢
扩展能力受限，无法按需伸缩
灵活性低，影响开发效率

产生的问题
随着用户的访问量持续增加，单台应用服务器已经无法满足需求。
解决办法：使用缓存改善性能、集群
高可用
保持服务的高度可用性
高性能
程序处理速度快，所占内存少，cpu低
高并发指标
]]></description><category></category></item><item><title><![CDATA[前端安全]]></title><link>https://blog.youkuaiyun.com/ymn159/article/details/115582041</link><guid>https://blog.youkuaiyun.com/ymn159/article/details/115582041</guid><author>ymn159</author><pubDate>Sat, 10 Apr 2021 18:46:32 +0800</pubDate><description><![CDATA[CSRF（Cross Site Request Forgery）跨站请求伪造
攻击者诱导受害者进入第三方网站，在第三方网站中，向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证，绕过后台的用户验证，达到冒充用户对被攻击的网站执行某项操作的目的。
CSRF 利用的是网站对用户网页浏览器的信任。
一个典型的CSRF攻击有着如下的流程：


受害者登录a.com，并保留了登录凭证（Cookie）


攻击者引诱受害者访问了b.com。


b.com 向 a.com 发送了一个请求：a.com/a]]></description><category></category></item></channel></rss>