- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 先学会使用ElasticSearch
ElaticSearch1 安装ElasticSearch1.1 解压ElasticSearch1.2 启动 `elasticsearch.bat`1.3 返回结果2 安装可视化界面2.1 解压 head 插件2.2 在 head 插件目录中执行命令2.3 启动成功后访问:127.0.0.1:91003 安装Kibana3.1 解压 kibana 文件3.2 启动 `kibana.bat`3.3 汉化4 ES概念4.1 分片4.2 倒排索引5 IK分词器5.1 概念5.2 使用场景5.3 安装5.4 重启
2021-08-29 17:01:54
990
原创 Volatile学习
Volatile1 JMM1.1 JMM定义JMM(Java 内存模型) 本身是一种抽象的概念(并不真实存在),它描述的是一组规范或规则,通过这组规范定义了程序中各个变量(包括实例字段、静态字段和构成数组对象的元素)的访问方式1.2 JMM关于同步的规定线程解锁前,必须把共享变量的值刷新回主内存线程加锁前,必须读取主内存的最新值到自己的工作内存加锁解锁是同一把锁由于JMM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(栈空间),工作内存是每个线程的私有数据区域,而J
2021-03-20 01:02:31
490
原创 java多线程
一、多线程1.1 线程和进程操作系统可以同时执行多个任务,每个任务就是一个进程;进程可以同时执行多个任务,每个任务就是一个线程。进程:当一个程序进入内存运行时,就是一个进程。进程是系统进行资源分配和调度的一个独立单位。具有独立性,进程是系统中独立存在的实体,拥有自己独立的资源,每一个进程都拥有自己独立的内存空间。具有动态性:进程是系统中正在活动的指令集合,程序只是一个静态的指令集具有并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响线程:线程是进程的执行单位,一个进程至少
2020-08-15 23:25:09
270
原创 Redis
Redis一、Redis 的应用场景缓存、消息中间件(队列,发布-订阅)、分布式锁、服务注册中心、web集群Session共享、阅读量。二、Redis 的数据类型和使用场景2.1 String2.2 hash这里 value 值存的是结构化的对象,比较方便的就是操作其中的某个字段。这种数据结构存储用户信息,以 CookieID 作为 key ,设置 30 分钟为缓存过期时间,能很好的模拟出类似 Session 的效果。2.3 listList 的数据结构,具有先进先出的原则,可以做简单的消息
2020-08-15 22:33:50
168
原创 JVM内存模型、垃圾回收、类加载机制
一、内存模型jvm内存模型在 java7 和 java8 有了一些变化,java7中,方法区实际还是存储在虚拟机堆区中,但在java8开始,方法区存储在了元空间中位于操作系统内存中,但是串表还是在堆区的。1.1 非线程私有非线程私有内存区,允许被所有线程共享访问。Java 堆区在在 JVM 启动的时候被创建,用于存储对象实例的内存区,堆区又分为新生代和老年代。堆的大小在 JVM 启动的时候就已经设定好了,可以通过选项 “-Xmx” 和 “-Xms” 来设置 ,"-Xmx" 表示堆区的起始内存,"-
2020-08-13 01:03:34
598
原创 集合
集合使用集合会产生的问题对于ArrayList、HashMap等这种常用的非线程安全的集合,在高并发中使用时,会出现多线程环境下的安全问题。一、概述Java中的集合类主要由两个接口派生而出:Collection 和 Map,Collection 和 Map 是 Java 集合框架的根接口。三种集合的示意图:从图中可知,如果访问 List 集合,可以直接根据元素索引来访问;如果访问 Map 集合中的元素,可以根据每项元素的 key 来访问其 value ;如果访问 Set 集合中的元素,则只能根据
2020-08-11 15:53:20
199
原创 打包普通web项目为war包
idea打包普通web项目为war包,并放到Linux中运行。1、首先你需要有一个web项目(敲黑板)2、然后点击 File-Project Structure(或者按快捷键Ctrl+Alt+Shift+S)3、然后点击Artifacts菜单4、然后添加要打包的项目(+号 + Web Application: Archive,选中要打包的项目)5、点击 Apply 再点击OK,然后到输出目录找到 war 包,这时就打包成功了6、然后部署到tomcat中,Windows
2020-05-15 01:19:00
1401
原创 粗学红黑树
1 引子例如我们平时随机猜一个 1-100 的数,最先想到得办法是什么呢?就算我们没有学过任何数据结构,大多数人都会想到对半拆分吧?先来个50,不管大小,再折半,直到猜对!但是换作用数据结构的算法来思考的话,这不就是一个二叉搜索树(Binary Search Trees)吗?但是这些数字必须是有序的一个集合对吧?所以若是随机数字呢?2 出现的问题用数据结构算法来看,一个二叉搜索树(Binary Search Trees)肯定满足以下规则若它的左子树不为空,则左子树上所有结点的值均小于等于
2020-05-12 17:07:51
152
原创 关于版本比较新的数据库(Mysql8.0)连接的问题
今天使用MySQL8.0驱动连接MySQL数据库时,突然报了一个错误:The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.The last packet sent successfull...
2020-04-15 21:14:41
2072
1
原创 使用SpringCloudConfig连接git报错Cannot clone or checkout repository:xxx
配置中心使用 git@github.com:用户名/仓库名.git 作为uri地址时,配置中心客户端访问报错由于访问git时,使用https(例如:https://github.com/用户名/仓库地址.git)的uri访问不用进行验证,但是使用ssh(例如:git@github.com:用户名/仓库地址.git)的uri访问时需要进行验证,所以需要修改一下配置中心的配置文件参考文档:...
2020-03-27 16:20:21
5550
原创 mysql启动报错:Table'performance_schema.session_variables'doesn'texist解决
前几天给电脑又装了一个mysql8.0 同时我电脑本身还有一个5.7的版本,今天启动的时候突然出现此问题,用sqlyog可以连接到数据库,但是用navicate连接不上,一直提示"Table'performance_schema.session_variables'doesn'texist"这里就给出一个解决办法:1. cmd管理员启动,进入mysql的bin目录2. 执行mys...
2020-02-06 12:51:44
416
原创 社招遇到的面试题:比较1000个不重复字符串的相似度并输出前五个
记录一道面试题,大致意思就是,在Linux系统环境下,随机生成长度为n的1000个不重复的字符串,随机取其中一个字符串,与其它字符串进行相比较,连续相似的字符串越相似,取相似度最高的前五个并输出,请编程!个人解题思路:先生成1000个不重复的字符串(当时考虑到两种情况,一种是通过循环和随机数,从26个英文字母中通过循环和随机数获取到不同的字母拼接再拼接4个不同的字符串,并存储到HashSet中...
2019-12-21 22:04:17
357
原创 Java运行时内存笔记
Java运行时内存一、内存模型之所以将JVM的内存结构优化分为多个不同的内存区,是因为他们的用途和生命周期可能大不相同,但是他们的职责都是一样的:存储程序的运行时内存。1、线程共享内存区1.1 Java堆区(Heap)Java堆区是在JVM启动时创建的,它在实际的内存空间中可以是不连续的;Heap是一块用于存储对象实例的内存区;存储在Heap的对象可以分为两类:瞬时对象,生命周期较短...
2019-11-19 22:16:45
163
原创 ElasticSearch的Query高级查询
高级查询:1子条件查询:特定字段查询所指特定值1. Query Context:在查询过程中,除了判断文档是否满足查询条件外,ES还会计算一个_score来标识匹配的程度,旨在判断目标文档和查询条件匹配的有多好(与查询的条件有多吻合)a):全文本查询:针对文本类型数据 ①:模糊匹配:关键词为 "match",缺点:例如查询条件为"于晨001",那么查询的条件则成了"于晨"或...
2019-08-30 01:11:01
1447
原创 使用可视化工具连接Oracle、MySQL等数据库
一 确保电脑或者云服务器上已经安装好Oracle若未安装好,参考Oracle在Windows下的安装和启动二 使用可视化工具连接Oracle常用的工具有四种:PL/SQL Developer sqldeveloper Toad for Oracle Navicat PremiumNavicat Premium破解安装。这里主要将Navicat Premium,Navic...
2019-07-03 13:53:41
8006
原创 Oracle在Windows下的安装和启动(生产环境下的安装,即选择的是服务器类而非桌面类)
目录一 Oracle的卸载二 下载与安装的开始三 开始安装四 Oracle服务项与启动一 Oracle的卸载若已经安装过Oracle时,需要重新安装,可以参考完全卸载oracle11g步骤!使用bat文件,一键删除Oracle的注册表一键删除Oracle注册表二 下载与安装的开始从https://www.oracle.com中下载好Oracle,下载好后会有两个...
2019-07-03 13:49:14
1319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人