<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[知其然知其所以然]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JavaReact</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JavaReact]]></copyright><item><title><![CDATA[（一）消息队列中间件 ~ 消息队列优缺点以及如何选型]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/114302580</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/114302580</guid><author>JavaReact</author><pubDate>Wed, 03 Mar 2021 10:55:49 +0800</pubDate><description><![CDATA[为什么使用消息队列
	
	
	消息队列有什么优缺点
	
	
	消息队列选型
	
	
	如何保证消息队列高可用
	
	
	如何保证消息不被重复消费
	
	
	如何保证消费的可靠性传输
	
	
	如何保证消息的顺序性
	

]]></description><category></category></item><item><title><![CDATA[用数组加链表实现一个Simple版的HashMap（暂未实现自动扩容）]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/111226165</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/111226165</guid><author>JavaReact</author><pubDate>Tue, 15 Dec 2020 19:08:37 +0800</pubDate><description><![CDATA[目录

HashMap介绍

开始实现

HashMap介绍

HashMap 是一个散列表，它存储的内容是键值对(key-value)映射。

HashMap 实现了 Map 接口，根据键的 HashCode 值存储数据，有很快的访问速度，最多允许一条记录的键为 null，不支持线程同步，并且是无序的，不会记录插入的顺序。

HashMap采取数组加链表的存储方式来实现，数组里的每个元素都是单向链表（Entry(key, value, next)），

通俗一点讲，HashMap就是Entry数组，
..]]></description><category></category></item><item><title><![CDATA[Spring Boot 无侵入式 实现API接口统一JSON格式返回]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/109839732</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/109839732</guid><author>JavaReact</author><pubDate>Fri, 20 Nov 2020 10:04:00 +0800</pubDate><description><![CDATA[无侵入式 统一返回JSON格式

其实本没有没打算写这篇博客的，但还是要写一下写这篇博客的起因是因为，现在呆着的这家公司居然没有统一的API返回格式????，询问主管他居然告诉我用HTTP状态码就够用了（fxxk），天哪HTTP状态码真的够用吗？在仔细的阅读了项目源码后发现，在API请求的是居然没有业务异常（黑人问好）。好吧 居然入坑了只能遵照项目风格了，懒得吐槽了。

因为项目已经开发了半年多了, 要是全部接口都做修改工作量还是挺大的, 只能用这种无侵入式的方案来解决.

定义JSON格式

定义返回JS]]></description><category></category></item><item><title><![CDATA[解决SpringBoot + Vue前后端分离跨域问题]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/107068124</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/107068124</guid><author>JavaReact</author><pubDate>Wed, 01 Jul 2020 17:44:22 +0800</pubDate><description><![CDATA[报错：No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:80' is therefore not allowed access

网上很多都说设置config/index.js 的“proxyTable”属性，我设置了并没有用，

axios地址直接写代理地址会自动拼接vue服务的域名前缀，然后报404。。。


proxyTable: {
     .]]></description><category></category></item><item><title><![CDATA[谈谈百度搜索为什么那么快？]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/106190191</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/106190191</guid><author>JavaReact</author><pubDate>Mon, 18 May 2020 17:09:52 +0800</pubDate><description><![CDATA[目录

某种处理

首先我们知道，百度肯定是有爬虫，到处爬取网页，进行某种处理。然后通过你输入的关键词进行某种计算再返回给你的

某种处理


当百度爬取了海量网页后，每一个网页我们称为”文档“，不可能就杂乱无章的放着，它使用了文档集合，就是类似的文档放在一个集合中

那什么样的文档算类似呢？相信你猜到了，文档中有相同关键字的就可以放在一个集合中

来举例说明

假设全世界只有下面5个文档（网页），文档内容也很简单，就一句话（注意是内容，不是标题）



百度爬取后，将他们进行编号，然后对文档进行扫描分词，]]></description><category></category></item><item><title><![CDATA[如何应对在线故障]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/106059221</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/106059221</guid><author>JavaReact</author><pubDate>Mon, 11 May 2020 17:49:16 +0800</pubDate><description><![CDATA[线上运行的Java应用突然没有响应、响应缓慢，进程突然消失，遇到这些情况应该如何应对呢？

在线故障?

意料之外的错误、无响应或者响应缓慢

服务中,影响用户体验

不能停机或者大面积停机

需要尽快恢复





传送门：如何应对在线故障
...]]></description><category></category></item><item><title><![CDATA[Java调用WebService接口的四种方式]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/106022975</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/106022975</guid><author>JavaReact</author><pubDate>Sat, 09 May 2020 16:50:49 +0800</pubDate><description><![CDATA[调用WebServicewsimport生成代码Axis动态调用HTTP Connection调用
wsimport生成代码
配置java环境变量后在命令窗口中输入
-keep：是否生成java源文件
-d：指定.class文件的输出目录
-s：指定.java文件的输出目录
-p：定义生成类的包名，不定义的话有默认包名
-verbose：在控制台显示输出信息
-b：指定jaxws/jaxb绑定文件或额外的schemas
-extension：使用扩展来支持SOAP1.2
wsimport -encoding]]></description><category></category></item><item><title><![CDATA[教你如何快速排查死锁，如何避免死锁！]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/105065334</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/105065334</guid><author>JavaReact</author><pubDate>Tue, 24 Mar 2020 10:23:41 +0800</pubDate><description><![CDATA[文章目录前言实例通过jdk工具jps、jstack排查死锁问题步骤一：使用jsp查找程序进行通过jdk提供的工具jconsole排查死锁问题通过jdk提供的工具VisualVM排查死锁问题如何避免死锁？1. 正确的顺序获得锁2. 超时放弃总结
前言
相信程序员都会碰上这样的问题，Java死锁如何排查？又如何解决呢？那么，何为死锁呢？死锁是指两个或两个以上的进程在执行过程中，由于竞争资源或者由于彼此...]]></description><category></category></item><item><title><![CDATA[Java实现字符串倒序输出以及判断一个字符串中某个字符的出现次数]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/104819968</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/104819968</guid><author>JavaReact</author><pubDate>Thu, 12 Mar 2020 15:52:27 +0800</pubDate><description><![CDATA[判断一个字符串中某个字符的出现次数字符串倒序输出
忽然想到笔试时经常出现的两个问题，碰到了只能写个大概的思路代码出来，自己都不能确定是不是可以运行，不是很复杂的内容，就随便写写了。
判断一个字符串中某个字符的出现次数
听到这个大家第一反应该是先把字符串转换为字符数组，然后使用foreach循环，在循环体内进行字符比对，代码如下：
public static void main(String[] ...]]></description><category></category></item><item><title><![CDATA[Java线程安全 加锁机制之synchronized、lock（互斥锁、读写锁）]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/99678017</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/99678017</guid><author>JavaReact</author><pubDate>Fri, 16 Aug 2019 14:58:24 +0800</pubDate><description><![CDATA[synchronized：互斥锁；
ReentrantLock：可重入锁；
ReadWriteLock ：读写锁；
读写锁特点：
a）多个读者可以同时进行读
b）写者必须互斥（只允许一个写者写，也不能读者写者同时进行）
c）写者优先于读者（一旦有写者，则后续读者必须等待，唤醒时优先考虑写者）
]]></description><category></category></item><item><title><![CDATA[找工作指南：优秀的程序员简历是怎么写的！]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/88891359</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/88891359</guid><author>JavaReact</author><pubDate>Fri, 29 Mar 2019 14:10:47 +0800</pubDate><description><![CDATA[（一）找工作指南

1.控制面试节奏

面试官在考察什么？专业知识，始终都是专业知识。




有一种常见的想法，“我有一个朋友/同学，技术还没我好呢，去了ABC公司，年薪有n k”。先不谈该同学到底有什么方面更优秀，身为一个学过统计学的程序员，绝不能认同拿个例代替整体的思路。
在面试之前，我们可以先找个招聘网站，按自己的地域、年限、技术做一个分类，然后看一眼中位数所处的大致薪酬区域，这个区域...]]></description><category></category></item><item><title><![CDATA[二零一九年第一篇博客，Good luck in the year of the pig!]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/85606383</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/85606383</guid><author>JavaReact</author><pubDate>Wed, 02 Jan 2019 12:02:01 +0800</pubDate><description><![CDATA[猪年大吉！

猪年大吉！

猪年大吉！
]]></description><category></category></item><item><title><![CDATA[(五) 基于Zookeeper的SolrCloud5.5集群搭建]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/85262556</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/85262556</guid><author>JavaReact</author><pubDate>Wed, 26 Dec 2018 15:12:50 +0800</pubDate><description><![CDATA[

SolrCloud是solr的提供的服务器集群搜索的方案，支持下面的功能：

整个集群的中心配置
	自动负载平衡和故障切换的查询
	ZooKeeper集成，用于集群协调和配置
Solr使用ZooKeeper来管理，建议最好有一个是已经搭建好的 solr服务，成功运行的单机版，后面集群配置就很简单了。

 

SolrCloud搭建推荐教程：

https://www.cnblogs.com/r...]]></description><category></category></item><item><title><![CDATA[Solr搜索错误： org.apache.solr.common.SolrException: undefined field text]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/85162662</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/85162662</guid><author>JavaReact</author><pubDate>Fri, 21 Dec 2018 15:34:18 +0800</pubDate><description><![CDATA[org.apache.solr.common.SolrException: undefined field text
    at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1241)
    at org.apache.solr.schema.IndexSchema$SolrQueryAnal...]]></description><category></category></item><item><title><![CDATA[（四）Solr的检索运算符、TokenizerFactory（分词器）、TokenFilterFactory（分词过滤器）详解]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/85094712</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/85094712</guid><author>JavaReact</author><pubDate>Wed, 19 Dec 2018 13:28:09 +0800</pubDate><description><![CDATA[


Solr有哪些检索运算符？


1. “:” 指定字段查指定值，如返回所有值*:*
2. “?” 表示单个任意字符的通配
3. “*” 表示多个任意字符的通配（不能在检索的项开始使用*或者?符号）
4. “~” 表示模糊检索，如检索拼写类似于”roam”的项这样写：roam~将找到形如foam和roams的单词；roam~0.8，检索返回相似度在0.8以上的记录。
5. 邻近检索，如检索相隔...]]></description><category></category></item><item><title><![CDATA[PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/84837539</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/84837539</guid><author>JavaReact</author><pubDate>Wed, 05 Dec 2018 15:48:06 +0800</pubDate><description><![CDATA[自己搭建的邮件服务器 + 自签的SSL证书，通过代码调用时是不受jdk是信任的。

CA比较新或自行颁发的证书，需要将证书加入到jdk的信任证书库中，

把该证书导入java中的cacerts证书库里

Jdk的安装目录 C:\Program Files\Java\jdk1.8.0\jre\lib\security

执行系统命令：

1、进入安装目录

cd C:\Program Files\J...]]></description><category></category></item><item><title><![CDATA[给HMailServer添加DKIM签名]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/84648287</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/84648287</guid><author>JavaReact</author><pubDate>Fri, 30 Nov 2018 14:03:41 +0800</pubDate><description><![CDATA[在hmailserver的反垃圾邮件功能中有提到给垃圾评分标准，其中比较主要的四个，SPF、HELO、DNS MX、DKIM签名，



看默认的分值，无疑DKIM签名是最高的，如果校验DKIM失败，直接会当作垃圾邮件的。无疑，如果对方的邮件服务器启用了这几个校验，如果你发出去的邮件未通过，就会被当作垃圾邮件了，我试了一下，都没有设置，发往gmail的邮件直接发送失败，发往腾讯企业邮箱的邮件还收到...]]></description><category></category></item><item><title><![CDATA[（三）solr.5.5 配置 IKAnalyzer 中文分词器、合并域进行多维度搜索]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/83860460</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/83860460</guid><author>JavaReact</author><pubDate>Thu, 08 Nov 2018 18:02:34 +0800</pubDate><description><![CDATA[

安装ik 分词器

准备 ik 分词器使用的 jar 包（下载地址）

复制 ik-analyzer-solr5-5.x.jar 到 apache-tomcat-8.5.34/webapp/solr/WEB-INF/lib 

打开 \apache-solr\solr_home\solr_core\conf\managed-schema文件，在最下方追加



&amp;lt;!-- ik 中文分词器...]]></description><category></category></item><item><title><![CDATA[简述JAVA GC回收机制，深入理解GC原理]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/83656329</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/83656329</guid><author>JavaReact</author><pubDate>Fri, 02 Nov 2018 15:43:21 +0800</pubDate><description><![CDATA[


什么是“GC”

垃圾回收机制。

为什么要用“GC”

众所周知，JAVA 这语言，与C语言不同，Java内存（堆内存）的分配与回收由JVM垃圾收集器自动完成，比如 C语言自己定义的变量，不用时需要 自己回收这个变量 。JAVA 这就是自动完成了，自动检测，无用的垃圾，回收，从而释放内存。一个人工，一个自动化。


先看一下JVM内存结构



 

栈：存放局部变量

堆：存放所有new...]]></description><category></category></item><item><title><![CDATA[（二）solr定时任务配置，定时更新数据库增量到solr索引库]]></title><link>https://blog.youkuaiyun.com/JavaReact/article/details/83416095</link><guid>https://blog.youkuaiyun.com/JavaReact/article/details/83416095</guid><author>JavaReact</author><pubDate>Fri, 26 Oct 2018 16:51:55 +0800</pubDate><description><![CDATA[

继续上篇手动将数据库中的数据导入到了solr中之后，（→传送←）

数据库数据有更改我们不可能及时去同步，所以需要定时检测数据库，将更改、新增的数据同步到solr中。

数据库请查看上一篇的表结构



当数据每次改动或者增加时都会根据当前时间戳更新，在进行同步的时候只需要查找找到 updata_time &amp;gt; last_index_time 的数据进行同步即可，不用同步所有数据

 

...]]></description><category></category></item></channel></rss>