<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[javaMare的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/javaMare</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; javaMare]]></copyright><item><title><![CDATA[BAT高频面试系列：设计模式+Spring源码+MyBatis+SpringMVC多线程+MySQL+Redis+框架使用+数据结构算法答案和总结...]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/101461706</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/101461706</guid><author>javaMare</author><pubDate>Tue, 27 Aug 2019 15:45:31 +0800</pubDate><description><![CDATA[需要获取BAT高频面试系列：设计模式+Spring源码+MyBatis+SpringMVC多线程+MySQL+Redis+框架使用+数据结构算法答案和总结.pdf的小伙伴们可以加一下架构华山论剑：836442475，进群即可免费获取，群内还会有其它的面试资料以及进阶资料。点此加入

设计模式与6大原则
Design Pattern 代表了最佳的实践，通常被有经验的面向对象的软件开发...]]></description><category></category></item><item><title><![CDATA[突击Java程序员，看看如何完美回答面试官问的Mybatis初始化原理]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/101461720</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/101461720</guid><author>javaMare</author><pubDate>Mon, 26 Aug 2019 20:13:49 +0800</pubDate><description><![CDATA[突击Java程序员，看看如何完美回答面试官问的Mybatis初始化原理

对于任何框架而言，在使用前都要进行一系列的初始化，MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。

MyBatis的初始化做了什么
MyBatis基于XML配置文件创建Configuration对象的过程
手动加载XML配置文件创建Configuration对象完成初...]]></description><category></category></item><item><title><![CDATA[全面解析大数据批处理框架Spring Batch，所谓完美解析方案是什么]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/100024224</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/100024224</guid><author>javaMare</author><pubDate>Wed, 21 Aug 2019 15:57:00 +0800</pubDate><description><![CDATA[如今微服务架构讨论的如火如荼。但在企业架构里除了大量的OLTP交易外，还存在海量的批处理交易。在诸如银行的金融机构中，每天有3-4万笔的批处理作业需要处理。针对OLTP，业界有大量的开源框架、优秀的架构设计给予支撑；但批处理领域的框架确凤毛麟角。是时候和我们一起来了解下批处理的世界哪些优秀的框架和设计了，今天我将以Spring Batch为例，和大家一起探...]]></description><category></category></item><item><title><![CDATA[亿级请求下多级缓存那些事，你全部吃下了吗？]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99782585</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99782585</guid><author>javaMare</author><pubDate>Mon, 19 Aug 2019 21:46:00 +0800</pubDate><description><![CDATA[什么是多级缓存
所谓多级缓存，即在整个系统架构的不同系统层级进行数据缓存，以提升访问效率，这也是应用最广的方案之一。我们应用的整体架构如图1所示：





亿级请求下多级缓存那些事，你全部吃下了吗？

图1 多级缓存方案
文末有福利赠送，如果你感兴趣的话可以去领取架构资料。
整体流程如上图所示：
1）首先接入Nginx将请求负载均衡到应用Nginx，此处...]]></description><category></category></item><item><title><![CDATA[HashMap实现原理：容量、负载因子、hash与定位都搞定了吗？]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99782584</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99782584</guid><author>javaMare</author><pubDate>Mon, 19 Aug 2019 21:04:00 +0800</pubDate><description><![CDATA[HashMap是常考点，而一般不问List的几个实现类(偏简单)。以下基于JDK1.8.0_102分析。

JDK版本：oracle java 1.8.0_102

内部存储
HashMap的内部存储是一个数组（bucket），数组的元素Node实现了是Map.Entry接口(hash, key, value, next)，next非空时指向定位相同的另一...]]></description><category></category></item><item><title><![CDATA[一线互联网公司Java大牛一书带你深入浅出MyBatis技术原理与实战]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99782583</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99782583</guid><author>javaMare</author><pubDate>Mon, 19 Aug 2019 15:22:00 +0800</pubDate><description><![CDATA[写在前面
MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO（Plain Old Java Objects，普通老式 Java 对象）为数据库中的记...]]></description><category></category></item><item><title><![CDATA[程序员注意了，带你鸟瞰 Java 中4款常用的并发框架]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99618649</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99618649</guid><author>javaMare</author><pubDate>Wed, 14 Aug 2019 11:33:00 +0800</pubDate><description><![CDATA[程序员注意了，带你鸟瞰 Java 中4款常用的并发框架

为什么要写这篇文章
几年前 NoSQL 开始流行的时候，像其他团队一样，我们的团队也热衷于令人兴奋的新东西，并且计划替换一个应用程序的数据库。 但是，当深入实现细节时，我们想起了一位智者曾经说过的话：“细节决定成败”。最终我们意识到 NoSQL 不是解决所有问题的银弹，而 NoSQL vs...]]></description><category></category></item><item><title><![CDATA[作为一名Java程序员，如何做到不接私活也能月薪38k？]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99618648</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99618648</guid><author>javaMare</author><pubDate>Wed, 14 Aug 2019 10:41:00 +0800</pubDate><description><![CDATA[接私活 对程序员这个圈子来说是一个既公开又隐私的话题，不说全部，应该大多数程序员都有过想要接私活的想法，当然，也有部分得道成仙的不主张接私活。但是很少有人在公开场合讨论私活的问题，似乎都在避嫌。就跟有人下班后跑滴滴一样，程序员私有时间接点活挣点钱不也很正常么，不过不要在上班时间就行，就跟你上班期间出去跑滴滴一样。

但是我是不建议接私活的，接私活会浪费自己...]]></description><category></category></item><item><title><![CDATA[我们总是被贴上「爱跳槽」标签，程序员到底什么时候该考虑辞职？]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99498420</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99498420</guid><author>javaMare</author><pubDate>Tue, 13 Aug 2019 14:58:00 +0800</pubDate><description><![CDATA[我们总是被贴上「爱跳槽」标签，程序员到底什么时候该考虑辞职？

很多人想要辞职但是因为怕被贴上「爱跳槽」的标签而裹足不前。从我观察的结果来看，很多程序员趋向于为了所谓的「声誉」而呆在老公司，但是在后期将两者相比较，「呆在老公司」的程序员处理问题的经验和职业发展前景远远不如那些频繁跳槽的。正如我以前曾经说过，有的公司甚至非常愿意在岗位上看到一些积极...]]></description><category></category></item><item><title><![CDATA[JAVA架构技术演进，阿里架构师到底有多牛逼？]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99361737</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99361737</guid><author>javaMare</author><pubDate>Mon, 12 Aug 2019 17:17:00 +0800</pubDate><description><![CDATA[V1.0拥抱架构师





JAVA架构技术演进，阿里架构师到底有多牛逼？

V2.0拥抱微服务





JAVA架构技术演进，阿里架构师到底有多牛逼？

V3.0拥抱互联网实战





JAVA架构技术演进，阿里架构师到底有多牛逼？

Spring全家桶
Spring框架/Boot框架/微服务





JAVA架构技术演进，阿里架构师到底有多牛逼...]]></description><category></category></item><item><title><![CDATA[周一福利！分享Nginx实战——取代Apache的高性能Web服务器]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99361735</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99361735</guid><author>javaMare</author><pubDate>Mon, 12 Aug 2019 13:54:00 +0800</pubDate><description><![CDATA[周末福利！分享Nginx实战——取代Apache的高性能Web服务器

众所周知，Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器，同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点（俄文：Рамблер）开发的，第一个公开版本0.1.0发布于20...]]></description><category></category></item><item><title><![CDATA[超全面详解Java开发环境搭建（看完收藏）]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99361732</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99361732</guid><author>javaMare</author><pubDate>Mon, 12 Aug 2019 11:08:00 +0800</pubDate><description><![CDATA[在项目产品开发中，开发环境搭建是软件开发的首要阶段，也是必须阶段，只有开发环境搭建好了，方可进行开发，良好的开发环境搭建，为后续的开发工作带来极大便利。
对于大公司来说，软件开发环境搭建工作一般是由运维来做，然而，对于小公司来说，这个工作就交给开发人员来做了，如开发经理。不管这个工作是交给运维人员做，还是
交给开发人员做，能确定的是：做这件事的人，一定是个...]]></description><category></category></item><item><title><![CDATA[阿里架构师用心整理JVM与性能优化核心知识分享]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99135373</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99135373</guid><author>javaMare</author><pubDate>Sat, 10 Aug 2019 17:02:00 +0800</pubDate><description><![CDATA[QQ截图20190810153954.png

JVM是Java Virtual Machine（Java 虚拟机）的缩写，JVM是一种用于计算设备的规范，它是一个虚构出来的计算机，是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要...]]></description><category></category></item><item><title><![CDATA[Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/99135372</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/99135372</guid><author>javaMare</author><pubDate>Sat, 10 Aug 2019 10:00:00 +0800</pubDate><description><![CDATA[Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper

Redis集群架构





Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper

【课程介绍】
Redis是现在使用为广泛的NoSQL数据库技术，其自身不仅拥有着良好的操作性能，也被广泛的应用于各种集群架构的数据整合处理...]]></description><category></category></item><item><title><![CDATA[25岁北漂程序员，如果不想35 岁被淘汰，请把它当成一种信仰]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/98682280</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/98682280</guid><author>javaMare</author><pubDate>Tue, 06 Aug 2019 16:35:00 +0800</pubDate><description><![CDATA[25岁，一个北漂程序员，入职三年，Java中级工程师，月薪15k，965的工作经常干成996，比起老家的同龄人，我拥有一份不错的薪水，但是想在北京安家，梦想似乎遥不可及。





image

北京大概一年有5万人加入IT行业，这些人和你一起抢饭碗，你随时可能被淘汰掉。
现实中的你，没办法谈恋爱，没有朋友，没房没车没钱，似乎得不到任何人的认可，每天坐着单...]]></description><category></category></item><item><title><![CDATA[Sharding-JDBC教程：Spring Boot整合Sharding-JDBC实现数据分表+读写分离]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/98682279</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/98682279</guid><author>javaMare</author><pubDate>Tue, 06 Aug 2019 09:55:00 +0800</pubDate><description><![CDATA[读写分离
在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的读写分离。读写分离的好处就是在并发量比较大的情况下，将查询数据库的压力 分担到多个从库中，能够满足高并发的要求。比如上一篇实现的那样，架构图如下：





image

数据分表
当数据量比较大的时候，比如单个表的数据量超过了500W的数据，这时可以考虑将数据存储在不同的表中。比如将...]]></description><category></category></item><item><title><![CDATA[创业公司技术总监，自信满满面试上市公司，结果不期而然]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/98542321</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/98542321</guid><author>javaMare</author><pubDate>Mon, 05 Aug 2019 16:13:00 +0800</pubDate><description><![CDATA[1、先来个故事主人公介绍

这是我朋友的故事，以第一人称来介绍

首先，大概介绍下自己，后端开发8年，头两年用.NET，之后用Python至今，大概六年。
大概工作到第三年的时候，就开始兼着任管理职位。工作地点是在一个三、四线的沿海城市，本地IT业不发达，公司规模普遍偏小，对技术要求不高，但需要较为全面的人才。
而我长时间在这样的氛围下工作，慢慢也成长为一...]]></description><category></category></item><item><title><![CDATA[作为一名程序员，谁没跳过槽，“6”招让你“空降”大厂]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/97839836</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/97839836</guid><author>javaMare</author><pubDate>Tue, 30 Jul 2019 21:45:00 +0800</pubDate><description><![CDATA[作为一名程序员，谁没跳过槽，“6”招让你“空降”大厂

作为一名程序员，没有谁没跳过槽
撇开在跳槽时对所“空降”的企业所需要的行业知识知根知底而“得心应手”，从而“稳定”外，其他人可能或多或少都有过因“不适应”新单位环境而又被迫再离开的厄运，以至于在再“找工作”时因为不能“骑马选马”而每况日下！

有32.98%的开发者在过去一年（2013）中曾...]]></description><category></category></item><item><title><![CDATA[最近很火的MySQL：抛开复杂的架构设计，MySQL优化思想基本都在这]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/97839833</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/97839833</guid><author>javaMare</author><pubDate>Tue, 30 Jul 2019 21:38:00 +0800</pubDate><description><![CDATA[优化一览图





image

优化





image

笔者将优化分为了两大类：软优化和硬优化。软优化一般是操作数据库即可；而硬优化则是操作服务器硬件及参数设置。
1、软优化
1）查询语句优化
首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。
例:
&lt;pre style="margin: 0p...]]></description><category></category></item><item><title><![CDATA[三千字讲清TypeScript与React的实战技巧]]></title><link>https://blog.youkuaiyun.com/javaMare/article/details/97441344</link><guid>https://blog.youkuaiyun.com/javaMare/article/details/97441344</guid><author>javaMare</author><pubDate>Fri, 26 Jul 2019 21:18:00 +0800</pubDate><description><![CDATA[很多时候虽然我们了解了TypeScript相关的基础知识，但是这不足以保证我们在实际项目中可以灵活运用，比如现在绝大部分前端开发者的项目都是依赖于框架的，因此我们需要来讲一下React与TypeScript应该如何结合运用。
如果你仅仅了解了一下TypeScript的基础知识就上手框架会碰到非常多的坑（比如笔者自己），如果你是React开发者一定要看过本文...]]></description><category></category></item></channel></rss>