<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sixi7762的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sixi7762</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sixi7762]]></copyright><item><title><![CDATA[BAT宠儿，高性能代名词，一套阿里架构师力荐的实战Nginx文档分享]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125627744</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125627744</guid><author>sixi7762</author><pubDate>Tue, 05 Jul 2022 20:49:30 +0800</pubDate><description><![CDATA[Nginx 是一个高性能的HTTP和反向代理web服务器，同时也提供了IMAP/POP3/SMTP服务。其将源代码以类BSD许可证的形式发布，因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件（IMAP/POP3）代理服务器，在BSD-like 协议下发行。其特点是占有内存少，并发能力强，事实上Nginx的并发能力确实在同类型的网页服务器中表现较好，互联网企业使用Nginx网站用户有：百度、京东、新浪、网易、腾讯、淘宝等等。由于]]></description><category></category></item><item><title><![CDATA[大型网站架构“三高”（高并发、高可用、高性能）]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125574415</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125574415</guid><author>sixi7762</author><pubDate>Sat, 02 Jul 2022 16:19:41 +0800</pubDate><description><![CDATA[从演化历史看大型网站架构摘 要：本文以大型网站系统的特点、大型网站架构演化发展历程以及大数据与高并发为切入和论述点，由浅入深、由简到繁地对大型网站架构设计展开叙述，首先通述其特点，之后介绍大型网站架构的历史发展历程，从其发展历程中总结出每一代架构是如何一步步发现问题并解决问题的。最后会以大数据和高并发为重点，着重介绍秒杀架构设计是如何实现高并发的。通过这篇文章，您可以对大型网站架构有一个整体的认识和了解。关键词：高并发；大数据；分布式一个成熟的大型网站（如淘宝、京东等）的系统架构并不是开始设计就具备完整的高]]></description><category></category></item><item><title><![CDATA[性能为王：微服务架构中的多级缓存设计]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125574332</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125574332</guid><author>sixi7762</author><pubDate>Sat, 02 Jul 2022 16:16:55 +0800</pubDate><description><![CDATA[微服务架构中的多级缓存设计提到缓存，想必每一位软件工程师都不陌生，它是目前架构设计中提高性能最直接的方式。这里举个例子：Redis 缓存假设应用程序将原始数据存储在 MySQL 数据库中。众所周知 MySQL 数据库会将数据存储在硬盘以防止掉电丢失，但是受制于硬盘的物理设计，即便是目前性能最好的企业级 SSD 硬盘，也比内存的这种高速设备 IO 层面差一个数量级，而以淘宝、京东这种电商为代表的互联网应用，都是典型的“读多写少”的场景，因此我们需要在设计上进行数据的读写分离，在数据写入时直接落盘处理，而占比超]]></description><category></category></item><item><title><![CDATA[消息中间件应用的常见问题及优化方案]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125563604</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125563604</guid><author>sixi7762</author><pubDate>Fri, 01 Jul 2022 18:01:08 +0800</pubDate><description><![CDATA[消息队列（MQ）中间件已经普及很多年了，在互联网应用中，通常稍大一些的应用，我们都可以见到MQ的身影。当前市面上有很多中消息中间件，包括但不限于RabbitMQ、RocketMQ、ActiveMQ、Kafka(流处理中间件) 等。很多开发人员已经熟练地掌握了一个或者多个消息中间件的使用。但是仍然有一些小伙伴们对消息中间件不是特别熟悉，因为各种原因不能深入的去学习了解个中原理和细节，导致使用的时候可能出现这样那样的问题。在这里，我们就针对消息队列中间件使用中的典型问题作一番分析（包括顺序消息、可靠性保证、消息]]></description><category></category></item><item><title><![CDATA[Java架构师 2022大厂面试必备资料]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125563516</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125563516</guid><author>sixi7762</author><pubDate>Fri, 01 Jul 2022 17:56:13 +0800</pubDate><description><![CDATA[我相信各位小伙伴们或多或少都对 Java 的相关岗位的面试都有一定的了解，知道面试官一定会对某个知识点进行一系列的穷追猛打，直到你默默不语……基础篇-------- Java工程师的进阶之路 基础篇（一）1.Java语言主要特点2.Java语言和C++语言的区别3.JDK、JRE、JVM之间的关系4.Java应用程序与小程序之间的区别-------- Java工程师的进阶之路 基础篇（二）1.字符型常量和字符串常量的区别？Java中的String为什么不可变？String、StringBuffer、Stri]]></description><category></category></item><item><title><![CDATA[SpringMVC框架的高级配置]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125543930</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125543930</guid><author>sixi7762</author><pubDate>Thu, 30 Jun 2022 16:51:10 +0800</pubDate><description><![CDATA[前言：本文将为您提供关于Spring MVC框架的配置技巧，以帮助管理基于Spring的web应用程序的多个实例。本配置管理主题常被学术界所忽略，但是，这对于现实的web开发尤为重要。本主题并不直接关联任何具体的技术，因此，我们将从最基本的概念开始对这个问题进行说明。下面，我们将根据Spring MVC框架，为基于本技术开发的项目提供一系列的解决方案。Spring配置人们经常会在一台以上的主机上配置一种Web应用程序。例如，在生产中，一个网站可能只有一个实例。除了此实例外，开发人员可以在用于开发的机器上配置]]></description><category></category></item><item><title><![CDATA[聊聊MQ，如何避免消息丢失？如何避免重复消费？]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125543907</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125543907</guid><author>sixi7762</author><pubDate>Thu, 30 Jun 2022 16:50:21 +0800</pubDate><description><![CDATA[我在工作中，使用到消息中间件MQ的业务还是挺多的，我从事在一家交通行业的公司，业务中经常会涉及处理一些违法数据的场景，项目中经常会使用到RabbitMQ，今天想跟大家聊聊怎样避免消息丢失和重复消费是问题。是的，一般MQ中间件为了提高系统的吞吐量会把消息保存在内存中，如果不作其他处理，MQ服务器一旦宕机，消息将全部丢失。这个是业务不允许的，造成很大的影响。在遇到这种问题的时候，一般有以下几种处理方式。这样的话MQ服务器即使宕机，重启后磁盘文件中有消息的存储，这样就不会丢失了吧。是的这样就一定概率的保障了消息不]]></description><category></category></item><item><title><![CDATA[JAVA的由来：要不要干一杯95年的Java]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125528612</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125528612</guid><author>sixi7762</author><pubDate>Wed, 29 Jun 2022 20:02:35 +0800</pubDate><description><![CDATA[JAVA初生遇低谷，崛起于互联网目前在IT互联网行业，“JAVA”是应用最广泛的编程语言。25 年前，Java 之父詹姆斯·高斯林（James Gosling）在 Sun Microsystems 工作时设计了 Java。一、1990年代初JAVA雏形初诞生，第一个名称是Greentalk当初Java的出现是为了应用于家用电器行业，是由当时在Sun公司工作的詹姆斯·高斯林等人（当时团队叫做 Green Team ，也叫做绿队）在1990年代初开发的一种编程语言，刚刚诞生时，由于当时的团队被称为“Green ]]></description><category></category></item><item><title><![CDATA[Java开发的九大工作领域]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125528590</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125528590</guid><author>sixi7762</author><pubDate>Wed, 29 Jun 2022 20:01:14 +0800</pubDate><description><![CDATA[Java语言简单易用、安全可靠，主要面向Internet编程，具有卓越的通用性、高效性、平台移植性和安全性，广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网，同时拥有全球最大的开发者专业社群。1.Java技术可以做网站开发Java在电子商务领域以及网站开发领域，开发人员可以运用许多不同的框架来创建web项目。比如淘宝、京东、58等电子商务平台；应用平台、管理系统，如钉钉，CRM系统，ATM取款系统，医药管理系统等；游戏平台，非常多的手游都是由java开发的，还有一系列网游的统计数据；一]]></description><category></category></item><item><title><![CDATA[字节面试：如何用Redis实现一个分布式锁？]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125505599</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125505599</guid><author>sixi7762</author><pubDate>Tue, 28 Jun 2022 16:47:11 +0800</pubDate><description><![CDATA[前言基于Redis的分布式锁实现在开始提到Redis分布式锁之前，我想跟大家聊点Redis的基础知识。说一下Redis的两个命令：
setnx 是SET if Not eXists(如果不存在，则 SET)的简写。用法如图，如果不存在set成功返回int的1，这个key存在了返回0。
将值 value 关联到 key ，并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在，setex命令将覆写旧值。有小伙伴肯定会疑惑万一set value 成功 set time失败，那不就傻]]></description><category></category></item><item><title><![CDATA[Redis 中两个字段排序]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125505328</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125505328</guid><author>sixi7762</author><pubDate>Tue, 28 Jun 2022 16:39:50 +0800</pubDate><description><![CDATA[Redis 是一个内存型数据库，其最大的作用就是当作缓存使用。提供了几种数据类型，方便开发过程中应对不同的需求场景。需求是这样的，有一些需要排序的数据，按照不止一个维度进行排序，对应到数据库里，就是按照两个字段进行综合排序，那在 Redis 中应该使用哪种数据结构呢？按单一字段排序首先我们先把问题简化一下，按照一个字段进行排序，看看应该怎么实现。排行榜场景很常见，比如历史数据排行榜、热度排行榜（微博热搜、知乎热榜等、B站热门等等），根据播放量进行排序，那针对这样的场景，使用 Redis 怎么解决呢？我们首先]]></description><category></category></item><item><title><![CDATA[java工程师常用的java框架Shiro]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125490038</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125490038</guid><author>sixi7762</author><pubDate>Mon, 27 Jun 2022 18:56:16 +0800</pubDate><description><![CDATA[Apache Shiro是Java的一个安全框架，旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证，授权，企业会话管理和加密等。Shiro的具体功能点如下：(1)身份认证/登录，验证用户是不是拥有相应的身份;(2)授权，即权限验证，验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情，常见的如：验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;(3)会话管理，即用户登录后就是一次会话，在没有退出之前，它的所有信息都]]></description><category></category></item><item><title><![CDATA[Java自学路线图之Java框架自学]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125489723</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125489723</guid><author>sixi7762</author><pubDate>Mon, 27 Jun 2022 18:45:50 +0800</pubDate><description><![CDATA[Java自学路线图的框架分为两个阶段，第一阶段的Java框架包含六个内容：MyBatis，Spring，SpringMVC，Maven高级，Git，Dubbo。在Java自学过程中掌握框架的使用，对企业项目的构建有着关键性的作用。Java框架规定了应用体系结构，构成了某类特定软件的可复用设计。自学完这一部分的Java框架后，可以使Java开发人员只关注软件的业务功能，这是迈向中级程序员的重要一步。...]]></description><category></category></item><item><title><![CDATA[一次netty 堆外内存泄露排查]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125462804</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125462804</guid><author>sixi7762</author><pubDate>Sat, 25 Jun 2022 18:37:46 +0800</pubDate><description><![CDATA[最近在做一个基于 websocket 的长连中间件，服务端使用实现了 socket.io 协议（基于websocket协议，提供长轮询降级能力） 的 netty-socketio 框架，该框架为 netty 实现，鉴于本人对 netty 比较熟，并且对比同样实现了 socket.io 协议的其他框架，这个框架的口碑要更好一些，因此选择这个框架作为底层核心。任何开源框架都避免不了 bug 的存在，我们在使用这个开源框架的时候，就遇到一个堆外内存泄露的 bug，鉴于对 netty 比较熟，于是接下来便想挑战一下]]></description><category></category></item><item><title><![CDATA[3年Java开发岗，从月薪5k到30k，java面试题总结，拜托，别再收感谢信了]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125462647</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125462647</guid><author>sixi7762</author><pubDate>Sat, 25 Jun 2022 18:27:43 +0800</pubDate><description><![CDATA[最近在刷牛客时，霸榜的总是各位牛友发的面试各个厂感谢信。看着我都发愁！！！！拿个oc真的有这么难？作为一个7.5年的java开发者我觉得我该为各位学弟学妹们做些什么。于是我熬了一夜写出了自己觉得面试时会考到的各个大小厂面试题总结分享给大家。 希望大家别再收感谢信啦！！！以下为大致内容：各类大小厂面经真题、Java 八股文集合、JVM、多线程、并发编程、设计模式、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、R]]></description><category></category></item><item><title><![CDATA[成功“拿下”金三银四 汇总2022Java面试突击班后的面试小册]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125410142</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125410142</guid><author>sixi7762</author><pubDate>Wed, 22 Jun 2022 15:21:28 +0800</pubDate><description><![CDATA[最近很多同学已经成功“拿捏”了今年的面试，好多同学给老师说，2022最新版的Java面试突击班的内容给自己提供了很大的帮助，在这里很感谢这些同学对老师的认可，老师会持续奋战在Java教培的一线，了解最新的技术并且提供给大家学习！话说回来，今天给大家分享的就是咱们2022版面试突击班的文字PDF版本，如果大家需要视频版本也可以一并送给大家的，下面是文字版的分享大家可以详细往下看！由于文章的篇幅有限，所以这里只为大家截图一些大标题内容，里面详细的小标题内容就不为大家截图了，等大家自己拿到手之后可以详细去看和学习]]></description><category></category></item><item><title><![CDATA[畅玩JVM——关于GC垃圾回收必须要掌握的知识]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125410002</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125410002</guid><author>sixi7762</author><pubDate>Wed, 22 Jun 2022 15:17:43 +0800</pubDate><description><![CDATA[如何判断一个对象是垃圾引用计数法原理：当一个对象被创建（一般在堆区）时，同时创建一个引用计数器，当这个对象被引用了，则计数器加1，当引用失效之后，则计数器减1。当计数器为0时，则表示此对象为垃圾问题：存在循环引用问题。当A引用B，B引用C，C又引用A的话，那么此3个对象永远不会被判断为垃圾可达性算法确定某些对象为根对象（GC Roots），从这些根对象出发，遍历找到和这些根对象有引用关系的对象，形成引用链，而不在这些引用链上的对象就被判定为垃圾。如下图所示，两个浅蓝色的对象即是垃圾。问题来了，哪些对象可以作]]></description><category></category></item><item><title><![CDATA[Java多线程的创建与启动方式]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125395104</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125395104</guid><author>sixi7762</author><pubDate>Tue, 21 Jun 2022 17:18:36 +0800</pubDate><description><![CDATA[在Java中,创建一个线程就是创建一个Thread类(子类)的对象(实例)。Thread类有两个常用的构造方法:Thread()与Thread(Runnable).对应的创建线程的两种方式：● 定义Thread类的子类● 定义一个Runnable接口的实现类这两种创建线程的方式没有本质的区别。...]]></description><category></category></item><item><title><![CDATA[一个 Java多线程编程 的快速方法]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125395056</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125395056</guid><author>sixi7762</author><pubDate>Tue, 21 Jun 2022 17:16:33 +0800</pubDate><description><![CDATA[Java进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。可以把进程简单的理解为正在操作系统中运行的一个程序。线程(thread)是进程的一个执行单元。一个线程就是进程中一个单一顺序的控制流, 进程的一个执行分支。进程是线程的容器,一个进程至少有一个线程.一个进程中也可以有多个线程。在操作系统中是以进程为单位分配资源,如虚拟存储空间,文件描述符等. 每个线程都有各自的线程栈,自己的寄存器环境,自己的线程本地存储。JVM启动时会创建一个主线程,该]]></description><category></category></item><item><title><![CDATA[Java spring面试题及答案（1~11题）]]></title><link>https://blog.youkuaiyun.com/sixi7762/article/details/125379035</link><guid>https://blog.youkuaiyun.com/sixi7762/article/details/125379035</guid><author>sixi7762</author><pubDate>Mon, 20 Jun 2022 19:05:30 +0800</pubDate><description><![CDATA[1、SpringMVC的工作原理？● 用户向服务器发送请求，请求被springMVC前端控制器DispatchServlet捕获；● DispatcherServle对请求URL进行解析，得到请求资源标识符（URL），然后根据该URL调用HandlerMapping将请求映射到处理器HandlerExcutionChain；● DispatchServlet根据获得Handler选择一个合适的HandlerAdapter适配器处理；● Handler对数据处理完成以后将返回一个ModelAndView对象给]]></description><category></category></item></channel></rss>