- 博客(15)
- 资源 (57)
- 收藏
- 关注
原创 elasticsearch版本介绍
介绍elasticsearch 是一个高可扩展、开源的全文搜索、分析引擎。可以近实时的用来存储、搜索和分析大数据。关键词:近实时(Near Real Time) 高可用、水平扩展 分布式存储、搜索、分析引擎官网:https://www.elastic.co/cn/官网文档:https://www.elastic.co/guide/index.html官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/inde
2020-10-28 11:24:00 4865
原创 JAVA中IdentityHashMap使用
IdentityHashMap实现了Map接口,用法与HashMap差不多,都是用Hash表实现数据的存储,比较key的值是否相等,如果相等就替换原有的值。但是和hashmap最大的区别就是IdentityHash在比较key的时候使用的是”==“,也就是比较的是地址,而普通的hashmap在比较key的时候使用的是equals,如下方法:k1==null ? k2==null : k1.equals(k2)也正是由于IdentityHashmap的这个特点,那么在使用时需要小心。看一个例子:
2020-10-28 10:50:55 4216 2
转载 Java即时编译器原理解析及实践
一、导读常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式——字节码,然后再由解释器逐条将字节码解释为机器码来执行。所以在性能上,Java通常不如C++这类编译型语言。为了优化Java的性能 ,JVM在解释器之外引入了即时(Just In Time)编译器:当程序运行时,解释器首先发挥作用,代码可以直接执行。随着时间推移,即时编译器逐渐发挥作用,把越来越多的代
2020-10-22 22:08:10 817
转载 .gitignore不生效问题
问题:在使用git进行版本控制的过程中发现,将想被忽略的文件(文件夹)配置到.gitignore文件中后,实际修改了想被忽略的文件,调用git status查看时,仍然会提示提交这些文件。也就是说实际并没有被忽略原因:原因是git ignore只会对不在git仓库中的文件进行忽略,如果这些文件已经在git仓库中,则不会忽略。所以如果需要忽略的文件已经提交到本地仓库,则需要从本地仓库中删除掉,如果已经提交到远端仓库,则需要从远端仓库中删除。删除.gitignore文件才能实际生效。解决:
2020-10-22 22:04:33 292
转载 Java动态追踪技术探究
引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”长达几十秒的沉默之后:“据说,排查问题的最高境界,就是只通过Review代码来发现问题。”比几十秒长几十倍的沉默之后:“我轮询了那段代码一十七遍之后,
2020-10-21 21:35:06 460
转载 深入解析java中String类的intern方法
在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串是否存在,若不存在就
2020-10-21 20:55:10 573
转载 字节码增强技术探索
1.字节码1.1 什么是字节码?Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。在Java中一般是用javac命令编译源代码为字节码文件,一个.java文件从编译到运行的示例如图1所示。图1 Java运行
2020-10-19 10:56:01 610
原创 es 数据类型
官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html核心数据类型1、字符串类型:es6中,string类型已经被废弃了,需要使用text、keyword类型来代替。1)text类型:当一个字段需要用于全文搜索(会被分词),比如产品名称、产品描述信息, 就应该使用text类型。该类型字段会通过分析器转成terms list,然后存入索引。该类型字段不用于排序、聚合操作。
2020-10-15 16:38:48 4362 1
原创 git blame命令
git blame用来追溯一个指定文件的历史修改记录。它能显示任何文件中每行最后一次修改的提交记录。 所以,如果你在代码中看到一个有 bug 的方法,你可以使用 git blame 标注这个文件,查看哪一次提交引入了这行。用法:git blame filename可以使用 -L 指定文件的行数范围:git blame -L n1,n2 filename例如:第一列是commit id;接下来是提交人、提交时间。注意一下 ^1da177e4c3f4 这个提交的几行,其中的前缀 ^ 指.
2020-10-14 10:15:17 14268 1
原创 Elasticsearch三种分页方式
Elasticsearch中数据都存储在分片中,当执行搜索时每个分片独立搜索后,数据再经过整合返回。那么,如何实现分页查询呢?按照一般的查询流程来说,如果我想查询前10条数据:客户端请求发给某个节点 节点将请求转发到集群其他节点,各节点返回是否包含该请求信息,然后该节点再发送二次请求给具体包含该query倒排的节点上进行计算,查询每个分片上的前10条 结果返回给节点,整合数据,提取前10条 返回给请求客户端那么当我想要查询第10条到第20条的数据该怎么办呢?这个时候就用到分页查询了。在Ela
2020-10-13 21:43:47 8068 1
原创 statsD介绍、安装和使用
介绍应用程序的监控是微服务中很重要的一环。监控主要包括四个方面的内容:指标(metrics)的采集、存储、展示以及相应的报警机制。目前相关的解决方案以及工具非常多。今天就介绍一款用于采集数据的工具——StatsD。Statsd 最早是 2008 年 Flickr 公司用 Perl 写的针对 Graphite、datadog 等监控数据后端存储开发的前端网络应用,2011 年 Etsy 公司用 node.js 重构,有时间可以查看这边文章Measure Anything, Measure Every.
2020-10-12 22:03:04 9804
转载 服务响应时间与分布(p99指标)
分析服务响应时间分布,如:均值、中位值、P95值、P99值等如何计算平均值我们考察一个服务器的性能,除了QPS数据外,还会考察响应时间,当服务器负载增高时,往往会伴随着响应时间的增长,但是这个值该如何度量,以精准的表现服务器当前之负载呢?最常用的值为平均值,表示服务的平均响应时间,通过该值我们能够知道服务当前响应的所有请求耗时的平均值。 例如平均耗时为100ms,表示服务器当前请求的总耗时/请求总数量,通过该值,我们大体能知道服务运行情况。 但是对于具体有多少个请求的耗时比100ms要大,大多少
2020-10-12 20:32:52 20472
原创 jsoup使用介绍
简介jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。官网:https://jsoup.org/ github:https://github.com/jhy/jsoupJsoup的主要功能有三部分组成:从字符串,网页,本地文件等方式生成Documentn 在生成Doucment后,根据Dom和css或类似jquery的selector语法获取Eleme
2020-10-12 16:24:11 1077
原创 Python 模块搜索路径
简述我们都知道,使用python时,无论是使用第三方的模块(库),还是自己开发的模块,都需要先在代码中使用import来引入。对于初学者,经常会遇到的一个问题是在使用import时,Python 找不到相应的模块,于是编译器报-ImportError错误。那么,Python 如何知道在哪里搜索模块的路径呢?当import某个模块时,解释器首先搜索具有该名称的内置模块,如果没有找到,将在变量 sys.path 给出的目录列表中搜索名为 模块名.py 的文件。sys.path 包含了一下几个...
2020-10-10 18:42:05 1589
转载 python查看模块的版本
查看模块的版本有两种方法。方法一:>>> import requests>>> requests.__version__'2.6.0'方法二:>>> import requests>>> help(requests)...VERSION 2.6.0AUTHOR Kenneth Reitz
2020-10-10 17:27:28 3391
macOS eclipse Launcher
2023-12-18
parquet-tools-1.6.0rc3.zip
2020-07-24
jQuery-Plugin-For-Easily-Readable-JSON-Data-Viewer.zip
2019-12-31
yesmeck-jquery-jsonview-v1.2.3-14-g01b1eb8.zip
2019-12-30
linux解析json工具——jq
2017-09-16
jquery 全屏显示插件
2015-03-20
apache-maven-3.2.3-bin
2014-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人