<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lecter_13的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lecter_13</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lecter_13]]></copyright><item><title><![CDATA[一道面试题引发的“血案”]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82871788</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82871788</guid><author>Lecter_13</author><pubDate>Thu, 27 Sep 2018 19:08:37 +0800</pubDate><description><![CDATA[前言

es6之前，js的作用域只有两种，全局作用域和函数作用域，没有像C和java那样的块级作用域，于是对于学了C或者java这类语言的然后学习js的同学来说，会遇到很多坑。js的这个特性导致了代码的可阅读性、维护性和容错性都不太好。因此es6可以用let来申明变量，这种方式申明的变量是只能在块作用域里访问，不能跨块访问，也不能跨函数访问。那么我们在使用let的时候，真的就完全知道它怎么用了吗？...]]></description><category></category></item><item><title><![CDATA[Java并发编程：阻塞队列]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82775813</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82775813</guid><author>Lecter_13</author><pubDate>Wed, 19 Sep 2018 17:45:31 +0800</pubDate><description><![CDATA[本文先讲述一下java.util.concurrent包下提供主要的几种阻塞队列，然后分析了阻塞队列和非阻塞队列的中的各个方法，接着分析了阻塞队列的实现原理，最后给出了一个实际例子和几个使用场景。

　　一.几种主要的阻塞队列

　　二.阻塞队列中的方法 VS 非阻塞队列中的方法

　　三.阻塞队列的实现原理

　　四.示例和使用场景

　　若有不正之处请多多谅解，并欢迎批评指正。

一.几种主要...]]></description><category></category></item><item><title><![CDATA[为什么Java大神，都在看Spring Boot和Spring Cloud的书？]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82764083</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82764083</guid><author>Lecter_13</author><pubDate>Tue, 18 Sep 2018 21:00:37 +0800</pubDate><description><![CDATA[如果你是一名Java开发人员，并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的书籍，那么，你今天就来对地方了。

本文，我们将讨论一些学习Spring Boot和Spring Cloud的最佳书籍，在这之前，我们先来探讨一下，什么是微服务架构以及Spring Boot和Spring Cloud如何帮助开发Java中的微服务。

微服务的基本思想在于考...]]></description><category></category></item><item><title><![CDATA[架构师视角：对JVM架构进行解析]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82715467</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82715467</guid><author>Lecter_13</author><pubDate>Sat, 15 Sep 2018 16:50:01 +0800</pubDate><description><![CDATA[每一个Java 开发人员都知道字节码由JRE (Java运行时环境)执行。但许多人不知道JRE是Java虚拟机(JVM)的实现， 它负责分析字节码、解析并执行代码。作为一个开发人员了解JVM架构是非常重要的，因为它使我们能更高效的编写代码。在这篇文章中我们将更深入了解Java中的JVM架构以及JVM的各个组件。

JVM是什么?

虚拟机 是物理机器的一个软件实现。Java运行在VM上，实现WOR...]]></description><category></category></item><item><title><![CDATA[听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构吧]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82715253</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82715253</guid><author>Lecter_13</author><pubDate>Sat, 15 Sep 2018 16:32:33 +0800</pubDate><description><![CDATA[微服务架构是互联网很热门的话题，是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务，服务之间互相协调、互相配合，为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案，但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路，例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架，但其模式都于这二者相差不大。

微服务主要的优势如下：
...]]></description><category></category></item><item><title><![CDATA[阿里架构设计之初体验，送给准备进阶架构的朋友（个人总结）]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82715066</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82715066</guid><author>Lecter_13</author><pubDate>Sat, 15 Sep 2018 16:17:11 +0800</pubDate><description><![CDATA[1 基本概念和目的



架构设计的目的是为了解决系统复杂度带来的问题，并不是要面面俱到，不需要每个架构都具备高性能、高可用、高扩展等特点，而是要识别出实际业务实际情况的复杂点，然后有有针对性地解决问题，即：有的放矢，而不是贪大求全。 在实际情况中，不一定每个系统都要做架构设计，需要结合实际情况。有时候最简单的设计开发效率反而是最高的，架构设计毕竟要投入时间和人力，这部分投入如果用来尽早编码，项目...]]></description><category></category></item><item><title><![CDATA[2017阿里，百度，京东java面试+笔试大合集，2018的你会吗？]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82705000</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82705000</guid><author>Lecter_13</author><pubDate>Fri, 14 Sep 2018 16:24:48 +0800</pubDate><description><![CDATA[2017阿里，百度，京东java面试+笔试大合集



1、阿里

面试（一二面合集）

1、介绍一下你自己。

2、介绍一下你认为做的最好的一个项目。

3、请用五分钟的时间把你做的项目的流程图画一下。

4、项目中你遇到的难点是什么？怎么解决的？

5、项目中你认为哪个技术是你最拿手的？

6、介绍一下HTTP协议

7、如何把一个大的日志文件哈希到不同的哈希表中，这些哈希表的存储格式是什么？...]]></description><category></category></item><item><title><![CDATA[支付宝架构师眼里的高可用与容灾架构演进]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82665222</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82665222</guid><author>Lecter_13</author><pubDate>Wed, 12 Sep 2018 17:31:06 +0800</pubDate><description><![CDATA[持续可用和快速容灾切换的能力，是技术人员追求的极致目标。在架构设计中，容灾设计强调的是系统对外界环境影响具备快速响应能力，节点级别的快速恢复能力，保障系统的持续可用。

去年12月18日，全球架构师峰会上，阿里巴巴高级系统工程师曾欢（善衡）结合互联网金融业务及系统特性，分享了在支付宝系统架构演进中，每个阶段的高可用和容灾能力建设的解决思路。

高可用和容灾架构的意义

企业服务、云计算、移动互联网...]]></description><category></category></item><item><title><![CDATA[并发经验八年架构师：缓存在高并发场景下该如何问题]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82560237</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82560237</guid><author>Lecter_13</author><pubDate>Sun, 09 Sep 2018 17:23:10 +0800</pubDate><description><![CDATA[ 

缓存一致性问题

当数据时效性要求很高时，需要保证缓存中的数据与数据库中的保持一致，而且需要保证缓存节点和副本中的数据也保持一致，不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时，主动更新缓存中的数据或者移除对应的缓存。



缓存并发问题

缓存过期后将尝试从后端数据库获取数据，这是一个看似合理的流程。但是，在高并发场景下，有可能多个请求并发的去从数据库获取数据...]]></description><category></category></item><item><title><![CDATA[从 Spring Cloud 看一个微服务框架的「五脏六腑」]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82501751</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82501751</guid><author>Lecter_13</author><pubDate>Fri, 07 Sep 2018 19:44:19 +0800</pubDate><description><![CDATA[Spring Cloud 是一个基于 Spring Boot 实现的微服务框架，它包含了实现微服务架构所需的各种组件。

注：Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系，所以本文不对 Spring Boot 进行展开。另外本文有一些例子涉及到 Spring 和 Spring Boot，建议先了解一下 Spring 和 Sp...]]></description><category></category></item><item><title><![CDATA[阿里资深架构师私下峰会：了解这几点，人人皆是优秀架构师]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82463930</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82463930</guid><author>Lecter_13</author><pubDate>Thu, 06 Sep 2018 16:47:28 +0800</pubDate><description><![CDATA[前言：

最近有好多人问我说：“George，怎样才能成为公司里的前线主力架构师，我现在在公式已经干了快五年了，现在还是一个默默无闻的程序员，我也通过很多种渠道来突破我现在瓶疾，但就是走不出来，技术也一直没有突破上去，我真的是没有办法了，通过朋友推荐介绍，说您这里可以解决我的技术瓶疾，所以我想请你帮我突破一下技术方面上的瓶疾。”

你们是否有也有类似这样的问题——“天天写业务代码的程序员，怎么成为...]]></description><category></category></item><item><title><![CDATA[BAT公司“万变不离其宗”架构的演化历程]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82430796</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82430796</guid><author>Lecter_13</author><pubDate>Wed, 05 Sep 2018 21:07:25 +0800</pubDate><description><![CDATA[大型网站的挑战主要来自庞大的用户，高并发的访问和海量数据，任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户，问题就会变得棘手。大型网站架构主要就是解决这类问题。

大型网站系统的特点

高并发，大流量

需要面对高并发用户，大流量访问。Google 日均 PV 35 亿，日 IP 访问数 3 亿；腾讯 QQ 的最大在线用户数 1.4 亿（2011年数据）。

高可用

系统 7 x 2...]]></description><category></category></item><item><title><![CDATA[从MVC框架看MVC架构的设计]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82184439</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82184439</guid><author>Lecter_13</author><pubDate>Wed, 29 Aug 2018 15:51:05 +0800</pubDate><description><![CDATA[前言

 尽管MVC早已不是什么新鲜话题了，但是从近些年一些优秀MVC框架的设计上，我们还是会发现MVC在架构设计上的一些新亮点。本文将对传统MVC架构中的一些弊病进行解读，了解一些优秀MVC框架是如何化解这些问题的，揭示其中所折射出的设计思想与设计理念。

MVC回顾

作为一种经典到不能再经典的架构模式，MVC的成功有其必然的道理，这个道理不同的人会有不同的解读，笔者最认同的一种观点是：通过把...]]></description><category></category></item><item><title><![CDATA[深入解析Spring架构与设计原理-AOP]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82115729</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82115729</guid><author>Lecter_13</author><pubDate>Mon, 27 Aug 2018 17:26:36 +0800</pubDate><description><![CDATA[关于AOP的个人理解 
AOP联盟定义的AOP体系结构把与AOP相关的概念大致分为了由高到低、从使用到实现的三个层次。关于这个体系结构，个人的理解是这样的，从上往下，最高层是语言和开发环境，在这个环境中可以看到几个重要的概念：base可以视为待增强对象，或者说目标对象；aspect指切面，通常包含对于base的增强应用；configuration可以看成是一种编织或者说配置，通过在AOP体系中提供...]]></description><category></category></item><item><title><![CDATA[三条路线告诉你如何掌握Spring IoC容器的核心原理]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82113209</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82113209</guid><author>Lecter_13</author><pubDate>Mon, 27 Aug 2018 15:28:05 +0800</pubDate><description><![CDATA[一、前言

前三篇已经从历史的角度和大家一起探讨了为什么会有Spring，Spring的两个核心概念：IoC和AOP的雏形，Spring的历史变迁和如今的生态帝国。本节的主要目的就是通过一个切入点带大家一起学习一下Spring IoC的核心原理，正如从历史的角度出发讲述为什么会有Spring一样，希望通过这个切入点能让你轻松的掌握住Spring IoC的核心原理。

本篇文章假设你已经可以熟练的使...]]></description><category></category></item><item><title><![CDATA[Spring框架自学之路——简易入门]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82055494</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82055494</guid><author>Lecter_13</author><pubDate>Sat, 25 Aug 2018 21:24:46 +0800</pubDate><description><![CDATA[介绍

Spring框架是个轻量级的Java EE框架。所谓轻量级，是指不依赖于容器就能运行的。Struts、Hibernate也是轻量级的。

轻量级框架是相对于重量级框架而言的，重量级框架必须依赖特定的容器，例如EJB框架就必须运行在Glassfish、JBoss等支持EJB的容器中，而不能运行在Tomcat中。——《Java Web整合开发 王者归来》

Spring以IoC、AOP为主要思...]]></description><category></category></item><item><title><![CDATA[设计模式深入学习---Prototype原型模式]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/82024599</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/82024599</guid><author>Lecter_13</author><pubDate>Fri, 24 Aug 2018 19:50:37 +0800</pubDate><description><![CDATA[今天我们继续来聊下Prototype原型模式。这篇应该是关于工厂设计模式的最后一篇。下次就往内部讲解结构类型的设计模式。

首先我们说下Prototype原型模式的用法。Prototype原型模式主要是用来处理依赖关系的倒置。 比如抽象A类依赖了实现细节B，

 



拿我们上个帖子举例，比如我们的小车依赖于汽油发动机。 但是当我们的小车不使用汽油发动机，改用电动了，那这时候修改起来就比较痛苦了...]]></description><category></category></item><item><title><![CDATA[你真的会写单例模式吗？]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/81986983</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/81986983</guid><author>Lecter_13</author><pubDate>Thu, 23 Aug 2018 20:00:17 +0800</pubDate><description><![CDATA[单例模式可能是代码最少的模式了，但是少不一定意味着简单，想要用好、用对单例模式，还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结，如有错漏之处，恳请读者指正。

饿汉法

顾名思义，饿汉法就是在第一次引用该类的时候就创建对象实例，而不管实际是否需要创建。代码如下：

public class Singleton { 

    private static Singleton = ...]]></description><category></category></item><item><title><![CDATA[设计模式之简单工厂模式]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/81983783</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/81983783</guid><author>Lecter_13</author><pubDate>Thu, 23 Aug 2018 16:47:08 +0800</pubDate><description><![CDATA[Simple Factory Pattern:

Returns different instances based on different parameters.

简单工厂模式：

  简单工厂模式又称为静态工厂方法模式，它是一种类创建型模式。在简单工厂模式中可以根据参数的不同返回不同类的实例。简单工厂模式专门定义了一个类来负责创建其他类的实例，被创建的实例通常都具有共同的父类。

简单工厂...]]></description><category></category></item><item><title><![CDATA[详解 Java 中的三种代理模式]]></title><link>https://blog.youkuaiyun.com/Lecter_13/article/details/81982693</link><guid>https://blog.youkuaiyun.com/Lecter_13/article/details/81982693</guid><author>Lecter_13</author><pubDate>Thu, 23 Aug 2018 16:13:33 +0800</pubDate><description><![CDATA[代理模式

代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.

这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法.

举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明...]]></description><category></category></item></channel></rss>