<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SmallIPPig的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SmallIPPig</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SmallIPPig]]></copyright><item><title><![CDATA[JAVA-JVM-内存模型]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/117756627</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/117756627</guid><author>SmallIPPig</author><pubDate>Wed, 09 Jun 2021 23:37:18 +0800</pubDate><description><![CDATA[1.简单的缓存模型：
早期，CPU要读取数据，需要先把数据从硬盘加载到RAM，主内存中，CPU再从主内存中读取数据，但是CPU与主内存之间的运行速度相差越来越大。为解决两者之间的差距，在CPU和RAM之间加了一层 CPU缓存（CPU高速缓存），CPU高速缓存的运行速度跟CPU差不多，在运算过程中，会把数据加载到CPU高速缓存中，CPU再从高速缓存中读取数据，来解决CPU与主内存之间的差距。


2.复杂版

3.JMM内存模式：

JAVA多线程内存模型跟CPU缓存模型类似，是基于CPU缓存模型来建立的，J]]></description><category></category></item><item><title><![CDATA[JAVA-JVM-原理优化篇]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/109279957</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/109279957</guid><author>SmallIPPig</author><pubDate>Sun, 25 Oct 2020 22:47:52 +0800</pubDate><description><![CDATA[JVM（Java Virtual Machine java虚拟机）
jvm的工作原理：

java语言最大的特点是可以跨平台操作，是因为java将写好的目标代码装载在一个叫JAVA虚拟机的平台上，这样恶意保证在不同平台上运行时，不需要再次编译代码。运行的代码其实是在JVM中，即代码不是直接运行在我们操作平台，所以JVM调优核心是如何让JAVA源代码在JVM中运行的效率最高。
影响JVM运行效率的核心指标是内存的使用，所以我们通常说JVM调试都是在谈论内存分配的问题。



Class Loader： 类的加]]></description><category></category></item><item><title><![CDATA[JAVA-数据库-索引]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/108568757</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/108568757</guid><author>SmallIPPig</author><pubDate>Sun, 13 Sep 2020 22:34:14 +0800</pubDate><description><![CDATA[1.索引概念：


概念：类似于书目录，用于条件查询的时候提高查询的效率。
过程：先查查询索引，再通过索引找到相关的数据（一个索引有多个字段，要把最准确的条件放在第一个，索引选择会以第一个字段为主，进行选择使用哪条第一个字段相同其他字段不同的索引）。
保存：索引本身也是通过文件来进行保存的。


2.索引的类型：


顺序索引：根据值的顺序进行排序（建立的索引字段值顺序的放在索引文件中。）
散列索引：将值平均分配到若干个桶中，通过散列函数进行定位查找。

顺序索引：

聚集索引：被索引的字段本身按照一定的顺]]></description><category></category></item><item><title><![CDATA[JAVA-缓存-布隆过滤器]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/108566289</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/108566289</guid><author>SmallIPPig</author><pubDate>Sun, 13 Sep 2020 21:16:48 +0800</pubDate><description><![CDATA[布隆过滤器

Data structures are nothing different. They are like the bookshelvesof your application where you can organize your data. Different datastructures will give you different facility and benefits. To properlyuse the power and accessibility of the data ]]></description><category></category></item><item><title><![CDATA[JAVA-数据库-SQL]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/108309103</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/108309103</guid><author>SmallIPPig</author><pubDate>Sun, 30 Aug 2020 19:16:41 +0800</pubDate><description><![CDATA[一、SQL简介

SQL是用于访问和处理数据库的标准的计算机语言。
SQL是指结构化查询语言，全称是 Structured Query language。

二、一些重要的SQL语句

SELECT	- 	从数据库中提取数据
UPDATE	-	更新数据库中的数据
DELETE	-	从数据库中删除数据
INSERT TO	-	向数据库中插入新数据
CREATE	DATABASE	-	创建新数据库
ALTER	DATABASE	-	修改数据库
CREATE	TABLE	-	创建新表
ALTER	TABLE	-	]]></description><category></category></item><item><title><![CDATA[JAVA-网络服务-网络关卡（网关）]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/108175411</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/108175411</guid><author>SmallIPPig</author><pubDate>Sat, 22 Aug 2020 21:58:29 +0800</pubDate><description><![CDATA[1.什么是网关：
网关（Gateway）又称网间连接器，协议转换器。网关在网络层以上实现网络互连，是复杂的网络互连设备，仅用于两个高层协议不同的网络互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言，甚至体系结构完全不同的两种系统之间，网关是一个翻译器。与网桥只是简单地传达信息不同，网关对收到的信息要重新打包，以适应目的系统的需求。同层–应用层。

那么网关到底是什么呢？网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B，网络A的IP地址范围为“192.16]]></description><category></category></item><item><title><![CDATA[JAVA-网络服务-代理服务器]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/108043768</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/108043768</guid><author>SmallIPPig</author><pubDate>Sat, 22 Aug 2020 20:40:18 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[JAVA-微服务-SpringCloud-3-Ribbon与Feign]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/106648495</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/106648495</guid><author>SmallIPPig</author><pubDate>Tue, 09 Jun 2020 18:51:09 +0800</pubDate><description><![CDATA[一、Ribbon	简述

Ribbon是spring cloud 的客户端负载均衡组件。
SpringCloud Ribbon 是一个基于HTTP 和TCP的客户端负载均衡工具，它基于Netflix Ribbon实现。通过Spring Cloud的封装，可以让我们轻松的，面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。


...]]></description><category></category></item><item><title><![CDATA[JAVA-微服务-SpringCloud-2-Eureka实例]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/106555305</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/106555305</guid><author>SmallIPPig</author><pubDate>Thu, 04 Jun 2020 18:46:17 +0800</pubDate><description><![CDATA[一、创建Eureka Server


创建一个Spring项目
在创建项目的过程中选择Spring Cloud Discovery–&gt;Eureka Server
配置Spring 的Pom.xml配置文件



Pom.xml

 &lt;parent&gt;
        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
        &lt;artifactId&gt;spring-boot-starter-parent&lt;/]]></description><category></category></item><item><title><![CDATA[JAVA-微服务-SpringCloud-1-Eureka简述]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/106501758</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/106501758</guid><author>SmallIPPig</author><pubDate>Wed, 03 Jun 2020 14:44:14 +0800</pubDate><description><![CDATA[一、Spring Cloud Eureka 简述

Eureka 是 Netflix开发的，一个基于REST服务的，服务注册和发现的组件。


Eureka 包括 Eureka Server 和 Eureka Client，Eureka server 即注册中心，Eureka
Client启动会向 Eureka Server 注册，这样其他的Eureka Client访问Eureka Server
即可拿到注册了的Eureka Client 的信息。


...]]></description><category></category></item><item><title><![CDATA[JAVA-Java编程中的注解]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/104920304</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/104920304</guid><author>SmallIPPig</author><pubDate>Tue, 17 Mar 2020 14:17:53 +0800</pubDate><description><![CDATA[一、@RestController 与@Controller
@RestController ：从Spring 4.0后，用于将json/xml数据发送到前台界面，而不是 返回视图界面。

@RestController加在类上面的注解，使得类里面的方法都将json/xml返回数据加载到前台界面中。

@RestController
public class SpringBootControlle...]]></description><category></category></item><item><title><![CDATA[JAVA-消息中间件-RabbitMQ]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/103302452</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/103302452</guid><author>SmallIPPig</author><pubDate>Thu, 28 Nov 2019 22:33:51 +0800</pubDate><description><![CDATA[未开始

]]></description><category></category></item><item><title><![CDATA[JAVA-消息队列使用的场景]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/103294669</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/103294669</guid><author>SmallIPPig</author><pubDate>Thu, 28 Nov 2019 16:45:02 +0800</pubDate><description><![CDATA[消息队列场景：异步处理，应用解耦，流量削锋，日志处理，消息通讯。
①异步处理：
场景：用户进行注册，需要发送邮件和发送短信。传统的处理方式：1.串行 2.并行
1.串行： 将注册信息写入数据库成功后，发送注册邮件，再发送注册短信，以上三个步骤全部完成，才会返回给客户端。

https://www.cnblogs.com/ruiati/p/6649868.html （原文，非常好）

...]]></description><category></category></item><item><title><![CDATA[JAVA-消息队列及分布式消息队列原理]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/103292262</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/103292262</guid><author>SmallIPPig</author><pubDate>Thu, 28 Nov 2019 15:22:58 +0800</pubDate><description><![CDATA[原文章：https://www.cnblogs.com/middleware/p/9178734.html
一、什么是消息队列
消息队列是在消息的传输过程中保存消息的容器，队列的主要目的是提供路由并保证消息的传递。 如果发送消息时接受者不可用，消息队列会保留消息，知道可以成功传递消息。
消息队列是一种异步的服务间通信方式，是分布式系统中重要的组件，主要解决应用耦合，异步消息，流量削锋等问题，实现高...]]></description><category></category></item><item><title><![CDATA[JAVA-消息中间件-kafka]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/103205065</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/103205065</guid><author>SmallIPPig</author><pubDate>Fri, 22 Nov 2019 18:01:49 +0800</pubDate><description><![CDATA[高吞吐低延迟的高并发、高性能的KAFKA原理
kafka在大数据领域有着极其广泛的应用。一个配置好的kafka集群能够达到几十万甚至上百万的并发写入。
kafka的这种高性能可以从两个方面来进行描述：
写
在kafka进行数据写入时，采用 页缓存技术和磁盘顺序写。
页缓存技术：
在kafka每次接收到数据都会往上磁盘进行写数据。

但是这样是有一个问题：把数据写入到磁盘上，这样的工作效率是很低的。...]]></description><category></category></item><item><title><![CDATA[JAVA-关于多线程]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/103191608</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/103191608</guid><author>SmallIPPig</author><pubDate>Thu, 21 Nov 2019 23:03:59 +0800</pubDate><description><![CDATA[1.多线程的定义：
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因为硬件上的支持，能够在同一个时间执行多于一个的线程，进而提升整体的处理性能。
2.多线程的作用：
多线程只有一个目的，那就是更好的利用CPU的资源，所有的多线程都可以用单线程来实现。
3.并行和并发：
并行：多个CPU

...]]></description><category></category></item><item><title><![CDATA[StringUtils]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/101268647</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/101268647</guid><author>SmallIPPig</author><pubDate>Tue, 24 Sep 2019 10:53:00 +0800</pubDate><description><![CDATA[关于StringUtils的两个常用方法：isEmpty和isBlank
StringUtils 方法的操作对象是 Java.lang.String 类型的对象，是 JDK 提供的 String 类型操作方法的补充，并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ，而是做了相应处理，例如，如果输入为 null 则返回也是 ...]]></description><category></category></item><item><title><![CDATA[关于对象的构造函数中的super和this]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/100190014</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/100190014</guid><author>SmallIPPig</author><pubDate>Mon, 02 Sep 2019 00:44:03 +0800</pubDate><description><![CDATA[一。this
1.创建对象的步骤：
	a.分配对象空间，并将对象成员变量初始化为0或者null
	b.执行属性值的显示赋值
	c.执行构造方法
	d.返回对象的地址给相关的变量

2.this的本质：
创建好的对象的地址：由于在构造方法调用前，对象已经创建，因此，在构造方法中可以
使用this代表“当前对象”。

this表示一个对象的引用，它指向正在执行方法的对象。
在构造方法中，通过this关...]]></description><category></category></item><item><title><![CDATA[关于HDFS中NameNode和Secondry的合并机制问题]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/88868082</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/88868082</guid><author>SmallIPPig</author><pubDate>Thu, 28 Mar 2019 14:16:59 +0800</pubDate><description><![CDATA[一、FSImage和EditsLog是什么？
我们知道HDFS是一个分布式文件存储系统，文件分布式存储在多个DataNode节点上。一个文件存储在哪些DataNode节点的哪些位置的元数据信息（metadata）由NameNode节点来处理。随着存储文件的增多，NameNode上存储的信息也会越来越多。那么HDFS是如何及时更新这些metadata的呢？
　　在HDFS中主要是通过两个组件FSIm...]]></description><category></category></item><item><title><![CDATA[关于Hadoop1.0与2.0]]></title><link>https://blog.youkuaiyun.com/SmallIPPig/article/details/88853698</link><guid>https://blog.youkuaiyun.com/SmallIPPig/article/details/88853698</guid><author>SmallIPPig</author><pubDate>Wed, 27 Mar 2019 19:49:14 +0800</pubDate><description><![CDATA[关于Hadoop的局限性与不足：
1.抽象层次低：对于简单的功能，编写大量的代码。
2.表达能力有限，MR把复杂分布式编程工作高度抽象到两个函数上，即MAP与REDUCE 上，实际生产环境上中有些不能只用简单的两个函数完成。
3.要管理作业间复杂的依赖关系。实际应用通常需要大量的job协作完成，job之间往往存在复杂的依赖关系。
4.迭代效率低。对于需要迭代的任务。需要反复读写HDFS文件中的数据...]]></description><category></category></item></channel></rss>