Halo上传失败


https://wanna1314y.top:3443/apis/api.console.halo.run/v1alpha1/attachments/upload { "spec": { "displayName": "9bc339b387b489dc81bf68e05b0

IDEA当中对Maven和Gradle进行自定义配置


在IDEA当中进行maven/gradle编译时,想要新增参数,可以鼠标右键-修改运行配置,进入到下面的页面进行修改,在运行处,可以添加”–debug"等参数。

IDEA无法识别到环境变量


问题描述:新配置了一个环境变量GRAALVM_HOME,但是通过IDEA启动Gradle一直无法识别到这个环境变量。 Determining GraalVM installation failed with message: 'gu' at '.../jdk-21.0.3.jdk/Contents/

HotspotVM的OOP模型


本文主要详细介绍Klass/Class/Oop之间的关系,从HotSpotVM的Cpp源码层面去进行相关的方法解析,还会介绍方法区的动态性的原理(运行时动态生成和加载字节码的原理)。 ps:本文中的环境使用的是OpenJDK11 1. 一起去了解HotSpotVM中的Oop模型吧! 我们以下面的代码

IStoreOS软路由系统部署旁路由实现科学上网


1. 安装IStoreOS系统作为旁路由 绿联NAS安装IStoreOS软路由系统。 进入虚拟机,输入quickstart,选择1选项修改LanIP,比如10.168.1.173(具体配置需要参考路由器的网段),以便我们可以通过控制台访问。 修改完成之后,选择QUIT退出quickstart页面。接

JCMD工具导出JVM线程栈(JSTACK)


针对两种需求,提供对应的实现方式。 输出线程栈信息到命令行。 输出线程栈信息到文件。 1.输出线程栈命令行 输出线程栈到命令可以使用如下命令 jcmd <pid> Thread.print 使用如下命令查看帮助文档 jcmd <pid> help Thread.print # 帮助文档如下 Pr

Java当中基于ASM进行类元信息的采集


基于ASM实现方法参数名的收集 open class LocalVariableTableParameterNameDiscoverer : ParameterNameDiscoverer { companion object { private val NO_DEB

JDK提供的@Repeatable注解的作用


我们都知道,在一个方法/类/字段上,对于同一个注解,只能添加一个,如果添加重复的注解,那么就会出现如下这样的错误。 那么我们如何实现在一个类上标注多个相同注解?其实有一种方式,比如我们的ComponentScan注解和@ComponentScans注解。在@ComponentScans中定义一个va

JDK11源码构建以及在Clion和VSCode中进行调试


事先说明:本教程不适用于Windows,只适用于macOS、Ubuntu等类Unix系统。 1.下载JDK源码 需要注意的是,编译JDK源码需要一个Boot JDK作为引导,比如JDK12,就要以JDK11或JDK12的环境作为基础,再去编译JDK源码,而且不是每个版本都能成功编译的!推荐使用新一点

Jenkins安装与项目自动构建


1.安装Jenkins Jenkins安装手册 https://www.jenkins.io/doc/book/installing/ Jenkins官方的下载地址: https://www.jenkins.io/download/ 找到合适的版本,使用wget命令进行下载 wget https

JVM Debugger


1.JVMDebugger的实现 package com.wanna.web.debug; import com.sun.jdi.*; import com.sun.jdi.connect.AttachingConnector; import com.sun.jdi.connect.Connect

K8S部署Redis集群

k8s 

permalink: /archives/k8s-install-redis-by-redis-operator categories: k8s tags: 1.使用redis-cluster创建Redis集群 1.1 创建Redis集群 可以基于如下的资源清单,创建K8S的Redis集群: api

K8S部署TiDB数据库

k8s 

在K8S当中,进行TiDB的整体安装过程参考教程:tidb 1. 安装TIDB数据库 可以先创建两个Namespace专门存放TIDB相关的资源,tidb-admin存放TIDB的Operator相关的资源,tidb则存放TIDB数据库相关的资源。 kubectl create namespace

K8S当中持久卷(PV)、持久卷声明(PVC)与StorageClass

k8s 

1.PV和PVC 什么是PV和PVC? PV(PersistentVolume,持久卷),定义一个可以使用的数据卷,供K8S中的各个Pod使用,可以根据网络文件系统、云存储、Ceph存储等去作为持久卷的来源,比如我可以接入阿里云存储并封装成为PV,也可以接入NFS作为持久卷封装成为PV。 PVC(P

K8S集群安装(1)-基于KubeKey安装K8S集群

k8s 

1. 通过KubeKey去安装K8S和KubeSphere 安装流程参考KubeSphere官网提供的教程:https://www.kubesphere.io/zh/docs/v4.1/03-installation-and-upgrade/02-install-kubesphere/02-inst

K8S集群安装(2)-Harbor镜像仓库安装

k8s 

Harbor是一个私有的镜像仓库,可以用于存放Docker镜像,在K8S当中部署一个项目需要从镜像仓库拉取镜像,再去构建Pod。 为什么我们要去部署属于自己的私有镜像仓库Harbor? 1.K8S集群当中进行项目的构建时,如果从DockerHub进行镜像的拉取,因为墙的原因很容易遇到拉取不到镜像的情

k8s-service-internet-expose

k8s 

基于iptables实现80/443端口转发 在K8S集群当中,Ingress的Service默认会在30000-32767端口进行随机分配,但是如果我们想要以HTTP/HTTPS服务的标准端口80/443端口进行启动的话,就需要我们进行额外的端口转发,我们需要将443端口的流量路由到Ingress

k8s-nexus-repository-install

k8s 

1. 创建Nexus的Namespace并准备好PV 1.1 创建Namespace apiVersion: v1 kind: Namespace metadata: name: devops-tools 1.2 创建Nexus的PVC基于StorageClass创建PV 我们这里基于准备好的

K8S集群备份-Velero

k8s 

Velero官网如下:Velero。下面是Velero的官方文档介绍: Velero(原名 Heptio Ark)为您提供了备份和恢复 Kubernetes 集群资源和持久卷的工具。您可以在云提供商处或在本地运行 Velero。Velero 可让您: 备份您的集群并在丢失时恢复。 将集群资源迁移到其

K8S集群安装(3)-基于KubeSphere部署项目(含Ingress-Nginx的部署)

k8s 

1. 创建K8S项目Namespace 1.1 通过KubeSphere创建Namespace 进入到KubeSphere之后,在左侧的项目一栏,选择创建,去新建一个项目(或者说叫namespace),我们这里起名叫wanna-project。 需要注意的是:K8S当中,所有的资源都是namespa