JAVA 五月 04, 2022

stopwatch优雅打印执行时间

文章字数 5.8k 阅读约需 5 mins.

在开发过程中, 有时需要记录一段代码的执行时间,或任务执行的时间.传统用法是在执行开始于结束各记录一次时间,两次时间相减就是执行时间.但这每次计算都需要设置两个变量放于首位.且随着业务改动,调整较大....

查看全文

JAVA 五月 04, 2022

stopwatch优雅打印执行时间

文章字数 5.8k 阅读约需 5 mins.

在开发过程中, 有时需要记录一段代码的执行时间,或任务执行的时间.传统用法是在执行开始于结束各记录一次时间,两次时间相减就是执行时间.但这每次计算都需要设置两个变量放于首位.且随着业务改动,调整较大. 而目前有这么一类秒表工具类stopwatch.一次定义,多次使用. 提供者有spring-framework,apache与google.

在业务开始与结束分别获取一次系统时间,并在最后两值相减获取执行时间,并按照自己的格式输出.


    public static void main(String[]...
查看全文

JAVA 五月 04, 2022

日期注解

文章字数 263 阅读约需 1 mins.

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
接口输出所用到的格式化日期注解
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
接口接收日期字段所用到的格式化日期注解
查看全文

MYSQL 十二月 06, 2021

MySQL(六)查询优化

文章字数 7.1k 阅读约需 6 mins.

  • 网络

  • CPU

  • IO

  • 上下文切换

  • 系统调用

  • 生成统计信息

  • 锁等待时间

  • 减少访问数据量的方式进行优化
    • 确认应用程序是否在检索大量超过需要的数据
    • 确认mysql服务器层是否在分析大量超过需要的数据行
  • 是否向数据库请求了不需要的数据
    • 查询不需要的记录,优化:使用limit限制查询的列.
    • 多表关联时返回全部列,优化:取用到的字段
    • 总是取出全部列,优化:取用到的字段
    • 重复查询相同的数据,优化:在外部缓存起来.

查询缓存

如果查询缓存是打开的,那么mysql会优先检查这个查询是否...

查看全文

MYSQL 十月 24, 2021

MySQL(八)日志文件

文章字数 3.8k 阅读约需 3 mins.

A 原子性 –undolog实现

C 一致性 –通过其他三个(AID)来实现

I 隔离性 –通过锁实现

D 持久性 –redolog实现

确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。

  • 当发生数据修改的时候, innodb 引擎会先将记录写到 redo log 中,并更新内存,此时更新就算是完成了,同时 innodb 引擎会在合适的时机将记录操作到磁盘中

  • redolog 是固定大小的,是循...

查看全文

ES 十月 12, 2021

分词器

文章字数 6k 阅读约需 5 mins.

分词之前的预处理,过滤无用字符

切词用

常见的分词器

  • standard analyzer:默认分词器,中文支持的不理想,会逐字拆分。
  • pattern tokenizer:以正则匹配分隔符,把文本拆分成若干词项。
  • simple pattern tokenizer:以正则匹配词项,速度比pattern tokenizer快。
  • whitespace analyzer:以空白符分隔

中文分词器 ik

安装与部署

查看全文

ES 十月 12, 2021

聚合查询

文章字数 2.8k 阅读约需 3 mins.

聚合(aggs)查询中,进行聚合的字段必须是exact value,分词字段不可进行聚合,对于text字段如果需要使用聚合,需要开启fielddata,但是通常不建议,因为fielddata是将聚合使用的数据结构由磁盘(doc_values)变为了堆内存(field_data),大数据的聚合操作很容易导致OOM,详细原理会在进阶篇中阐述。

三种聚合分类

  1. 分桶聚合(Bucket agregations):类比SQL中的group by的作用,主要用于统计不同类型数据的数量

    函数:terms

    注意...

查看全文

ES 十月 12, 2021

环境搭建

文章字数 5.2k 阅读约需 5 mins.

  1. 下载elasticsearch镜像

    docker pull elasticsearch:8.2.0
    
    root@空痕影的matebook:~# docker pull elasticsearch:8.2.0
    8.2.0: Pulling from library/elasticsearch
    e0b25ef51634: Pull complete
    860caabdf263: Pull complete
    9fbe6bc43ac5: Pull complete
    9d4f6737f430: Pull complete...
查看全文

ES 十月 12, 2021

mapping

文章字数 5.3k 阅读约需 5 mins.

​ mapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping,mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等。

  1. 在dev tools中命令查询

    GET user/_mapping

  2. 在索引管理界面中查看

    stack management ->index mamagement ->(select table) ->mappings

    ...
查看全文

DOCKER 十月 10, 2021

八 docker 编排之componse

文章字数 387 阅读约需 1 mins.

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

DockerCompose的使用步骤

  • 创建对应的DockerFile文件
  • 创建yml文件,在yml文件中编排我们的服务
  • 通过docker-compose up命令 一键运行我们的容器
查看全文

DOCKER 十月 10, 2021

七 docker 持久化

文章字数 12k 阅读约需 11 mins.

​ 由于联合文件系统的特性,我们无法对镜像文件进行写入操作.这使得我们使用容器产生的应用数据,随着容器的停止删除也会随之删除. 这时为了解决容器的数据持久化,我们需要通过容器数据卷来解决这个问题.

​ 卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性.

​ 卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷.

特点:

... 查看全文
加载更多
0%