- 博客(45)
- 资源 (3)
- 收藏
- 关注
原创 三、RestClient操作索引库与文档
`ES`官方提供了各种不同语言的客户端,用来操作`ES`。这些客户端的本质就是组装`DSL`语句,通过`http`请求发送给`ES`。
2023-10-18 15:56:44
273
原创 二、ElasticSearch中索引库与文档操作
官方网址:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/dynamic-mapping.html。是对索引库中文档的约束,常见的。请求操作索引库、文档。
2023-10-18 13:30:06
455
原创 一、初识 Elasticsearch:概念,安装,设置分词器
elasticsearch 结合 kibana、Loastash、Beats,也就是elastic stack (ELK)。被广泛应用在日志数据分析、实时监控等领域。elasticsearch 是 elastic stack 的核心,负责存储、搜索、分析数据。
2023-10-17 21:43:58
554
原创 Leetcode 283. 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。
2023-10-17 15:44:25
129
原创 Leetcode128. 最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
2023-10-17 14:26:38
139
原创 Leetcode49 字母异位词分组解析
字母异位词是同一组单词的不同组合。想要找到某两个单词是否为 字母异位词, 只需要将其进行排序之后便可以确定。给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
2023-10-17 13:45:20
108
原创 【leetcode 1143 题】求两个字符串的公共子序列的最大长度
题目:给两个字符串,要求返回这俩字符串的最长公共子序列。比如:两个字符串如下“123aase234”“s23se43”返回:5
2023-08-24 22:58:42
158
原创 Spring中Bean的生命周期(三种版本循序渐进,简单易懂)
可以在IOC容器对Bean设置了属性值之后,利用已经赋值的属性做一些事情。比如某个属性的值是依赖某个属性的。通常使用 Spring Aware 的目的是为了让 Bean 获得 Spring 容器的服务。
2023-07-16 15:37:28
174
原创 【JUC(三)】中断与等待唤醒
和的区别通过上面的例子可以了解到:在Java中没有办法立即停止一条线程(处于阻塞状态除外),然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的——。中断只是一种协作协商机制,Java没有给中断增加任何语法,中断的过程完全需要程序员自己实现。比如调用了的方法。只能在 run 方法中使用与方法的返回值确定是否中断,然后自行编写中断逻辑。
2023-07-02 13:10:12
176
原创 【JUC(二)】Java中的同步与锁
非静态方法的默认锁为 this,静态方法的锁默认为Class实例。在某一个时刻内,之能有一个线程持有锁,无论几个方法。线程八锁锁升级发生后,hashcode去哪啦锁升级为轻量级或重量级锁后,Mark Word中保存的分别是线程栈帧里的锁记录指针和重量级锁指针,己经没有位置再保存哈希码,GC年龄了,那么这些信息被移动到哪里去了呢?下面描述来源于:《深度理解Java虚拟机》第三版。计算过哈希的对象,无法在进入偏向锁状态。处于偏向锁的对象,当需要计算哈希时,该对象的偏向状态会被撤销,升级为重量级锁。
2023-06-28 15:43:15
739
原创 【JUC(一)】进程、线程与管程
进程:程序是静止的,进程实体的运行过程就是进程,是系统进行进程的特征:并发性、异步性、动态性、独立性、结构性:线程是属于进程的,是一个基本的 CPU 执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是系统,线程本身不拥有系统资源,只拥有一点在运行中必不可少的资源,与同属一个进程的其他线程共享进程所拥有的全部资源关系:一个进程可以包含多个线程,这就是多线程,比如看视频是进程,图画、声音、广告等就是多个线程线程的作用:使多道程序更好的并发执行,提高资源利用率和系统吞吐量,增强操作系统的并发性能。
2023-06-23 15:46:47
457
原创 二分查找算法的题解集合
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]输入:nums = [], target = 0。
2023-06-18 15:41:22
690
原创 使用U盘在物理机中安装 Centos7【解决dracut-initqueue[]:Warning:dracut-inituenue timeout问题】
尝试过:启动时进入编辑模式,修改 label 和 /dev/sdbX。没有效果,问题依旧存在。使用 UltraISO 将镜像刻录到U盘之后。安装下面的选择进行制作。
2023-04-28 11:40:48
334
原创 Hadoop学习笔记(二)环境配置与服务器克隆
这部分很简单,只需要按照常规步骤一步一步安装即可。最后出现如下画面便完成了。如果出现了一打开 “开启虚拟机” 就蓝屏的情况。可以试试将VMware更新到16+的版本以上。
2023-04-27 20:26:07
480
原创 Hadoop学习笔记(一)Hadoop的组成
NameNode用于记录整个数据的存储情况,具体的数据存储在各个Hadoop节点中,每个Hadoop的节点可以称为DataNode。假设Hadoop1到Hadoop100的机器每个都有1T的容量。那么一共就可以存储100T的数据。
2023-04-26 20:42:43
469
原创 使用 terminalizer 创建命令行动画
我们在看一些文章时经常会看到别人的文章当中有一个动态的命令行图片。比如下面这样的。这都是使用一个叫开源项目来做的。
2023-04-02 20:28:12
144
原创 JVM学习笔记十一:StringTable
- String:字符串,使用一对""引起来表示- String声明为final的,不可被继承- String实现了Serializable接口:表示字符串是支持序列化的。- String实现了Comparable接口:表示string可以比较大小- String在jdk8及以前内部定义了final char[] value用于存储字符串数据。JDK9时改为byte[]
2023-04-01 16:07:31
301
原创 JVM学习笔记十:执行引擎
执行引擎属于JVM的下层,里面包括解释器、及时编译器、垃圾回收器执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。JVM的主要任务是负责装载字节码到其内部。
2023-03-10 20:20:54
684
原创 JVM学习笔记九:对象实例化与直接内存
不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是在Java堆外的、直接向系统申请的内存区间。来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存。通常,访问直接内存的速度会优于Java堆,即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区。
2023-03-09 19:47:42
218
原创 JVM学习笔记八:方法区
《Java虚拟机规范》中明确说明:尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。
2023-02-07 17:47:20
124
原创 JVM学习笔记七:堆
堆对于一个 JVM 进程来说是唯一的,也就是一个进程只有一个 JVM,但是进程包含多个线程,他们是共享同一堆空间的。一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域。Java 堆区在 JVM 启动的时候即被创建,其空间大小也就确定了。是 JVM 管理的最大一块内存空间。堆内存的大小是可以调节的。《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。所有的线程共享Java堆,在这里还可以划分。
2023-01-24 20:36:49
102
原创 JVM学习笔记六:本地方法接口和本地方法栈
简单地讲,一个 Native Method 是一个 Java 调用非 Java 代码的接囗。该方法的实现由非Java语言实现,比如 C。这个特征并非 Java 所特有,很多其它的编程语言都有这一机制,比如在C中,你可以用 extern “c” 告知c编译器去调用一个c的函数。在定义一个 native method 时,并不提供实现体(有些像定义一个Java interface),因为其实现体是由非 Java 语言在外面实现的。本地接口的作用是融合不同的编程语言为Java所用,它的初衷是。
2023-01-18 23:54:30
95
原创 JVM学习笔记五:虚拟机栈(VMS)
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。
2023-01-18 16:47:50
892
原创 JVM学习笔记四:程序计数器(PC寄存器)
JVM 中的程序计数寄存器中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。它是一块很小的内存空间,几乎可以忽略不记。也是运行速度最快的存储区域。在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
2023-01-07 23:33:32
113
原创 JVM学习笔记三:运行时数据区概述及线程
阿里Java规范对JVM内存模型的划分其中元数据和CodeCache,都可以统称为非堆空间。方法区也可以称为元空间。Runtime。对于各个区域是共享的还是线程私有的,如下图:pc:程序计数器VMS:虚拟机栈NMS:本地方法栈。
2023-01-07 22:47:50
98
原创 JVM学习笔记二:类加载子系统
关于JVM的内存结构如下图:对上图的介绍如下:程序计数器程序计数器(PC)是一块较小的内存空间,在当前线程执行字节码文件时,程序计数器就可以看作是一个行号指示器。通过改变计数器的值来选取下一个需要执行的字节码指令。由于Java是支持多线程操作,为了保证多个线程在轮流执行时还能够保持执行顺序的正确性,程序计数器是线程独享的数据区。如果当前正在执行一个 Java 方法,那么程序计数器记录的是正在执行的虚拟机字节码指令的地址。
2023-01-04 22:03:20
186
原创 因果推断简介
机器学习基本上可以算是统计机器学习问题,也就是通过大量的数据学习到一些潜在的数据之间的特征,从而得到数据与数据之前的相关关系,进而进行目标检测、追踪、知识问答等处理。很自然的一个问题就是,既然机器学习当前主流是以统计规律得到的相关关系为主,那么我们为什么要研究因果关系呢?因为辛普森悖论 (Yule-Simpson’s Paradox)所揭示的现象,统计规律有时候不一定是正确的,所以我们需要建立起数据之间的因果联系,这也是因果推理在机器学习中存在的价值。
2022-10-24 16:12:09
1895
翻译 KaFSP: 大规模知识库会话问答的知识感知模糊语义分析
本文主要关注的问题有两个:1. 语法中定义的动作不足以处理现实世界场景中常见的不确定推理。2. 知识库信息没有被很好地利用和纳入语义解析中。
2022-10-12 16:34:17
347
原创 Linux下sudo导致的环境问题【python】
问题描述which pythonsudo which python执行上面两个命令会输出python所在的路径。但是会发现两个命令输出的结果是不同的。因为sudo 会从新设置 PATH 的值。导致 sudo python 与 python 执行的不是一个python。如下解决使用 alias 命令设置一个新的 sudo 命令。编辑 ~/.bashrcalias sudo='sudo env PATH=$PATH'参考https://stackoverflow.co
2022-05-19 22:03:30
685
原创 Windows10 找不到 mfc100u.dll 解决方案
直接下载 mfc100u.dll 无法解决问题,运行程序还是找不到。最终解决方法:Microsoft Visual C++ 2010 Service Packhttps://www.microsoft.com/en-us/download/details.aspx?id=26999下载上面这个,直接安装就可以了。参考:How to Fix Mfc100.dll Is Missing or Not Found ErrorsA troubleshooting guide for mfc100.d
2022-04-08 22:22:43
1424
原创 用单链表表示【多项式加法】
测试用的多项式p1 = 2x^2 + 3x + 1p2 = -2x + 3p1 + p2 可以得到: 2x^2 + x + 4节点定义struct ployNode{ int coef; // 系数 int expon; // 指数 struct ployNode *next; // 指向下一个指针};typedef struct ployNode ployno...
2020-03-09 16:31:08
586
原创 在Win10下编译Spring4.3.12源码,并导入idea, 进行测试
作为一名Java开发人员,和Spring打交道的次数可能比陪女朋友还多。况且Spring现在不仅仅是一个框架,同时也是Java行业的标准。面试当中关于Spring的问题也是多不胜数。所以对于Java开发人员学习Spring源码,理解Spring底层变得尤为重要。本文就针对学习Spring源码的第一步: windows下编译Spring4.3.12源码,导入Idea。文章目录搭建环境下载Spri...
2019-02-16 00:22:01
983
1
原创 npm 提示 node_modules\fsevents 找不到
no such file or directory, access XXX/node_modules\fsevents 使用 cnpm 就成功了…..^_^
2018-06-12 09:32:09
4418
转载 mysql基础命令/sql
本单元目标一、为什么要学习数据库二、数据库的相关概念 DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令...
2018-06-01 13:24:51
266
原创 CentOS7 安装 Redis
这里重点是Redis的安装 CentOS的不在赘述下载Redis官网 | 中文网 下载 网站首页找到download点一下即可 也可以直接 wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载 下载后会有一个 redis-4.0.9.tar.gz 文件 使用 tar -xvzf 即可解压 出 redis-4....
2018-04-24 19:48:20
238
原创 CentOS 7 下 部署javaweb项目时MySQL: Connections could not be acquired from the underlying database!
MySQL java.sql.SQLException: Connections could not be acquired from the underlying database!spring + springmvc 使用maven进行了打包 数据库链接池使用的是c3p0 在本地测试好好的没有任何问题 , 将javaweb项目发布到了服务器上 , MySQL却出错了 1. 查看 ...
2018-04-16 17:51:24
379
原创 spring初始化时创建两个bean
今天在使用spring时发现容器会重复创建两个bean网上类似情况都是配置文件的问题 可是我这就只有这两个类出现这种情况 , 其他spring容器当中的bean都是很乖巧的创建一次.所以感觉这个情况并不是 spring配置文件的问题 .@Repositorypublic class ArticleDAOImpl extends GenericDAOImpl<Article> im...
2018-04-04 19:43:30
1826
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人