乐游さん 的博客~

一直来自北方的程序猿 ~


  • 首页

  • 归档

  • 分类

  • 关于

Mac下安装Jmeter

发表于 2021-05-28 | 更新于: 2021-05-28 | 分类于 工具 |

前提

任何操作系统,运行JMeter都依赖基础环境配置。安装 jmeter 前需保证环境已安装并配置了 JDK 8或以上版本。

可以通过运行 java –version 命令来查看当前 jdk 版本。

下载

官网下载地址:http://jmeter.apache.org/download_jmeter.cgi

  • Binaries:二进制版本,可直接使用
  • Source:源代码版,需要自己编译

建议直接下载二进制版本直接进行使用。

下载安装包:

1
wget https://mirrors.bfsu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.1.tgz
阅读全文 »

Quarkus 打包native报错 随机数种子不符合预期

发表于 2021-05-28 | 更新于: 2021-05-28 | 分类于 JAVA |

Quarkus 是一个目前非常火的 Java 应用开发框架,定位是轻量级的微服务框架。Quarkus 提供了优秀的容器化整合能力,相较于传统开发框架(Spring Boot)有着更快的启动速度、更小的内存消耗、更短的服务响应。

通过 GraalVM 将 Quarkus 项目打包为 native运行程序,即可以实现项目的快速启动,达到秒级甚至为毫秒级。

但在使用过程中也同样有着一定的约束,比如——随机数。在原来将项目打包成jar的方式时,类的加载和初始化会在程序运行时才进行执行,比如java.util.Random类中的随机种子的生成会在程序真正运行并进行初始化时才会生成。但GraalVM 将 Quarkus 项目打包为 native运行程序时,会直接将类中的静态属性直接进行初始化操作,而不是等待程序运行时。

阅读全文 »

创建一个Quarkus应用程序

发表于 2021-05-27 | 更新于: 2021-05-27 | 分类于 JAVA |

说明:本文基本翻译自 Quarkus 官方指南的《Be Guided Through First Application》 一文,本文仅在其基础上进行了一定的补充说明和裁剪。

Quarkus简介

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。

虽然开源时间较短,但是生态方面也已经达到可用的状态,自身包含扩展框架,已经支持像 Netty、Undertow、Hibernate、JWT 等框架,足以用于开发企业级应用,用户也可以基于扩展框架自行扩展。

Quarkus 除了支持 jvm 的运行模式外,还支持 native 模式。native 模式类似于 C/C++,需要预先编译生成可执行文件。由于不需要 jvm,所以可以做到毫秒级别的启动,而且启动所需的内存也非常少。因此native模式非常适合 serverless 架构的实现。

阅读全文 »

Sublime Text 3 快捷键汇总

发表于 2021-04-14 | 更新于: 2021-04-14 | 分类于 工具 |

选择类

  • Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。
  • Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。
  • Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。
  • Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。
  • Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。
  • Ctrl+M 光标移动至括号内结束或开始的位置。
  • Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。
  • Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。
  • Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。
  • Ctrl+Shift+] 选中代码,按下快捷键,展开代码。
  • Ctrl+K+0 展开所有折叠代码。
    阅读全文 »

nginx日志分析工具:GoAccess

发表于 2021-02-03 | 更新于: 2021-02-03 | 分类于 运维 |

官方地址: https://goaccess.io

简介

GoAccess 被设计成快速的并基于终端的日志分析工具。其核心理念是不需要通过 Web 浏览器就能快速分析并实时查看 Web 服务器的统计数据(这对于需要使用 SSH 来对访问日志进行快速分析或者就是喜欢在终端环境下工作的人来说是超赞的)。

终端输出仅仅是默认的输出方式,GoAccess 还支持生成完整的实时 HTML 报告(这对分析、监控以及数据可视化都是极好的),以及 JSON 和 CSV 格式的报告。

一、安装goaccess

1、安装依赖库
1
yum install -y GeoIP-devel ncurses-devel
2、下载并安装GoAccess
1
2
3
4
5
wget https://tar.goaccess.io/goaccess-1.4.5.tar.gz
tar -xzvf goaccess-1.4.5.tar.gz
cd goaccess-1.4.5/
./configure --enable-utf8 --enable-geoip=legacy
make && make install

注:如果你觉得麻烦,也可通过yum进行安装

1
yum install goaccess
阅读全文 »

docker、containerd的关系

发表于 2020-12-07 | 更新于: 2020-12-07 | 分类于 运维 |

在 kubernetes 最近的一次更新中,有一个重要的变化,就是废弃了 docker 和 dockershim。这让我感到震惊,不知道发生了什么。于是开始探究了一番,之后就产生了这篇文章。

简介

为了防止docker一家独大,docker当年的实现被拆分出了几个标准化的模块,标准化的目的是模块是可被其他实现替换的,不由任何一个厂商控制。
docker由 docker-client ,dockerd,containerd,docker-shim,runc组成,所以containerd是docker的基础组件之一

阅读全文 »

Apache的BeanUtils、Spring的BeanUtils、Mapstruct、BeanCopier对象拷贝

发表于 2020-07-11 | 更新于: 2020-07-11 | 分类于 JAVA |

在项目中,尤其是在服务层,经常要将服务中的Dto实体对象拷贝到Entity对象用于前端展示。反过来也是一样,需要将前端请求对象转换为服务端的数据对象。现在市面上有很多这样的工具包,比如spring框架中就自带了BeanUtils,使我们进行这样的数据操作十分简单快捷。但是一直以来却没有关注到对象属性的拷贝性能问题,最近在想:单个对象的拷贝是快速的,可以不在意太多性能问题,可是如果数量级变大了会怎样呢?如果数量级到达了百万级别,会出现什么样的情况呢?

阅读全文 »

git commit 使用及规范

发表于 2020-07-09 | 更新于: 2020-07-09 | 分类于 工具 |

一、前言

日常开发中,保持良好的代码规范有利于提高项目的质量。而指定并遵守 git commit 的使用规范,则有利于提高项目的管理效率。

二、提交格式

在git add后,需要执行git commit进行提交,如、约定中应添加对应的描述信息,即通过:git commit -m 进行提交
提交格式如下:

1
2
3
4
5
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

type表示提交类别,scope表示修改范围,subject表示标题行, body表示主体描述内容。
<BLANK LINE>表示为空行,不填写任何内容

阅读全文 »

stream 流处理 Java 集合遇到的异常

发表于 2020-07-06 | 更新于: 2020-07-06 | 分类于 JAVA |

java.lang.IllegalStateException: Duplicate key 异常

异常原因:Key值重复
结局办法:在 stream 中进行逻辑处理,如果key重复,取哪一个值。
从执行结果来看,对于重复的key,对他的value可以有三种取值情况:

  • (k1, k2) -> k1,取第一个值
  • (k1, k2) -> k2),取第二个值
  • (k1, k2) -> k1 + k2),对两个值做某些操作后取结果。(例如基本类型可以进行加减乘除)。
阅读全文 »

Google PR算法

发表于 2020-04-18 | 更新于: 2020-04-18 | 分类于 搜索 |

PR(Page Rank)网页级别技术。取自Google的创始人Larry Page,它是Google排名运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)

阅读全文 »
12>
乐游

乐游

18 日志
5 分类
14 标签
© 2020 — 2021 乐游
由 Hexo 强力驱动
|
主题 — NexT.Muse
访问人数 总访问量