<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhang123bl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhang123bl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhang123bl]]></copyright><item><title><![CDATA[Mysql8.+压缩包安装以及注意事项]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/108533443</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/108533443</guid><author>zhang123bl</author><pubDate>Fri, 11 Sep 2020 14:18:11 +0800</pubDate><description><![CDATA[一、Mysql下载

压缩包下载：https://dev.mysql.com/downloads/mysql/

MSI下载：https://dev.mysql.com/downloads/windows/installer/8.0.html

  个人推荐压缩安装，Msi安装如果出现错误，容易安装失败。



二、Mysql安装

2.1、将文件解压到合适的目录下，个人比较喜欢放在D盘，文件夹路径最好纯英文，中文可能出现意想不到的问题。



2.2、配置my.ini文件，只需要配置basedi...]]></description><category></category></item><item><title><![CDATA[二叉树的基本算法]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/107341589</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/107341589</guid><author>zhang123bl</author><pubDate>Tue, 14 Jul 2020 16:48:07 +0800</pubDate><description><![CDATA[二叉树的遍历算法

二叉树的遍历主要分为三种：先序遍历，中序遍历和后序遍历。还有一种就是按照层次遍历。

按照惯例，左孩子优先于右孩子，那么：

先序遍历指的就是先访问本节点，再访问该节点的左孩子和右孩子；

中序遍历指的就是：先访问左孩子，再访问本节点，最后访问右孩子；

后序遍历指的就是：先访问左右孩子，最后访问本节点。

层次遍历：按照树的每一层(高度)进行遍历。





本文的实例代码基于JAVA编写

首先给出节点的数据结构

public class TreeNode {
 int v...]]></description><category></category></item><item><title><![CDATA[Java基础篇 - 强引用、弱引用、软引用和虚引用]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/106924488</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/106924488</guid><author>zhang123bl</author><pubDate>Tue, 23 Jun 2020 15:31:45 +0800</pubDate><description><![CDATA[前言
Java执行GC判断对象是否存活有两种方式其中一种是引用计数。

引用计数：Java堆中每一个对象都有一个引用计数属性，引用每新增1次计数加1，引用每释放1次计数减1。

在JDK 1.2以前的版本中，若一个对象不被任何变量引用，那么程序就无法再使用这个对象。也就是说，只有对象处于(reachable)可达状态，程序才能使用它。

从JDK 1.2版本开始，对象的引用被划分为4种级别，从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为：强引用、软引用、弱引用和虚引用。

正文
(一) ]]></description><category></category></item><item><title><![CDATA[企业架构如何实施的简介（TOGAF深度好文）]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/106658611</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/106658611</guid><author>zhang123bl</author><pubDate>Wed, 10 Jun 2020 09:35:14 +0800</pubDate><description><![CDATA[这是见过的关于企业架构最好的文章，诸君参考之。



本文来自企业架构学院：BangEA：如何实施企业架构？

IT不仅是开展业务的手段，而且正在迅速演变为业务，IT绩效会直接影响企业的盈利能力，但很多企业并没有适时或充分的让IT组织参与业务的规划和决策过程，没有给予在规划和IT决策过程中考虑的安全性、可扩展性、集成问题等IT问题足够的重视。

复杂性驱动改变



传统的应用集成方式存在诸多弊端，仅仅依靠在两个数据库中传递数据或者相互之间调用接口的模式很难解决企业的整体集成问题。无论是在理论上或是实...]]></description><category></category></item><item><title><![CDATA[从企业架构，看TOGAF为什么越来越重要？]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/106649662</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/106649662</guid><author>zhang123bl</author><pubDate>Tue, 09 Jun 2020 20:00:27 +0800</pubDate><description><![CDATA[一、TOGAF简介

1.什么是TOGAF?

“有效的企业架构（Enterprise Architecture，EA）对企业的生存和成功具有决定性的作用，是企业通过IT获得竞争优势的不可缺少的手段。“
本文概述了企业架构及其基本概念（并非IT架构的另一个名称），以及为何需要企业架构的原因，并且对建立企业架构的效益和采取TOGAF（The Open Group

Architecture Framework）企业架构框架达到目标的途径进行了简要概括。

...]]></description><category></category></item><item><title><![CDATA[网络编程之五种IO模型]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/105579666</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/105579666</guid><author>zhang123bl</author><pubDate>Fri, 17 Apr 2020 14:25:01 +0800</pubDate><description><![CDATA[在《Unix网络编程》一书中提到了五种IO模型，分别是：阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。



下面就分别来介绍一下这5种IO模型的异同。



1.阻塞IO模型



　　最传统的一种IO模型，即在读写数据过程中会发生阻塞现象。



　　当用户线程发出IO请求之后，内核会去查看数据是否就绪，如果没有就绪就会等待数据就绪，而用户线程就会处于阻塞状态，用户线程...]]></description><category></category></item><item><title><![CDATA[CommonJS、AMD、CMD的区别]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/105241588</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/105241588</guid><author>zhang123bl</author><pubDate>Wed, 01 Apr 2020 11:23:00 +0800</pubDate><description><![CDATA[看到的关于前端js模块化写的最浅入深处、通俗易懂的文章，适合所有阶段的开发学习。



在JavaScript发展初期就是为了实现简单的页面交互逻辑，寥寥数语即可；如今CPU、浏览器性能得到了极大的提升，很多页面逻辑迁移到了客户端（表单验证等），随着web2.0时代的到来，Ajax技术得到广泛应用，jQuery等前端库层出不穷，前端代码日益膨胀

这时候JavaScript作为嵌入式的脚本语言的...]]></description><category></category></item><item><title><![CDATA[IDEA创建maven多模块项目]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/103728527</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/103728527</guid><author>zhang123bl</author><pubDate>Fri, 27 Dec 2019 11:10:48 +0800</pubDate><description><![CDATA[Idea创建maven多模块很方便，这里用实图来手把手展示一下创建多模块的过程。

1、创建maven解决方案，不要勾选：Create from archetype选项。然后一步一步操作，示例如下





下图是创建好的样子。

然后在解决方案上右击，创建module。然后重复创建父模块的步骤，一步一步如下。如果是被引用的模块，不要勾选：Create from archetype选项。




...]]></description><category></category></item><item><title><![CDATA[nignx入门]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/103714581</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/103714581</guid><author>zhang123bl</author><pubDate>Thu, 26 Dec 2019 14:14:38 +0800</pubDate><description><![CDATA[前言

nginx系列之一：nginx入门nginx系列之二：配置文件解读nginx系列之三：日志配置nginx系列之四：web服务器nginx系列之五： 负载均衡nginx系列之六：cache服务nginx系列之七：限流配置nginx系列之八：使用upsync模块实现负载均衡

转自：在此感谢原博主的整理分享

一、nginx 功能介绍

Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系...]]></description><category></category></item><item><title><![CDATA[JMeter性能测试教程]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/100556746</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/100556746</guid><author>zhang123bl</author><pubDate>Thu, 05 Sep 2019 14:06:49 +0800</pubDate><description><![CDATA[原文转自：https://blog.youkuaiyun.com/lovesoo/article/details/78579547



1. Jmeter介绍

Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言，JMeter小巧轻便且免费，逐渐成为了主流的性能测试工具，是每个测试人员都必须要掌握的工具之一。

本文为JMeter性能测试完整入门...]]></description><category></category></item><item><title><![CDATA[一致性hash原理和讲解]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/99714509</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/99714509</guid><author>zhang123bl</author><pubDate>Mon, 19 Aug 2019 10:22:01 +0800</pubDate><description><![CDATA[一、前言

在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上，这样每台服务器固定处理一部分请求（并维护这些请求的信息），起到负载均衡的作用。

但是普通的余数hash（hash(比如用户id)%服务器机器数）算法伸缩性很差，当新增或者下线服务器机器时候，用户id与服务器的映射关系会大量失效。一致性hash则利用hash环对其进行了改进。

二、一致性Ha...]]></description><category></category></item><item><title><![CDATA[手把手教你选购电脑组件]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/94394317</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/94394317</guid><author>zhang123bl</author><pubDate>Wed, 10 Jul 2019 22:24:53 +0800</pubDate><description><![CDATA[个人原创，版权所有，未经允许转载必究。



很多人都有一个想要组装一台属于自己的台式机的想法，尤其是理工男们，这是一件很cool的事，但是组装一个台式机要面对着繁杂的电脑零部件选材和机箱内密密麻麻的引线引脚，又要比较各种各样的部件和价格，例如cpu的选型，显卡选AMD还是NVIDIA，固态硬盘到底选什么系类，内存条的频率要选多高等等，选材极其繁琐，很多人望而生畏，止步于前，对于新手来说确实要花...]]></description><category></category></item><item><title><![CDATA[索引失效的情况]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/90719436</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/90719436</guid><author>zhang123bl</author><pubDate>Fri, 31 May 2019 17:40:17 +0800</pubDate><description><![CDATA[对于后端开发工程师来说，熟练掌握数据库的极有必要的，灵活使用索引也是必须技能。

但索引并不是时时都会生效的，以下列举出索引失效的原因

随着表的增长，where条件出来的数据太多，是大表的大部分，大于x%（记不清了，比如30%），使得索引失效（会导致CBO计算走索引花费大于走全表，基于cost成本分析(oracle因为走全表成本会更小)）
	没有查询条件，或者查询条件没有建立索引
	索引本身...]]></description><category></category></item><item><title><![CDATA[Clean Code 代码整洁之道]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/90719048</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/90719048</guid><author>zhang123bl</author><pubDate>Fri, 31 May 2019 16:48:03 +0800</pubDate><description><![CDATA[一直想深入看看《CleanCode 代码整洁之道》，增强代码整洁性。看到此文，略有启发，转载以敬之。
作者：JobsandCzj
来源：优快云
原文：https://blog.youkuaiyun.com/jobsandczj/article/details/81369970
版权声明：本文为博主原创文章，转载请附上博文链接！


---------------------

一本非常经典的书，读了...]]></description><category></category></item><item><title><![CDATA[IO多路复用的三种机制Select，Poll，Epoll]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/89881938</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/89881938</guid><author>zhang123bl</author><pubDate>Mon, 06 May 2019 14:31:06 +0800</pubDate><description><![CDATA[I/O多路复用（multiplexing）的本质是通过一种机制（系统内核缓冲I/O数据），让单个进程可以监视多个文件描述符，一旦某个描述符就绪（一般是读就绪或写就绪），能够通知程序进行相应的读写操作


select、poll 和 epoll 都是 Linux API 提供的 IO 复用方式。

相信大家都了解了Unix五种IO模型，不了解的可以 =&gt; 查看这里

[1] blocking...]]></description><category></category></item><item><title><![CDATA[死锁的概念和原因、解决方法]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/89850646</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/89850646</guid><author>zhang123bl</author><pubDate>Sun, 05 May 2019 17:11:04 +0800</pubDate><description><![CDATA[死锁概念和产生原因

死锁是指多个进程循环等待彼此占有的资源而无限期的僵持等待下去的局面。原因是：

系统提供的资源太少了，远不能满足并发进程对资源的需求
	进程推进顺序不合适，互相占有彼此需要的资源，同时请求对方占有的资源，往往是程序设计不合理
死锁产生的必要条件

需要同时具有以下四个条件：

互斥条件：即某个资源在一段时间内只能由一个进程占有，不能同时被两个或两个以上的进程占有
	不可抢占条...]]></description><category></category></item><item><title><![CDATA[史上最全数据库优化方案，没有之一]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/89328935</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/89328935</guid><author>zhang123bl</author><pubDate>Tue, 16 Apr 2019 10:50:02 +0800</pubDate><description><![CDATA[数据库性能调优(转)



SQLServer性能监控

这套性能优化的清单将至少准科学的帮助你找出你的SQLServer任何明显的性能问题。说是这样说，SQLServer的性能调优仍然是很困难的。我试图用这套清单去找出“容易”的sqlserver性能问题，困难的留待稍后。我这样做是因为很容易将容易和困难的的性能调优问题搞混。通过列出一个“容易”的性能调优范围，就很容易的将这些问题解决，一旦解决...]]></description><category></category></item><item><title><![CDATA[png、jpg图片格式的区别及]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/89308484</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/89308484</guid><author>zhang123bl</author><pubDate>Mon, 15 Apr 2019 11:17:08 +0800</pubDate><description><![CDATA[为什么想整理这方面的类容，我觉得就像油画家要了解他的颜料和画布、雕塑家要了解他的石材一样，作为网页设计师也应该对图片格式的特性有一定了解，这样才能更好的表达你的创意和想法。

除此之外，我们在平时工作中也会遇到许多与图片格式相关的问题。比如设计师会奇怪为什么有些页面的产出物总是没法达到设计稿那样的品质和效果，什么样的设 计才更适合Web页面；页面重构师和前端工程师则想知道在切图的时候应采用什么图片...]]></description><category></category></item><item><title><![CDATA[异地多活技术方案介绍]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/84590838</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/84590838</guid><author>zhang123bl</author><pubDate>Wed, 28 Nov 2018 19:31:15 +0800</pubDate><description><![CDATA[
异地多活是什么


 

所谓异地多活，故名思义，就是在不同地点的数据中心起多个我们的交易，并且每个地点的那个交易都是用来支撑流量的。

 

 


异地多活是如何部署的


 

首先来看看阿里对于为什么做这件事儿，毕玄做出的回答：

 

其实我们大概在2009还是2010年左右的时候，就开始尝试在异地去做一个数据中心，把我们的业务放过去。更早之前，我们做过同城，就是在同一个城市建多个数据...]]></description><category></category></item><item><title><![CDATA[从单一WAR到多活, 记述一个创业公司的架构演变]]></title><link>https://blog.youkuaiyun.com/zhang123bl/article/details/84527091</link><guid>https://blog.youkuaiyun.com/zhang123bl/article/details/84527091</guid><author>zhang123bl</author><pubDate>Mon, 26 Nov 2018 10:33:55 +0800</pubDate><description><![CDATA[很火的一篇文章，转载以敬之。https://zhuanlan.zhihu.com/p/27903657

 

程 是一个爱折腾，喜欢交朋友的程序员。

某一天，程一个朋友介绍了另外一个朋友 创 给他，创说他有个点子，可以改变世界，现在就差一个程序员。程看了创的PPT，觉得还不错，反正也没妹子，平时下班回家或者周末也没事干，就答应创，做他的合伙人，给他开发网站。

单一垂直架构

程把他自己在大学...]]></description><category></category></item></channel></rss>