![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端架构
后端架构主要写一些关于后端知识梳理的东西
身披品如
这个作者很懒,什么都没留下…
展开
-
docker-compose 安装elasticsearch + kibana
准备工作 1. 创建目录 # 创建目录 #es mkdir -p /opt/apps/es/elasticsearch/config mkdir -p /opt/apps/es/elasticsearch/data mkdir -p /opt/apps/es/elasticsearch/plugins # kibana mkdir -p /opt/apps/es/kibana/config 2.创建配置文件 vi/opt/apps/es/elasticsearch/config...原创 2022-01-16 13:09:45 · 1858 阅读 · 0 评论 -
springboot + springcloud + spring-cloud Alibaba 版本对照
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E原创 2021-12-11 16:49:41 · 832 阅读 · 0 评论 -
elasticsearch常用命令总结(三)
elasticsearch常用命令总结(三) 目录elasticsearch常用命令总结(三)1 标准分词器2. 安装IK分词器2.1 下载ik分词器插件2.2 将分词器解压到 es的plugins/ik 文件夹内2.3 测试ik 是否安装成功2.4 重启elasticsearch3. 使用 IK分词器3.1 智能分词器 ik_smart3.2 智能分词器 ik_max_word4. 自定义词库扩展4.1 安装nginx4.2 配置nginx4.3 配置IK4.4 重启es4.5 测试 1 标准分词器 PO原创 2021-03-02 19:25:28 · 210 阅读 · 0 评论 -
elasticsearch常用命令总结(一)
elasticsearch常用命令总结 目录elasticsearch常用命令总结初步探索1. _cat2. 索引一个文档(保存)3. 查询索引4. 乐观锁5. 更新6. 删除索引或id7. 批量api 初步探索 1. _cat # 查看所有节点 GET _cat/nodes # 查看es 健康状况 GET _cat/health # 查看主节点 GET _cat/master # 查看所有节点 GET _cat/indices 2. 索引一个文档(保存) # 保存一条数据 index/typ原创 2021-03-02 13:18:38 · 230 阅读 · 0 评论 -
docker 安装elasticsearch+kibana
docker 安装elasticsearch 1. 下载镜像 docker pull elasticsearch:7.4.2 2. 创建文件夹 mkdir -p /data/elasticsearch/config mkdir -p /data/elasticsearch/data 3. 创建配置文件 vi /data/elasticsearch/config/elasticsearch.yml http.port: 9200 http.host: 0.0.0.0 4. 增加菜单权限 chmod -原创 2021-03-02 10:13:02 · 106 阅读 · 0 评论 -
docker安装rabbitmq
docker安装rabbitmq 1.1 下载镜像 $ docker pull rabbitmq:management 1.2 运行容器 #方式一:默认guest 用户,密码也是 guest $ docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management #方式二:设置用户名和密码 $ docker run -d --hostname my-rabbit --name r原创 2021-02-04 14:17:25 · 110 阅读 · 0 评论 -
docker常用命令
安装docker https://blog.csdn.net/qq_42114918/article/details/81840335 查看docker是否启动 service docker status ############################dockerfile https://c.163yun.com/hub#/home https://hub.docker.com/r/gitlab/gitlab-ce 根据dockerfile 创建镜像 docker build -t test1_n原创 2021-01-24 15:08:46 · 61 阅读 · 0 评论 -
docker安装 consul
docker 安装consul 1.1 下载镜像 $ docker pull consul 1.2 创建配置文件 $ mkdir -p /data/consul/{conf,data} 1.2 运行容器、映射到宿主机,挂载Volume $ docker run \ --name consul \ -p 8500:8500 \ -v /data/consul/conf/:/consul/conf/ \ -v /data/consul/data/:/consul/data/ \ -d consul .原创 2021-01-22 17:34:09 · 83 阅读 · 0 评论 -
多线程编程(六)原子类
原子类 目录原子类1. 原子类分类1.1 原子基本类型1.2 原子数组类型1.3 原子引用类型1.4 原子属性类型2. 非原子类实例3. 原子类实例4. AtomicInteger 常用方法4. AtomicInteger 源码分析5. ABA问题6. ABA解决 1. 原子类分类 原子类基本都在java.util.concurrent.atomic 包中 1.1 原子基本类型 AtomicBoolean AtomicInteger AtomicLong 1.2 原子数组类型 AtomicInte原创 2020-11-15 13:55:28 · 126 阅读 · 0 评论 -
多线程编程(二)线程的生命周期
线程的生命周期 目录线程的生命周期1. 分为5个阶段1.1 新建1.2 就绪1.3 运行1.4 阻塞1.4 销毁2. 常用方法2.1 getPriority2.2 setPriority2.3 isAlive2.4 join2.5 sleep2.6 yield2.7 wait2.8 notify2.8 notifyAll 1. 分为5个阶段 1.1 新建 就是刚使用new方法,new出来的线程 1.2 就绪 就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资原创 2020-11-14 17:22:31 · 69 阅读 · 0 评论 -
zookeeper从入门到放弃
一. 安装 1.1 下载 zookeeper 3.6.2下载 1.2 解压zookeeper tar -xzvf apache-zookeeper-3.6.2-bin.tar.gz原创 2020-11-01 22:37:22 · 239 阅读 · 0 评论 -
redis 数据类型常用命令和应用场景
redis 笔记 1. string 1.1 string常用命令 set,get 127.0.0.1:6379> set user:key userValue OK 127.0.0.1:6379> get user:key "userValue" mset,mget 假如我要存储多个key value, 如用户信息 {“name”:“zhangsan”,“age”:“12”,“password”:“123456”} 用set,get的话,需要1.取出json 2.解析json原创 2020-11-01 00:48:06 · 123 阅读 · 0 评论 -
并发编程之线程的状态和基本操作
目录创建线程的四种方式线程的状态和生命周期线程状态的基本操作interruptedjoinsleepyield守护线程和用户线程守护线程和用户线程简介:那么守护线程和用户线程有什么区别呢?守护线程详解线程死锁认识线程死锁形成死锁的四个必要条件:如何避免线程死锁 创建线程的四种方式 继承Thread类 实现Runable接口 使用callable和future创建线程 使用Executor框架创建线程池 线程的状态和生命周期 Java线程在运行的生命周期的指定时刻只可能存在如下6种不同的状态 状态原创 2020-09-19 16:38:44 · 120 阅读 · 0 评论 -
深入理解Java虚拟机-垃圾回收器与内存分配策略
目录概述哪些内存需要回收-回收算法引用计数法可达性分析算法哪些可作为GC Roots四大引用方法区(永久代)回收垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法 概述 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当作Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的3件事情: 哪些内存需要回收? 什么时候回收? 如何回原创 2020-09-16 21:23:10 · 187 阅读 · 0 评论 -
JVM知识点(二) classLoader源码分析
目录JVM知识点划分定义类加载器分类系统级别用户级别层级结构代码实现启动类加载器扩展类加载器应用类加载器双亲委派原则代码实现源码探索什么时候出发类加载重要方法loadClass()加载流程手写自定义加载器新建需要加载的类自定义CustomerClassLoader测试类 JVM知识点划分 class文件结构 classLoader jvm运行时数据区 垃圾回收器及垃圾回收算法 jit 定义 ClassLoader 顾名思义就是类加载器,ClassLoader 作用: 负责将 Class 加载到 JVM原创 2020-09-13 17:10:51 · 228 阅读 · 0 评论 -
深入理解Java虚拟机-Java内存区域与内存溢出异常
目录概述运行时数据区域程序计数器(线程私有)Java虚拟机栈(线程私有)局部变量表变量槽(Variable Slot):操作数栈本地方法栈(线程私有)Java堆(全局共享)方法区(全局共享)运行时常量池直接内存HotSpot虚拟机对象探秘对象的创建对象的访问定位句柄访问直接指针实战OutOfMemoryError异常Java堆溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出本机直接内存溢出本章小结 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”又是从事最基原创 2020-09-12 17:35:44 · 92 阅读 · 0 评论 -
HashMap(JDK1.8)源码解析
目录简介特点数据结构JDK1.8之前JDK1.8之后JDK1.7 VS JDK1.8 比较继承关系图源码成员变量构造方法tableSizeFor()方法说明静态内部类TreeNode核心方法hash()算法put()方法resize()方法treeifyBin()方法get()方法remove()方法遍历HashMap的四种遍历方式 简介 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多原创 2020-09-12 16:12:16 · 67 阅读 · 0 评论 -
ArrayList(JDK1.8)源码解析
目录简介继承关系图源码分析成员变量构造方法内部类ArrayList有四个内部类核心方法add()方法(有四个)对数组的容量进行调整remove()get()方法常用方法System.arraycopy()和 Arrays.copyOf()方法Arrays.copyOf()方法 简介 ArrayList 是 Java 集合框架中 List 接口的一个实现类。底层是数组,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。 ArrayList 可以说是我们使用最多的 List 集合,它有以下特点:原创 2020-09-12 15:12:07 · 69 阅读 · 0 评论 -
javaEE基础(三) Lambda表达式
目录简介使用Lambda表达式的前提基础语法Lambda表达式的重要特征使用Lambda表达式的优缺点优点缺点函数式接口案例案例1 无参无返回案例2 有参有返回值案例3 final类型参数Java8内置的函数式接口 简介 Lambda表达式(也称闭包),是Java8中最受期待和欢迎的新特性之一。在Java语法层面Lambda表达式允许函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。Lambda表达式可以简化函数式接口的使用。函数式接口就是一个只具有一个抽象方法的普通接口,像这样的接口原创 2020-08-30 16:53:50 · 108 阅读 · 0 评论 -
javaEE基础(二) Java反射
转自:https://thinkwon.blog.csdn.net/article/details/100128361 目录定义用途反射最重要的用途就是开发各种通用框架反射的优缺点反射的优点反射的缺点反射机制的相关类与Java反射相关的类如下:Class类Field类Method类Constructor类示例获取Class类对象的三种方法反射常用类和方法测试总结 定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。这种动态获转载 2020-08-30 16:08:47 · 99 阅读 · 0 评论 -
javaEE基础(一) Java访问修饰符
定义 Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 分类 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。 public : 对所有类可见。使用对象:类、接口、变量、方法原创 2020-08-30 14:46:41 · 86 阅读 · 0 评论 -
2020 java架构知识点整理(持续更新中...)
架构知识点整理 只有一个目的: 就是让自己的只是系统化,查漏补缺 文章目录架构知识点整理一、javaEE基础1.1 基础语法1.2 面向对象1.3 集合框架1.4 IO流1.5 网络编程1.6 常用API1.7 常用工具类库1.8 异常1.9 日志二、框架源码2.1 应用框架spring2.2 orm框架mybatis2.3 设计模式三、并发编程3.1 JMM内存模型3.2 并发同步处理3.2 并发同步处理3.3 并发包之tools限制3.4 并发包之atomic原子操作3.5 阻塞队列BlockingQ原创 2020-08-30 14:04:45 · 346 阅读 · 0 评论