- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 06_快速入门案例实战之电商网站商品管理:集群健康检查,文档CRUD
由于默认的配置是给每个index分配5个primary shard和5个replica shard,而且primary shard和replica shard不能在同一台机器上(为了容错)。当前就一个node,所以只有1个primary shard被分配了和启动了,但是一个replica shard没有第二台机器去启动。做一个小实验:此时只要启动第二个es进程,就会在es集群中有2个node,然后那1个replica shard就会自动分配过去,然后cluster status就会变成green状态。
2023-09-06 10:01:57
591
原创 04_手工画图剖析Elasticsearch核心概念:NRT、索引、分片、副本等
1、lucene和elasticsearch的前世今生2、elasticsearch的核心概念3、elasticsearch核心概念 vs. 数据库核心概念。
2023-06-10 20:59:59
984
原创 rockemq启动broker没反应
可能你的存储空间的文件除了问题, 或者磁盘不足, 你可以去删除mq的存储文件, mq配置文件的位置在你mq目录下下conf目录的broker.xml里边配置。出现这样的画面,然后就推出了。
2022-12-13 18:21:15
470
原创 9-01-spring如何标识全配置类和半配置类,如何增强全配置类
增强也有好处 比如@Bean方法, Spring能保证是单例的, 不然可能会遇到类似情况, 比如Spring事务失效什么的 具体可以看另外一篇文章。上面既然看到了一个地方标识, 再看看什么地方引用到这字段不就晓得标识之后是干嘛去了。在执行bean生命周期过程中, 内置的。会进行判断是否是全配置类和半配置类。
2022-10-13 14:46:28
255
原创 10-beanDefinition方式如何完成属性注入
实现BeanFactoryPostProcessor接口, 为某个指定的bean设置属性PropertyValues,当然这个类有BeanDefinitionPropertyValuesBeanTest的setter()中会调用setter方法将属性设置到变量中。
2022-10-13 09:14:46
434
原创 @Autowired和@Resource的不同
找到报错(默认情况下@Autowired是一定需要注入一个bean的);如果查找到一个则用找到的。@Resource在没有配置name的情况下首先根据名字查找;如果名字能查找到则返回这个查找到的。所以不存在通过名字能查找到多个的情况);找不到(需要注意的是这里的前提是没有配置name的情况,spring觉得名字无所谓);觉得对名字有严格要求,所以只能根据你配置的名字查找;如果查找不到则报错,找到了则用;能确定则使用确定的这个;根据Type进行查找可能找到多个, 则需要根据名字进行推断, 就轮到方法。
2022-10-13 08:56:07
202
原创 max-http-header-size设置错误可能导致的OOM或者400 bad request
在看oom的案例, 发现不少设置参数错误也有可能导致oom第一个案例 设置过大的请求头,导致每次请求分配的headbuffersize内存过大:项目中错误设置max-http-header-size参数导致内存激增第二个案例,设置过小,导致jwt的token传递不到后端导致的HTTP 400 Bad request错误:关于http header最大长度的那些事第三个案例:...
2022-10-05 21:43:14
560
原创 手机号,邮箱脱敏
public static final String getHideStr(String str){ if(Pattern.matches("\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}", str)){ int strLen = str.replaceAll("@.+", "").length(); if(strLen>3){ return str.replaceAll("[a-zA-Z0-9]{3}@".
2022-04-27 21:29:19
493
原创 一个网络包是怎么发送到另一台电脑的
首先来介绍一个叫协议的东西, 为什么需要协议? 没有协议, 各个电脑厂商, IBM, 苹果都弄自己的协议, 结果就是苹果电脑只能跟苹果电脑通信, 和IBM电脑不可以通信, 这很尬; 所以搞一个国际通行的协议, 大家按照这个来, 所有电脑都可以通信了OSI七层模型, 搞一个标准的网络模型出来, 大家都按照这个来走, 那么大家都有统一的规范. OSI七层模型, 是应用层, 表示层, 会话层, 传输层, 网络层, 数据链路层, 物理层; TCP/IP模型 , 数据链路层, 网络层, 传输层, 应用层物理层
2021-12-03 09:19:20
2326
原创 synchronized中notify和wait的用法
根据老师的课程 模仿Hadoop写的import java.util.LinkedList;import java.util.concurrent.atomic.AtomicLong;/** 负责管理edits log日志的核心组件 @author @create 2021-10-28 17:30 */public class FSEditlog { /** * 当前递增到的txid的序号 */ private volatile long txid
2021-11-05 09:42:41
497
原创 Unicode编解码问题(翻译成字节的过程)
公司用的自研框架是高仿netty来的, 所以在编解码这一块我踩了不小坑;简单总结一下:1.编解码基础知识和原理的话, 可以看看黑马的那个, 讲得真的是后, 在B站就有输入一个"你", 怎么字节码是-28 -67 -96呢?首先我们查看一下码表, "你"对应的是什么码值, 用个工具查在码表里看到是4F60, 但是我们是utf-8编码, 所以关注的是 编码是\xE4\xBD\xA0就好了使用这个去转换得到 11100100 10111101 10100000俺常理来说这里的11100100计算
2021-09-22 11:50:44
327
原创 varchar(32)的什么意思?
之前一会以为mysql varcahr(32)是指32个字节的意思, 后来发现原来是字符的意思;,并且我现在公司版本的MySQL是5.1.46-logmysql> select version();+------------+| version() |+------------+| 5.1.46-log |+------------+1 row in set (0.01 sec)...
2021-09-19 11:09:49
5621
原创 gradle引入本地其他工程
gradle引入本地其他工程1:在setting.gradle文件输入本地的你要引入的项目的地址2:在build.gradle输入需要编译的本地项目
2021-06-14 16:29:54
3503
原创 37互娱旗下秒小程笔试题-2020.9
9月初的时候到了,37互娱今年收购的秒小程(前身好像叫什么耕子教育)面试,团队 十几个人, 后台开发就4个而已, 不过运气真的是不好,二轮的时候居然是来一个产品面试技术, 全程对这个人无语, 一副看不起技术的样子, 结果当然也猜到了, 随便问几个问题就让我们回去了.37和秒小程, 反正对他们以后都没什么感觉.下面是笔试题...
2020-10-25 09:09:15
739
原创 httpClient 4.5.9 连接池
需要的jar包<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId>
2020-09-07 10:04:58
900
原创 从0开始搭建redis cluster集群
从0开始搭建redis cluster集群1、VMware Workstation Pro 15安装centos7 系统版本CentOS-7-x86_64-Minimal-2003.iso 这是教程,我跟着做的,网卡那一刻特别要注意配置,不然ping命令不通的2、安装docker3、安装redisdocker19搭建rediscluster5集群1. 拉取镜像docker pull redis如果需要拉取指定版本,需要在redis后面添加版本号,如果不指定则拉取最新版本镜像,可以使用do
2020-08-29 08:18:45
187
原创 java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
如果发生这种情况, 你可以考虑下是不是你项目从springboot1 升级到2或者从2.1.4升级到2.1.14我这里报错是因为从2.1.4升级到2.1.14, 菜鸡上司, 将好几个boot项目放到同一个tomcat下运行, 其他boot项目是2.1.4的, 最近新添加进去的项目是2.1.14所以导致报错, 将版本改为统一2.1.4就OK了,https://developer.aliyun.com/article/616541...
2020-08-24 12:56:49
874
原创 SpringBoot 处理常见的几种异常处理, 使用全局异常统一处理
import com.oohad.oohadshowmanager.entity.JsonResult;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.http.converter.HttpMessageNotReadableException;i.
2020-08-06 11:35:50
610
转载 centos7下载MySQL压缩包安装
#转载来自先去下载下载mysql-5.7.29-el7-x86_64.tar解压,安装到系统服务中,1.解压tar -zxf mysql-5.7.29-el7-x86_64.tar.gz -C /usr/local/如果你下载的是xx.tar结尾的,解压出来可能有2个文件,其中一个是上面说的tat.gz文件,另一个是test文件2.重命名文件夹cd /usr/local/mv mysql-5.7.29-el7-x86_64 mysql3.进入mysql,由于5.7没有data目录
2020-06-08 16:03:59
1316
原创 jenkins使用国内镜像不生效
小编是使用rpm ‐ivh jenkins-2.204.5-1.1.noarch.rpm的命令方式 然后在vi /etc/sysconfig/jenkins修改配置端口什么的来安装Jenkins的, 嫌弃下载镜像地址太慢了, 所有小编就在百度Jenkins怎么改镜像地址为国内的,但是不知道为什么提示 Signature安全检查失败, json不生效,根本没办法从国内的镜像地址下载Jenkins的...
2020-03-19 09:55:54
3290
1
原创 redis分布式锁
package com.example.redistest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Ser...
2020-02-06 17:20:39
246
原创 hashMap源码个人解读
使用的jdk是1.8在看源码前,你需要看下hashmap的数据结构的图,这样能帮助你理解分析源码:关于hashmap槽位算法(数组下标)的思考(也叫为什么hashmap的容量为什么是2的倍速):其实在1.8的源码里可以看见计算槽位的公式很简单: (n - 1) & hash 此公式可以理解为 hash % ( n-1)计算除以长度得到的下标即是数组下标了. 不过是用位运算效率高,所...
2020-02-02 21:33:50
110
原创 Java常用MQ的比较
KafkaRabbitMQRocketMQActiveMQ资料文档中。有kafka作者自己写的书,网上资料也有一些稍微长一点的文本多。有一些不错的书,网上资料多少。没有专门写rocketmq的书,网上的资料良莠不齐,官方文档很简洁,但是对技术细节没有过多的描述开发语言ScalaErlangjavajava支持的协议自己定义的一套…(基于TCP...
2020-01-14 16:33:43
1590
原创 *饿汉式*单例和*懒汉式*单例的比较, 以及推荐的单例模式写法
饿汉式实现方式class EagerSingleton { private static final EagerSingleton instance = new EagerSingleton(); private EagerSingleton() { } public static EagerSingleton getInstance() { r...
2019-12-18 10:39:03
127
原创 interview:volatile关键字的如何保证内存可见性以及为何无法保证原子性?
Java并发编程:volatile关键字解析Java 并发编程:volatile的使用及其原理再有人问你volatile是什么,把这篇文章也发给他Java并发编程-volatile可见性的介绍...
2019-12-05 10:12:18
179
原创 interview: 快速失败和安全失败是什么
快速失败(fail-fast)安全失败(fail-safe)表现在用迭代器遍历一个集合对象时,如果遍历过程中,对集合内容进行修改,则会抛出ConcurrentModificationException采用安全失败机制的集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历原理迭代器在遍历时直接访问集合中的内容,并且在遍历过程中...
2019-12-04 15:10:14
103
原创 mybatis注解开发中,@One简单案例
场景:查询媒体信息(城市,媒体名称,所在媒体点位区域(station)),先从总表中查到了其外键id,接着使用@One关联查询到所在区域@Select("SELECT media_id,city,name,media_type,XX,XX from label_media_all_auto")@Results({ @Result(column = "X_X", pro...
2019-12-02 10:02:38
982
原创 mysql事务隔离级别介绍和个人看法
事务隔离级别1.read uncommitted(读未提交) 在Read Uncommitted级别,事务中的修改,即使没有提交,对其他的事务也是可见的.事务可以读取未提交的数据,这也被称为脏读(Dirty Read). 这个级别会导致很多的问题,从性能上来说,read uncommitted不会比其他的级别好很多,但缺乏其他级别的好处,除非真的非常必要的理由,在实际应用中一般很少使用....
2019-11-25 15:34:47
143
原创 interview:简述synchronized与Lock的区别
类别synchronizedLock存在层次Java的关键字,在jvm层面上Lock是一个接口而已锁的释放1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁程序在finally释放锁锁的获取假设a获得锁,b线程在等待,如果a阻塞,b会一直阻塞等待分情况而定,Lock有很多种获取锁的方式,大致可以获得锁,但是线程可以自己...
2019-11-18 21:43:01
151
原创 idea插件部署springboot到虚拟机的docker
1.pom配置首先,springboot工程搭建就不提, 需要注意的是pom文件需要加入这些配置(这些配置是你用插件来build才用得上的,如果你在构建dockerfile的时候,手动将使用命令mvn package -Dmaven.test.skip=true构建的,dockfile使用copy的则不需要关心这个,我就是这样…)<properties> <docker.i...
2019-11-05 11:56:45
342
原创 springboot2 junit4测试controller
上来直接贴源码好了: 反正都是为了自己方便回来看 哈哈import com.oohad.oohadshowmanager.mapper.AccountMapper;import com.oohad.oohadshowmanager.model.Account;import org.junit.Before;import org.junit.Test;import org.junit.ru...
2019-10-30 09:41:49
1270
原创 ip地址mysql怎么存
创建登录历史表sql如下:CREATE TABLE `login_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `account_id` int(11) DEFAULT NULL COMMENT '用户id', `username` varchar(64) DEFAULT NULL COMMENT '用户名', `login_f...
2019-10-18 11:27:42
260
原创 场景题:现在有三个线程,同时start,用什么方法可以保证线程执行的顺序,线程一执行完线程二执行,线程二执行完线程三执行
其实我了解到的方式无非这几种:使用join使用单个线程池使用jdk1.5以后提供的JUC包的内容比如信号量、屏障…第一种 Thread t1 = new Thread(() -> System.out.println("t1")); Thread t2 = new Thread(() -> { try { ...
2019-09-09 10:03:59
694
YourKit-JavaProfiler-2019.8-b127.exe
2019-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人