<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a3959678的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a3959678</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a3959678]]></copyright><item><title><![CDATA[还记得面试时被算法支配的恐惧吗？]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/104630991</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/104630991</guid><author>a3959678</author><pubDate>Tue, 03 Mar 2020 13:40:19 +0800</pubDate><description><![CDATA[面试造火箭，上班拧螺丝


大多数程序员心里会想"总结的真精辟"，当面试到算法时，各种“跪”、“再跪”、“还是跪”......，多少人因为算法而拿不到心仪的offer，算法毁一生啊。

智力面试时代

现在算法已经成为大厂面试的重中之重，甚至一些国外的大厂只面试算法，为什么会这样呢？其实在早期，也就是微软当老大的时候，大厂面试最爱考“智力题”，比如：

井盖为什么是圆的？
	如何用3升和5升桶量...]]></description><category></category></item><item><title><![CDATA[写了10年的代码，我最怕写Mybatis这些配置，现在有详解了]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/104622110</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/104622110</guid><author>a3959678</author><pubDate>Mon, 02 Mar 2020 22:42:38 +0800</pubDate><description><![CDATA[在使用mybatis过程中， 当手写JavaBean和XML写的越来越多的时候， 就越来越同意出错。这种重复性的工作， 我们当然不希望做那么多。

还好，mybatis为我们提供了强大的代码生成--MybatisGenerator。

通过简单的配置， 我们就可以生成各种类型的实体类， Mapper接口， MapperXML文件， Example对象等。通过这些生成的文件， 我们就可以...]]></description><category></category></item><item><title><![CDATA[JDK1.6 对 synchronized 的锁优化]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/100097620</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/100097620</guid><author>a3959678</author><pubDate>Tue, 27 Aug 2019 13:03:26 +0800</pubDate><description><![CDATA[1. 背景

在 JDK 1.6 中对锁的实现引入了大量的优化。

目的

减少锁操作的开销。

2. 锁优化

在看下面的内容之间，希望大家对 Mark Word 有个大体的理解。Java 中一个对象在堆中的内存结构是这样的：



Mark Word 是这样的：



2.1 适应性自旋锁

自旋锁的思想：让一个线程在请求一个共享数据的锁时执行忙循环（自旋）一段时间，如果在这段时间内能获得锁，...]]></description><category></category></item><item><title><![CDATA[通知神器——java调用钉钉群自定义机器人]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/100063666</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/100063666</guid><author>a3959678</author><pubDate>Sun, 25 Aug 2019 15:33:22 +0800</pubDate><description><![CDATA[创建群自定义机器人

在指定钉钉群（或者随便拉两个人建个群，然后把别人T出去）的群设置里选择 群机器人 -&gt; 自定义，如图：

然后，添加机器人，设置名字，添加成功时如下图：

其中webhook非常重要，下文详述。点击设置说明可以看相关使用文档，文档链接见本文末尾。

使用HTTP POST请求发送消息

直接向上文所述的webhook链接发送POST请求已达到自定义机器人向群内发消息的功...]]></description><category></category></item><item><title><![CDATA[Mac安装Navicat]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/100043317</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/100043317</guid><author>a3959678</author><pubDate>Fri, 23 Aug 2019 17:35:10 +0800</pubDate><description><![CDATA[下载地址

Mac版 Navicat Premium 12 v12.0.23.0 官网下载地址：

英文64位 http://download.navicat.com/download/navicat120premiumen.dmg中文简体64位 http://download.navicat.com/download/navicat120premiumcs.dmg


注意：我没有下载最新版本的...]]></description><category></category></item><item><title><![CDATA[Springboot源码分析之EnableAspectJAutoProxy]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/100042832</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/100042832</guid><author>a3959678</author><pubDate>Fri, 23 Aug 2019 17:18:35 +0800</pubDate><description><![CDATA[Spring Framwork的两大核心技术就是IOC和AOP，AOP在Spring的产品线中有着大量的应用。如果说反射是你通向高级的基础，那么代理就是你站稳高级的底气。AOP的本质也就是大家所熟悉的CGLIB动态代理技术，在日常工作中想必或多或少都用过但是它背后的秘密值得我们去深思。本文主要从Spring AOP运行过程上，结合一定的源码整体上介绍Spring AOP的一个运行过程。知其然，知其...]]></description><category></category></item><item><title><![CDATA[新手如何学JAVA呢]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99726239</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99726239</guid><author>a3959678</author><pubDate>Mon, 19 Aug 2019 14:32:30 +0800</pubDate><description><![CDATA[如果您是java的初学者，最想知道的莫过于如何才能学好java。以下是我的几点建议。
1.奠定java的语法基础
 学习java的第一步，就是学会使用java这个程序语言来编写程序，而学习程序语言的第一步就是熟悉其语法的使用。程序语言就是一门语言，所不同的是这 种语言是用来与计算机沟通的，所以若要熟悉语言，使用的方法莫过于多看别人写的程序，了解别人是如何使用java来解决问题的，然后针对同样的...]]></description><category></category></item><item><title><![CDATA[浅谈Java SE、Java EE、Java ME三者的区别]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99686084</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99686084</guid><author>a3959678</author><pubDate>Fri, 16 Aug 2019 21:46:17 +0800</pubDate><description><![CDATA[1. Java SE（Java Platform，Standard Edition）。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类，并为 Java Platform，Enterprise Edition（Java EE）提供基础。

2. Java EE（Java P...]]></description><category></category></item><item><title><![CDATA[在tomcat中配置JNDI数据源]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99680405</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99680405</guid><author>a3959678</author><pubDate>Fri, 16 Aug 2019 16:12:29 +0800</pubDate><description><![CDATA[在tomcat5.0中配置数据源（全局数据源、局部数据源），通过连接池机制连接数据库

1. odbc-jdbc桥连

2. 通过加载本地驱动连接

3. 在web应用服务器中设置数据源，通过池接技术连接数据库(加载本地驱动)

4. 在框架中设置数据源，通过内置连接池或者集成外部连接池与数据库交互



Tomcat全局数据源的设置：

1. 启动tom...]]></description><category></category></item><item><title><![CDATA[你真的懂 Java 的内存管理和引用类型优化吗？]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99657396</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99657396</guid><author>a3959678</author><pubDate>Thu, 15 Aug 2019 21:50:03 +0800</pubDate><description><![CDATA[对于 Java 程序员来说，在 Java 虚拟机自动内存管理机制的帮助下，不再需要为每一个 new 操作去写对应的 delete/free 代码，不容易出现内存泄露和内存溢出的问题。不过，也正是因为 Java 程序员把内存控制的权力交给了 Java 虚拟机，一旦出现内存泄露和内存溢出的问题，如果不了解虚拟机是怎样使用内存的，那么排查错误将会非常艰难。

本文将会对 Java 的内存管理以及四种引用...]]></description><category></category></item><item><title><![CDATA[什么是Kafka呢？]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99643538</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99643538</guid><author>a3959678</author><pubDate>Thu, 15 Aug 2019 16:51:01 +0800</pubDate><description><![CDATA[【前情提要】最近在gayhub上面得到一个开源项目，遂准备研究一下源码，当然第一步就是要把项目运行起来。然后看了一下技术栈，发现包管理工具是使用yarn，以前也听说过yarn但是也没有具体使用过，只知道是facebook发布的包管理程序。

1、安装

1.下载node.js，使用npm安装


npm install -g yarn 
查看版本：yarn --version


2.安装node...]]></description><category></category></item><item><title><![CDATA[Mysql无法启动情况下，如何恢复数据呢？]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99579198</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99579198</guid><author>a3959678</author><pubDate>Wed, 14 Aug 2019 16:12:38 +0800</pubDate><description><![CDATA[本文适用于，mysql无法启动，但数据文件未丢失的情况。

Mysql因意外情况，导致无法启动，数据库未做备份的情况下，如何将数据迁移至其他数据库中。

原数据库地址：192.168.1.100（以下简称A服务器）

新数据库地址：192.168.2.100（以下简称B服务器）

数据恢复流程：

进入A服务器，输入命令cat /etc/my.cnf(如文件不在当前位置，可使用find / -...]]></description><category></category></item><item><title><![CDATA[Kafka快速入门解析]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99578172</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99578172</guid><author>a3959678</author><pubDate>Wed, 14 Aug 2019 16:01:36 +0800</pubDate><description><![CDATA[参考官网：http://kafka.apache.org/quickstart
一、下载Kafka
官网下载地址http://kafka.apache.org/downloads
截至2019年7月8日 最新版本为 2.3.0 2.12为编译的scala版本 2.3.0为kafka版本
Scala 2.12 - kafka_2.12-2.3.0.tgz (asc, sha512)
解压


ta...]]></description><category></category></item><item><title><![CDATA[Docker上快速配置PerconaXtraDBCluster集群]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99486525</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99486525</guid><author>a3959678</author><pubDate>Tue, 13 Aug 2019 22:40:19 +0800</pubDate><description><![CDATA[在Docker上快速配置PerconaXtraDBCluster集群



创建Docker内部网络

# Docker创建内部网络 Create network

$ docker network create pxc-network



创建多个PXC节点

# 初始化第一个节点 Init First node:

$ docker run -d \

-e MYSQL_RO...]]></description><category></category></item><item><title><![CDATA[Mac下Flutter 安装与配置]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99485769</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99485769</guid><author>a3959678</author><pubDate>Tue, 13 Aug 2019 22:33:57 +0800</pubDate><description><![CDATA[Mac下Flutter 安装与配置

关于Flutter的安装其实超级简单，不想看此文的可以直接跳官网

这篇主要是简单版的Flutter安装配置，写了：

Flutter 安装
	环境变量配置
	Flutter vscode 配置
	Flutter new Demo and run
Flutter 安装

准备：首先在你的Mac上必须还有700M的空间（下载的SDK有600M）、并且有一个She...]]></description><category></category></item><item><title><![CDATA[深入理解Java虚拟机笔记]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99484976</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99484976</guid><author>a3959678</author><pubDate>Tue, 13 Aug 2019 22:27:32 +0800</pubDate><description><![CDATA[深入理解Java虚拟机笔记---底层原理分析与性能优化



文末彩蛋福利

# 概念

虚拟机：指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ，是物理机的软件实现。常用的虚拟机有VMWare，Visual Box，Java Virtual Machine（Java虚拟机，简称JVM）。



Java虚拟机阵营：Sun HotSpot VM、BEA JRo...]]></description><category></category></item><item><title><![CDATA[深入Java -JVM 内存管理]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99345148</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99345148</guid><author>a3959678</author><pubDate>Mon, 12 Aug 2019 22:02:07 +0800</pubDate><description><![CDATA[一.综述

如果你学过C或者C++，那么你应该感受过它们对内存那种强大的掌控力。但是强大的能力往往需要更强大的控制力才能保证能力不被滥用，如果滥用C/C++的内存管理那么很容易出现指针满天飞的情况，不出问题还好，一出问题debug起来简直让人头疼得不要不要的。借用一句话，“指针一时爽，重构火葬场”。

而对java程序员来说，则没有这样的烦恼，因为java直接将内存管理交由jvm来管理，这样程序员...]]></description><category></category></item><item><title><![CDATA[SpringBoot:如何优雅地处理全局异常]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99344323</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99344323</guid><author>a3959678</author><pubDate>Mon, 12 Aug 2019 21:54:28 +0800</pubDate><description><![CDATA[之前用springboot的时候，只知道捕获异常使用try{}catch，一个接口一个try{}catch，这也是大多数开发人员异常处理的常用方式，虽然屡试不爽，但会造成一个问题，就是一个Controller下面，满屏幕的try{}catch，看着一点都不优雅，一点都不符合小明的气质，憋了这么久，小明今天终于决定对所有异常实施统一处理的方案。


开发准备

JDK8、正常的springboot...]]></description><category></category></item><item><title><![CDATA[Mac安装Homebrew]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99343289</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99343289</guid><author>a3959678</author><pubDate>Mon, 12 Aug 2019 21:49:21 +0800</pubDate><description><![CDATA[最近小明刚换置了一个 Mac 本，想搭建一个属于自己的博客网站，需要用到 Node.js 环境，而Node.js 在 MacOS 中是由 Homebrew 进行安装管理的……因此，便有了Homebrew的安装历程。


什么是Homebrew?

简而言之，Homebrew是Mac Os的包管理工具，相当于Redhat Linux(Centos/RHEL/Fedora)的yum或者D...]]></description><category></category></item><item><title><![CDATA[hadoop安装解决秘籍]]></title><link>https://blog.youkuaiyun.com/a3959678/article/details/99203005</link><guid>https://blog.youkuaiyun.com/a3959678/article/details/99203005</guid><author>a3959678</author><pubDate>Sun, 11 Aug 2019 16:31:43 +0800</pubDate><description><![CDATA[1、故障现象


Microsoft Windows [版本 10.0.18362.239]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\Chirius&gt;hadoop version
系统找不到指定的路径。
Error: JAVA_HOME is incorrectly set.
       Please update C:\dhc_h...]]></description><category></category></item></channel></rss>