<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[brywzy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/brywzy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; brywzy]]></copyright><item><title><![CDATA[HashMap(1.8)源码阅读]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219625</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219625</guid><author>brywzy</author><pubDate>Fri, 01 Nov 2019 17:41:00 +0800</pubDate><description><![CDATA[先了解一下用到的位运算符：https://www.cnblogs.com/gavinYang/p/11196492.html
一、初始化
1.无参构造函数：

//负载因子默认值
static final float DEFAULT_LOAD_FACTOR = 0.75f;

//指定loadFactor负载因子的值是0.75f
public HashMap() {
    this.loadF...]]></description><category></category></item><item><title><![CDATA[记一次SpringContextHolder.getBean出现异常NoClassDefFoundError: Could not initialize class]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219816</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219816</guid><author>brywzy</author><pubDate>Tue, 29 Oct 2019 16:18:00 +0800</pubDate><description><![CDATA[代码如下：

public class TestUtils {
    private static UserDao logDao = SpringContextHolder.getBean(UserDao.class);
    
    public static String getLog(String type){
        return "!23";
    }
}

在cont...]]></description><category></category></item><item><title><![CDATA[冒泡，选择，快速三种排序]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219623</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219623</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 18:12:00 +0800</pubDate><description><![CDATA[//冒泡排序
public static void sort1(int[] arr){
    for (int i=0;i&lt;arr.length-1;i++){
        for(int j=i+1;j&lt;arr.length;j++){
            //和后一个数相比，比它大就交换
            if(arr[i]&gt;arr[j]){
      ...]]></description><category></category></item><item><title><![CDATA[单例模式的多种实现方式]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219622</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219622</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 17:11:00 +0800</pubDate><description><![CDATA[//需要时加锁，双重校验
class CustomSingleton{

   private static CustomSingleton customSingleton = null;

   private CustomSingleton(){};

   public static CustomSingleton getCustomSingleton(){
      if(custo...]]></description><category></category></item><item><title><![CDATA[cglib动态代理]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219620</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219620</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 17:04:00 +0800</pubDate><description><![CDATA[public class TestCglibProxy {

    public static void main(String[] args) {

        UserService userService  = new UserServiceImpl();

        CglibProxy cglibProxy = new CglibProxy();

        Enh...]]></description><category></category></item><item><title><![CDATA[jdk动态代理]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219621</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219621</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 17:02:00 +0800</pubDate><description><![CDATA[public class TestJdkProxy {

    public static void main(String[] args) {

        UserService userService = new UserServiceImpl();

        JdkProxy jdkProxy = new JdkProxy(userService);

        U...]]></description><category></category></item><item><title><![CDATA[字符串中最长回文，最笨的解法]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219815</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219815</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 16:34:00 +0800</pubDate><description><![CDATA[回文：aba abcba
双重循环遍历字符串，外层从第一个开始找，内层循环从最后一个开始找。当外层的字符和内存循环的字符相等时则组成新的数组，判断是否是回文

public static void main(String[] args) {
    String str = "gcgdecdabcdefgfeh";
    char[] chars = str.toCharArray();
  ...]]></description><category></category></item><item><title><![CDATA[elasticsearch x-pack license过期]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219624</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219624</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:23:00 +0800</pubDate><description><![CDATA[1.注册一个新的license，每一项都要填写，每次可以使用一年，一年到期后再来注册一个新的
2.更新license  (官方文档：https://www.elastic.co/guide/en/x-pack/5.6/installing-license.html)上传license文件后执行下面的命令：curl -XPUT -u elastic 'http://10.127.0.1:9200/...]]></description><category></category></item><item><title><![CDATA[elasticsearch routing]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219619</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219619</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:20:00 +0800</pubDate><description><![CDATA[当索引一个文档的时候，文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢？当我们创建文档时，它如何决定这个文档应当被存储在分片 1 还是分片 2 中呢？首先这肯定不会是随机的，否则将来要获取文档的时候我们就不知道从何处寻找了。实际上，这个过程是根据下面这个公式决定的：shard_num = hash(routing) % number_of_prim...]]></description><category></category></item><item><title><![CDATA[elasticsearch配置文件解析]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219904</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219904</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:16:00 +0800</pubDate><description><![CDATA[1.Cluster(集群)# 集群名称标识了你的集群，自动探查会用到它。默认值为elasticsearch# 如果你在同一个网络中运行多个集群，那就要确保你的集群名称是独一无二的。## cluster.name: my-application
2.Node(节点)# 节点名称会在启动的时候自动生成，所以你可以不用手动配置。你也可以给节点指定一个# 特定的名称## node.name: "Fran...]]></description><category></category></item><item><title><![CDATA[elasticsearch type类型创建时注意项目，最新的elasticsearch已经不建议一个索引下多个type...]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219772</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219772</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:16:00 +0800</pubDate><description><![CDATA[https://www.elastic.co/guide/cn/elasticsearch/guide/current/mapping.html如果有两个不同的类型，每个类型都有同名的字段，但映射不同(例如：一个是字符串一个是数字)，将会出现什么情况？简单回答是，Elasticsearch 不会允许你定义这个映射。当你配置这个映射时，将会出现异常。详细回答是，每个 Lucene 索引中的所有字段...]]></description><category></category></item><item><title><![CDATA[elasticsearch.yml]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219771</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219771</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:15:00 +0800</pubDate><description><![CDATA[discovery.zen.minimum_master_nodes: 2这个参数决定了要选举一个Master需要多少个主节点(最少候选主节点数)。默认值是1。官方给出的建议是 N/2 + 1，N是集群中主节点的数量，例如一个有3个主节点的集群，minimum_master_nodes 应该被设置成 3/2 + 1 = 2(向下取整)。
discovery.zen.ping_timeout: 3...]]></description><category></category></item><item><title><![CDATA[elasticsearch 动态映射]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219770</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219770</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:14:00 +0800</pubDate><description><![CDATA[https://www.elastic.co/guide/cn/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping当 Elasticsearch 遇到文档中以前 未遇到的字段，它用 dynamic mapping 来确定字段的数据类型并自动把新的字段添加到类型映射。有时这是想要的行为有时又不希望这样。通常没有人知道以后...]]></description><category></category></item><item><title><![CDATA[elasticsearch _settings]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219769</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219769</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:12:00 +0800</pubDate><description><![CDATA[查看所有索引的配置信息GET /_settings
查看某个索引的配置信息

GET /index_name/_settings
{
    "my_index": {
        "settings": {
            "index": {
                "mapping": {
                    "nested_fields": {
 ...]]></description><category></category></item><item><title><![CDATA[elasticsearch集群健康状态查看]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219888</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219888</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:11:00 +0800</pubDate><description><![CDATA[1. 查看ES集群健康状态

http://localhost:9200/_cluster/health?pretty
响应：
{
  "cluster_name" : "if2c",
  "status" : "yellow",   //集群的状态红绿灯，绿：健康，黄：亚健康，红：病态
  "timed_out" : false,
  "number_of_nodes" : 1, //节点数
...]]></description><category></category></item><item><title><![CDATA[elasticsearch java插入索引批量操作]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219767</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219767</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:10:00 +0800</pubDate><description><![CDATA[1.单条所以插入//第一个参数：索引名；第二个参数：索引类型；第三个参数：索引ID(相同的id时修改数据，默认为随机字符串)IndexResponse indexResponse = client.prepareIndex("twitter", "json","1").setSource(json).get();
2.批量插入BulkRequestBuilder bulkRequest = cl...]]></description><category></category></item><item><title><![CDATA[elasticsearch alias]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219766</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219766</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 12:09:00 +0800</pubDate><description><![CDATA[索引别名API允许使用一个名字来作为一个索引的别名，所有API会自动将别名转换为实际的索引名称。 别名也可以映射到多个索引，别名不能与索引具有相同的名称。别名可以用来做索引迁移和多个索引的查询统一，还可以用来实现视图的功能
查看所有别名GET /_aliases
查看某个别名下的索引GET /_alias/alias_name
查看别名以2017开头的下的索引GET /_alias/2017
查...]]></description><category></category></item><item><title><![CDATA[Result window is too large, from + size must be less than or equal to [10000]]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219768</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219768</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 11:41:00 +0800</pubDate><description><![CDATA[使用sql插件执行如下语句的时候报错http://10.127.0.1:9200/_sql?sql=select * from test limit 1000000
错误信息：{"error":{"root_cause":[{"type":"query_phase_execution_exception","reason":"Result window is too large, from + ...]]></description><category></category></item><item><title><![CDATA[elasticsearch bootstrap.memory_lock]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219765</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219765</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 11:39:00 +0800</pubDate><description><![CDATA[检查bootstrap.memory_lock设置是否生效

get http://10.127.0.1:9200/_nodes?filter_path=**.mlockall
响应：
{
    "nodes": {
        "9giihmDNRdS136KT52Gl5g": {
            "process": {
                "mlockall": ...]]></description><category></category></item><item><title><![CDATA[elasticsearch启动错误]]></title><link>https://blog.youkuaiyun.com/brywzy/article/details/131219764</link><guid>https://blog.youkuaiyun.com/brywzy/article/details/131219764</guid><author>brywzy</author><pubDate>Wed, 17 Jul 2019 11:37:00 +0800</pubDate><description><![CDATA[requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled 
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP...]]></description><category></category></item></channel></rss>