- 博客(69)
- 资源 (1)
- 收藏
- 关注
原创 Elasticsearch 入门教程之基本操作查询(三)
1.search检索文档ES支持两种基本方式检索;通过REST request uri 发送搜索参数 (uri +检索参数); 通过REST request body 来发送它们(uri+请求体);GET bank/_search?q=*&sort=account_number:desc请求参数方式检索GET bank/_search?q=*&sort=account_number:asc说明:q=* # 查询所有sort # 排序字段asc #升序等价
2021-10-21 17:52:33
1000
原创 Elasticsearch 入门教程之基本操作新增、更新、删除(二)
1、es命令访问方式和风格1.1 es访问方式实际开发中,主要有三种方式可以作为es服务的客户端:使用elasticsearch-head插件 使用elasticsearch提供的Restful接口直接访问 使用elasticsearch提供的API进行访问1.2 Rest风格说明一种软件架构风格,而不是标准。更易于实现缓存等机制method url地址 描述 PUT localhost:9200/索引名称/类型名称/文档id 创建文档(指定文档id)
2021-09-29 16:47:25
2080
原创 Docker镜像完全卸载
1.查看运行的镜像进程docker ps -a2.停止镜像进程下面以下载Kibana为例docker stop CONTAINER ID(可全写可写部分开头)3.卸载镜像docker rm CONTAINER ID4.查看当前docker的镜像IMAGE IDdocker images 5.删除镜像docker rmi IMAGE ID ...
2021-09-22 12:26:33
5783
原创 Docker安装ES和Kibana(三)
一、安装ES1.访问Docker Hub官网Docker Hub,搜索elasticsearch2.选择对应的版本进行下载docker pull elasticsearch:7.14.1docker images3.安装elasticsearch新建对应的配置目录安装elasticsearchmkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataec...
2021-09-22 12:13:32
884
原创 Docker安装Mysql和redis(二)
1.访问Docker Hub官网https://hub.docker.com/,搜索mysql2.点击Tags,选择需要安装的mysql的版本3.选择5.7版本进行安装docker pull mysql:5.74.创建实例并启动docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pass mysql:5.7参数说明:--name mysql 给容器起个名称是mysql-p...
2021-08-10 00:21:01
136
原创 Docker安装(一)
一、docker简介1、Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。2、Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。3、容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。4、Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enter
2021-08-09 22:59:02
155
原创 Elasticsearch 入门教程之安装和介绍(一)
1、ElasticSearch简介Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。1.1ElasticSearch的使用案例2013年初,GitHub抛弃了Solr,采取ElasticSear
2021-01-07 15:29:27
236
原创 kafka教程之kafka-manager的安装使用(二)
一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:管理多个集群 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发) 运行首选副本选举 使用选项生成分区分配以选择要使用的代理 运行分区重新分配(基于生成的分配) 使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置) 删除主题(仅支持0.8.2+并记住在代理配置中设置d..
2020-08-28 22:03:13
462
原创 zookeeper教程之安装步骤(一)
一、安装条件想要安装zookeeper,必须先在linux中安装好jdk。下载zookeeper对应的安装包,http://mirror.bit.edu.cn/apache/zookeeper/ ,本文章用的是apache-zookeeper-3.5.8版本wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8.tar.gz我的安装目录在/opt/下,解压apache-z.
2020-08-28 20:32:27
2941
原创 kafka教程之linux安装教程(一)
目录一、安装JDK二、安装Kafak三、创建启动和关闭的 kafka 执行脚本四、创建生产者 topic 和 消费者 topic 简单示例五、查看运行的进程 和 当前topic一、安装JDK安装jdk1.8版本yum install -y java-1.8.0-openjdk.x86_64查询jdk版本java -version如果能查看到jdk的版本信息,这样就安装成功了。默认给安装到usr/lib/jvm/二、安装Kafak1、下载kafka.
2020-07-24 17:37:09
18376
2
原创 Java企业微信号开发之微信网页授权和获取用户信息
本片博客降解的网页授权分为两步,一是企业微信配置的自定义菜单,点击请求后台方法,该方法接收到请求,调用回调地址。二是再回调地址获取code,userid或openid、用户信息。完成授权流程,获取用户信息一、准备工作1、内网穿透由于微信是本地开发,需要本地开发测试,准备一个内网穿透,将本地127.0.0.1:端口/项目名下所在的服务穿透到外网去,以便能与微信服务器通讯,开发调试;关...
2020-04-13 13:24:08
6179
5
原创 JVM之配置参数详解和调优总结(二)
JVM提供了诸多的参数进行JVM各个方面内存大小的设置,为Java应用进行优化提供了诸多的工具,本文将会详细分析各个参数的功能与使用。一、JVM内存参数概述参数作用图:参数详细说明:参数名称 含义 默认值 描述 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于4...
2019-10-28 20:02:35
579
原创 JVM之基础概念(一)
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构的计算机,是通过在实际的计算机上仿真模JVM计算机功能来实现的。JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上一次编译,多次运行,具有跨平台性。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。Java虚拟机包括一套字节...
2019-10-22 16:36:22
255
原创 API接口之对称加密、非对称加密(三)
目录一、加密方式和区别二、对称加密2.1 DES加密2.2 3DES加密三、非对称加密3.1 RSA加密四、移动APP安全接口设计4.1 非对称加密解密4.2 对称加密解密一、加密方式和区别一般金融类的产品,涉及前端和后端交互的时候,都会都严格的数据安全保证。防止黑客攻击,信息篡改。加密方式有很多,总的来说,分为2种:对称和非对称。我们先来看一...
2019-10-16 20:17:50
4494
原创 API接口之JWT设置token过期时间(二)
目录1.什么是Jwt2.token是什么3.为什么要使用token4.如何实现token5.JWT的简单案例6.API接口token案例6.1 token的创建6.2 用户验证流程7.测试流程7.1 项目地址7.2 表结构1.什么是JwtJwt是JSON Web Tokens的简称,从单词可以看出它也是一种token,其实可以理解为一种生成tok...
2019-10-11 20:57:39
68881
7
原创 API接口安全之签名验签(一)
简介现在越来越多人关注接口安全,传统的接口在传输的过程中,容易被抓包然后更改里面的参数值达到某些目的。 传统的做法是用安全框架或者在代码里面做验证,但是有些系统是不需要登录的,随时可以调。 这时候我们可以通过对参数进行签名验证,如果参数与签名值不匹配,则请求不通过,直接返回错误信息项目代码地址:https://github.com/loafer7423/signature.git...
2019-10-08 20:13:54
6787
3
原创 jmeter压力测试教程
一、JMeter概述1.1 什么是 JMeterApache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。JMeter 可以用于对服务器、网络或对象...
2019-09-30 11:15:30
8756
原创 NIO基础教程之直接缓冲区与非直接缓冲区、分散读取与聚集写入(三)
直接缓冲区与非直接缓冲区别非直接缓冲区:通过 allocate() 方法分配缓冲区,将缓冲区建立在 JVM 的内存中直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中。可以提高效率字节缓冲区要么是直接的,要么是非直接的。如果为直接字节缓冲区,则 Java 虚拟机会尽最大努力直接在此缓冲区上执行本机 I/O 操作。也就是说,在每次调用...
2019-09-29 16:51:45
223
原创 NIO基础教程之选择器(selector)(二)
在我们说选择器之前,我们先理解一下以下概念。一、阻塞io和无阻塞io:阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。当并发量大,而后端服务或客户端处理数据慢时就会产生产生大量线程处于等待中,即上述的阻塞。...
2019-09-29 16:06:38
299
原创 NIO基础教程之channel、buffer(一)
一、什么是NIO?Java NIO (New IO) 是一个替代接口(从Java 1.4开始),相对于Java传统IO接口和网络接口而言。NIO处理IO的方式和传统IO会有很大区别。标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。NIO可以理解为非阻塞IO,传统的IO的re...
2019-09-26 20:44:53
1250
原创 MySQL之Mycat分库分表(五)
一、分库分表原理mycat里面通过定义路由规则来实现分片表(路由规则里面会定义分片字段,以及分片算法)。分库分表是一个词,最好不要拆分去理解,它指的是对数据的拆分;分库分表分为两种:水平拆分和垂直拆分。分片算法有多种,你所说的hash是其中一种,还有取模、按范围分片等等。在mycat里面,会对所有传递的sql语句做路由处理(路由处理的依据就是表是否分片,如果分片,那么需要依据分片字段和对应...
2019-09-24 14:33:39
376
原创 MySQL之Mycat读写分离(五)
一、Mycat是什么MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。MyCat发...
2019-09-23 15:03:50
228
原创 MySQL之主从复制(四)
一、准备环境1.两台linux服务器,Master主机IP地址为192.168.1.10;Slave从机IP地址为192168.1.112.mysql安装包二、Master主机配置步骤找到主服务器mysql的配置文件 windows(my.ini)、 linux(/etc/my.cnf),添加如下信息:server-id=1log_bin=master-binlog_bi...
2019-09-18 17:34:22
180
原创 MySQL之Explain执行计划(三)
一、什么是执行计划执行计划:使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MYSQL是如何处理SQL语句的,分析查询语句或是表结构的性能瓶颈EXPLAIN语法:Explain+SQL语句EXPLAIN能做哪些事1.表的读取顺序2.数据读取操作的操作类型3.哪些索引可以使用4.哪些索引被实际使用5.表之间的引用6.每张表有多少行被优...
2019-09-12 14:58:36
920
原创 MySQL之索引(二)
一、索引描述1.1索引的优点为什么要创建索引?这是因为,创建索引可以大大提高系统的查询性能。第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时...
2019-09-12 08:57:55
175
原创 MySQL之逻辑架构及性能优化原理(一)
一、生成400万数据在说MySql之前,我们需要准备一个Mysql数据库以及数据库生成数据的脚步(大概需要百万以上的数据),后面篇幅也需要用到该脚本脚本:1.1创建表结构sql脚本/*部门表*/CREATE TABLE dept( deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/dname VARCHAR(2...
2019-09-11 16:57:58
371
1
原创 Java线程教程(三)之volatile关键字与synchronized区别
目录一、基本概念二、volatile的使用三、留意复合类操作四、synchronized与volatile辨析4.1重排序与happen-before规则4.2 happen-before规则4.3 内存屏障指令(memory barriers)4.4 volatile实现原理五、volatile关键字语义一、基本概念先补充一下概念:Java 内...
2019-07-03 17:41:02
1654
原创 Java线程教程(三)之线程同步synchronized和lock
目录一、为什么要线程同步?二、为什么有线程安全问题?三、线程安全解决办法3.1 同步代码块3.2 同步方法 (函数)3.3 Lock锁机制四、最后总结一、为什么要线程同步?因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,现实生活中,银行取钱问题、火车票多个窗口...
2019-07-02 19:34:07
284
原创 Java内存结构(JVM)、Java内存模型(JMM)、Java对象模型区别
目录一、JAVA内存结构1.1 JVM启动流程:1.2 JVM基本结构1.2.1基本结构图1.2.2 Java中的内存分配二、Java内存模型2.1 主内存和工作内存2.2 内存间交互操作2.3 java内存模型对并发提供的保障:原子性、可见性。有序性2.4 先行发生原则2.5 volatile型变量三、Java对象模型3.1 oop-klass...
2019-07-01 15:10:42
2718
1
原创 Java线程教程(二)之线程的生命周期
目录一、概要1.1 线程的生命周期二、一些常用方法2.1 currentThread()2.2 getId()2.3 getName()2.4 getPriority()2.5 isAlive()2.6 sleep(long millis)2.7 interrupt()2.8 interrupted() 和isInterrupted()2.9 ...
2019-06-28 15:48:34
131
原创 Java线程教程(一)之创建线程的方式(附源码)
目录一、 进程和多线程简介1.1 进程和线程1.2 何为进程?1.3 何为线程?1.4 何为多线程?1.5 为什么多线程是必要的?1.6 为什么提倡多线程而不是多进程?二 、几个重要的概念2.1 同步和异步2.2 并发(Concurrency)和并行(Parallelism)2.3 高并发2.4 临界区2.5 阻塞和非阻塞三、线程的实现...
2019-06-27 16:46:22
647
原创 Git常见错误解决方案
错误一:王东@DESKTOP-46G41C7 MINGW64 /d/code (master)$ git push -u boot masterTo github.com:loafer7423/springboot.git ! [rejected] master -> master (fetch first)error: failed to push some r...
2019-06-27 11:05:17
326
原创 Spring Boot入门教程(六)之Redis集成(附源码)
本篇基于Springboot2.0 + Redis实现数据缓存以及分库存储,RedisTemplate是SpringDataRedis中对JedisApi的高度封装。其实在Springboot的官网上我们也能看到,官方现在推荐的是SpringDataRedis形式,相对于Jedis来说可以方便地更换Redis的Java客户端,其比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭...
2019-06-27 11:04:51
287
原创 Spring Boot入门教程(五)之多数据源配置(附源码)
一、应用场景项目需要从自己的数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库(例如:读写分离的操作)。为了能够灵活地指定具体的数据库,本文基于注解和AOP的方法实现多数据源自动切换。在使用过程中,只需要添加注解就可以使用,简单方便。二、创建多数据库USE test;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_...
2019-06-26 15:38:57
618
原创 MongoDB入门教程(三)之常用命令
一、Collection聚集集合1、创建一个聚集集合(table)db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )name:集合的名字 capped:是否启用集合限制,如果开启需要制...
2019-06-14 08:35:59
1387
activemq持久化jdbc所需jar包.zip
2019-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人