<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Busquets5的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Busquets5</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Busquets5]]></copyright><item><title><![CDATA[从3000元月薪码农到首席架构师的经历]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/52536400</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/52536400</guid><author>Busquets5</author><pubDate>Wed, 14 Sep 2016 11:34:04 +0800</pubDate><description><![CDATA[编者按：本文是杨武明在高可用架构群新年聚会暨架构开源研讨会上的演讲。转载请注明来自高可用架构公众号「ArchNotes」。





杨武明，熊猫 TV 首席架构师，曾担任奇虎 360 PC 网游技术架构负责人，前新浪微博平台资深后端开发、技术专家。对大型互联网架构有丰富的实践经验，擅长后端基础服务与组件开发，尤其高性能、高并发、大数据业务场景。





“在微博平台，有]]></description><category></category></item><item><title><![CDATA[身为码农，为12306说两句公道话]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/52536257</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/52536257</guid><author>Busquets5</author><pubDate>Wed, 14 Sep 2016 11:26:41 +0800</pubDate><description><![CDATA[作者：作者：西西河
 - 代码狗（写于 2014年1月）

链接：http://www.cchere.com/topic/3965719

本文可能观点有争议，仅供参考





我曾在淘宝写过一段时间代码，2012年在一家百强民企做电商副总，当时在极为艰苦的条件下带队开发了一个B2C网站，走支付宝和银联支付通道，年营业额千万级（当然实在太少了，我只是说这个网站投入了实际的运]]></description><category></category></item><item><title><![CDATA[类和对象运行时在内存里是怎么样的？各种变量、方法在运行时是怎么交互的？]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774236</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774236</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:49:18 +0800</pubDate><description><![CDATA[在回答这个问题之前先了解一下Java的一些基础知识。
我们知道Java程序运行在虚拟机环境里，那我们先看一下虚拟机的大致内存结构。如下图所示，虚线框为整个虚拟机内存区域，其中有颜色的区域为Java程序所占的内存区域。



图中可见Java程序所占的内存区域可划分成5个部分：程序计数器、虚拟机栈（线程栈）、本地方法栈、堆（heap）和方法区（内含常量池）。其中方法区和堆由所有线程共享。]]></description><category></category></item><item><title><![CDATA[这应该是迄今为止最全的一份Java就业指导书]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774186</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774186</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:44:46 +0800</pubDate><description><![CDATA[想要成为合格的Java程序员或工程师到底需要具备哪些专业技能，面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容，也可以作为面试的时候跟面试官聊的东西，你可以把这些内容写到你的简历中，当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮]]></description><category></category></item><item><title><![CDATA[JVM内存回收对象及引用分析]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774171</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774171</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:43:38 +0800</pubDate><description><![CDATA[自动垃圾回收是Java相较于C++的一个重要的特点，想了解JVM的垃圾回收机制，首先我们要知道垃圾回收是回收什么地方的垃圾，我在我的上一篇博客《JVM内存区域划分》里面有写到JVM里面的内存是怎么分布的，这里的回收主要是指对上文中提到的Java堆和方法区的内存的回收。

什么样的对象可以被回收

知道了回收哪里的内存之后，我们还需要知道什么样的对象是可以被回收，或者说是需要被回收的，这些对]]></description><category></category></item><item><title><![CDATA[Java编程性能优化一些事儿]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774159</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774159</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:42:41 +0800</pubDate><description><![CDATA[1. 尽量在合适的场合使用单例


使用单例可以减轻加载的负担，缩短加载的时间，提高加载的效率，但并不是所有地方都适用于单例，简单来说，单例主要适用于以下三个方面：

第一，控制资源的使用，通过线程同步来控制资源的并发访问；

第二，控制实例的产生，以达到节约资源的目的；

第三，控制数据共享，在不建立直接关联的条件下，让多个不相关的进程或线程之间实现通信。

2. 尽量避免]]></description><category></category></item><item><title><![CDATA[为什么看起来不是很复杂的网站，淘宝、腾讯却需要大量顶尖高手来开发？]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774143</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774143</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:40:59 +0800</pubDate><description><![CDATA[来源：知乎
链接：http://www.zhihu.com/question/20303645




为什么很多看起来不是很复杂的网站，比如 Facebook 需要大量顶尖高手来开发？




子柳：

就拿淘宝来说说，当作给新人一些科普。




▼先说你看到的页面上，最重要的几个：




【搜索商品】这个功能，如果你有几千条商品，完全可以用se]]></description><category></category></item><item><title><![CDATA[Java知识图谱收集整理]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774129</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774129</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:40:00 +0800</pubDate><description><![CDATA[平时看到不错的图谱的时候会习惯性的保存收集，今天一看电脑，发现还有蛮多的，所以先把Java知识图谱分享出来，如果能帮助到Java学习者，那是最好不过的了。




 1、Java学习路径1 


Java研发工程师.png




我想很多人看到这个路径可能会问我在哪里可以学习，所以就先附上这条路径的学习地址吧，这也是这张图片的来源，愿意学习的可以去看看：Java研发工程]]></description><category></category></item><item><title><![CDATA[假如时光能够倒流， 我会这么学习Java]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774115</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774115</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:38:03 +0800</pubDate><description><![CDATA[回头看看， 我进入Java 领域已经快15个年头了， 虽然学的也一般， 但是分享下我的心得，估计也能帮大家少走点弯路。



 入门




我在2001年之前是C/C++阵营， 有C和面向对象的基础， 后来转到Java ，发现没有指针的Java真是好简单，
 另外Java 的类库好用的让人哭啊。





后来我就看《Thinking
 in Java》 ,《 ]]></description><category></category></item><item><title><![CDATA[互联网行业的HR怎么看待30岁以上的基础岗位求职者]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51774095</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51774095</guid><author>Busquets5</author><pubDate>Tue, 28 Jun 2016 10:35:51 +0800</pubDate><description><![CDATA[问题：互联网行业的
 HR 怎么看待三十岁以上的基础岗位求职者？



互联网就是一个年轻人为主力军的行业，一批批的年轻人在这个战场上奋勇战斗。




如果你是互联网行业的HR，你会选择30岁以上甚至于接近40岁的求职者吗？是会看中30岁以上求职者的经验和阅历，还是忧虑他们的精力和创意可能跟不上潮流呢？之前看到有大神说，如果一个人到了三十多岁还碌碌无为需要通过普通手段求职的话]]></description><category></category></item><item><title><![CDATA[大型网站的架构演化，发展历程]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584367</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584367</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:50:17 +0800</pubDate><description><![CDATA[今天开始读《大型网站技术架构：核心原理与案例分析》，觉得这本书将的全面而又通俗易懂，有兴趣的同学可以看一看。下面对大型网站的架构演化，发展历程做了整理，小伙伴们一起来学习一下。 


传统企业应用面对的挑战：复杂，千变万化的业务逻辑。（功能性需求） 
大型网站面对的挑战：处理超大量的用户访问和海量的数据处理。（非功能性需求）

网站核心架构要素：性能，可用性，伸缩性，扩展性，安全性
]]></description><category></category></item><item><title><![CDATA[Java内存模型深度解读]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584361</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584361</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:48:46 +0800</pubDate><description><![CDATA[Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型，因此这个模型自然也包含一个内存模型——又称为Java内存模型。

如果你想设计表现良好的并发程序，理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的共享变量的值，以及在必须时如何同步的访问共享变量。

原始的Java内存模型存在一些不足，]]></description><category></category></item><item><title><![CDATA[游戏编程十年总结]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584347</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584347</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:47:25 +0800</pubDate><description><![CDATA[自敲第一行代码起，已经十年多了，今天既不是十年整的日子，也不是一个有特定意义的日子，本来像这种大总结的文章，当择良辰吉日，斋戒沐浴三日，方可动笔。一开始计划是写一篇五年总结的，但各种原因一拖再拖，于是就变成了十年总结。光阴似箭，时不我待，转眼已经在奔三的路上了，离大叔的称呼很近了，但离大神的称呼还很远，在此谨以此文总结反思这十年技术生涯的点滴，与诸君共勉。

编程之前

大概是读初一的时候]]></description><category></category></item><item><title><![CDATA[以生活例子说明单线程与多线程]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584332</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584332</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:46:00 +0800</pubDate><description><![CDATA[1. 程序设计的目标

在我看来单从程序的角度来看，一个好的程序的目标应该是性能与用户体验的平衡。当然一个程序是否能够满足用户的需求暂且不谈，这是业务层面的问题，我们仅仅讨论程序本身。围绕两点来展开，性能与用户体验。

性能：高性能的程序应该可以等同于CPU的利用率，CPU的利用率越高(一直在工作，没有闲下来的时候)，程序的性能越高。
体验：这里的体验不只是界面多么漂亮，功能多么顺手，这]]></description><category></category></item><item><title><![CDATA[JAVA回调机制(CallBack)详解]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584329</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584329</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:45:20 +0800</pubDate><description><![CDATA[序言

最近学习java，接触到了回调机制(CallBack)。初识时感觉比较混乱，而且在网上搜索到的相关的讲解，要么一言带过，要么说的比较单纯的像是给CallBack做了一个定义。当然了，我在理解了回调之后，再去看网上的各种讲解，确实没什么问题。但是，对于初学的我来说，缺了一个循序渐进的过程。此处，将我对回调机制的个人理解，按照由浅到深的顺序描述一下，如有不妥之处，望不吝赐教！

开始之]]></description><category></category></item><item><title><![CDATA[我对“Hello World”30年的爱恨情仇]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584323</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584323</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:44:15 +0800</pubDate><description><![CDATA[我最近在4月1日的那一周休了一个假，因此有时间来回顾我的职业生涯。令我震惊的是，我已经写了近30年的代码了！于是，我决定好好利用这段额外的休息时间来创作一篇怀旧的帖子，回顾在过去近30年时间中我工作过的编程语言。向我从“Hello, World”开始学习新语言的30年致敬。

我学习的第一种编程语言是TI BASIC，BASIC专门为微软TI 99 / 4A microcomputer而编写的]]></description><category></category></item><item><title><![CDATA[七年阿里老人谈新人成长]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584308</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584308</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:42:34 +0800</pubDate><description><![CDATA[作者加入阿里已近7年，常为新人解答疑问，在诸多答案中，他将最有价值的总结于此。作者说，解答或许不一定都对，但却是真心话。有些事自己也不一定实践得好，他也在学习中，但要先具备这种意识才行。




先做事再做人




新同学常有这些困惑，到底是做技术还是做业务？是每天加班加点写代码还是空点时间来看书学习？是先追求广度还是先钻研一门技术？是两耳不闻窗外事一心埋头做事还是和同事打成]]></description><category></category></item><item><title><![CDATA[Java虚拟机体系结构，你知道吗？]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584289</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584289</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:40:46 +0800</pubDate><description><![CDATA[1 概述

众所周知，Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成，它为纯Java程序提供了统一的编程接口，而不管下层操作系统是什么。正是得益于Java虚拟机，它号称的“一次编译，到处运行”才能有所保障。

1.1 Java程序执行流程

Java程序的执行依赖于编译环境和运行环境。源码代码转变成可执行的机器代码，由下面的流程完成：]]></description><category></category></item><item><title><![CDATA[面试感悟：3年工作经验程序员应有的技能]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584248</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584248</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:31:45 +0800</pubDate><description><![CDATA[前言

因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结，因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的，当然因为LZ本身是做Java开发的，因此有一部分内容也是专门面向咱们Java程序员的。

简单先说一下，LZ坐标杭州，13届本科毕业，算上年前在阿里巴巴B2B事业部的面试，一共有面试了有6家公司（因为LZ不想请假，因此只是每个晚上去其他公司面试，所以面试的公司比]]></description><category></category></item><item><title><![CDATA[8张图理解Java]]></title><link>https://blog.youkuaiyun.com/Busquets5/article/details/51584243</link><guid>https://blog.youkuaiyun.com/Busquets5/article/details/51584243</guid><author>Busquets5</author><pubDate>Sat, 04 Jun 2016 14:30:23 +0800</pubDate><description><![CDATA[一图胜千言，下面图解均来自Program Creek 网站的Java教程，目前它们拥有最多的票选。如果图解没有阐明问题，那么你可以借助它的标题来一窥究竟。

1、字符串不变性

下面这张图展示了这段代码做了什么




2、equals()方法、hashCode()方法的区别

HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于：
]]></description><category></category></item></channel></rss>