SpringBoot 虚拟线程
首先,虚拟线程是 Project Loom 的一部分。
此外,Loom 不会加速内存计算,例如并行流,这不是 Loom 的目标。
大约 4 分钟
首先,虚拟线程是 Project Loom 的一部分。
此外,Loom 不会加速内存计算,例如并行流,这不是 Loom 的目标。
Spring Boot 默认使用 Tomcat 作为嵌入式 Servlet 服务器,它是由 Apache 软件基金会下 Jakarta 项目开发的 Servlet 容器,被广泛用于部署和运行 Java Web 应用程序。特点是轻量级、易于安装和配置,并且具有良好的可扩展性和性能
# 使用Java 8基础镜像
FROM java:8
LABEL authors="mabh"
# 设置时区为Asia/Shanghai,可以根据需要更改
ENV TIME_ZONE=Asia/Shanghai
# 更新时区
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
# 设置容器内的工作目录
WORKDIR /app
# 将构建好的Spring Boot应用jar文件复制到镜像中
COPY ./${project.build.finalName}.jar /app/
COPY ./application.yml /app/
COPY ./application-${activatedProperties}.yml /app/
# 暴露端口
EXPOSE 8080
# 设置Java虚拟机初始内存和最大内存
#-server: 启用Java HotSpot虚拟机的服务器模式,该模式针对长时间运行的应用程序进行了优化以提高性能。
#-Xms512m: 设置Java堆的初始大小为512兆字节。
#-Xmx1024m: 设置Java堆的最大大小为1024兆字节。
#-XX:+UseG1GC: 启用G1垃圾收集器。G1(Garbage-First)是一种相对新的垃圾收集器,旨在提供更可预测的停顿时间和更好的性能。
#-XX:+HeapDumpOnOutOfMemoryError: 在发生内存溢出错误时生成堆转储文件。这对于分析内存问题非常有用。
#-XX:HeapDumpPath=/dumps/oom_dump.hprof: 指定内存转储文件。在这个例子中,堆转储文件将被写入 /dumps/oom_dump.hprof 目录文件中。
ENV JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom_dump.hprof"
ENV APP_ENV="--spring.profiles.active=${activatedProperties}"
# 创建内存转储文件和日志文件存储目录
RUN mkdir /app/dumps
RUN mkdir /app/logs
# 设置容器启动时执行的命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dlogging.file=/app/logs/application.log -jar /app/${project.build.finalName}.jar $APP_ENV"]
Docker时区问题通常是由于时区设置不正确导致的。当Docker容器启动时,它会继承宿主机的时区设置。如果宿主机的时区设置不正确,那么容器内的时间也会不正确。解决这个问题的方法通常如下面几种:
参考 : https://blog.csdn.net/weixin_43834401/article/details/130670792
在日常开发和维护工作中,Docker 镜像管理是一件既繁复又必要的工作。镜像积累如山,不仅占用宝贵的磁盘空间,还可能给我们的工作带来不便。今天,就让我带大家深入了解如何高效清理 Docker 镜像,保持我们的开发环境干净整洁。
什么是 wordscheck ?
wordscheck
是敏感词检测API
,提供文本识别、智能鉴黄、涉政检测、谩骂等等敏感词检测过滤服务。
总得来说,现阶段对于【出厂】就是基于 Android 11 (并且是V-AB 分区结构)及以上系统底层的机型刷入完整可用的 Magisk ROOT 权限主要步骤如下
Spring Boot 是一种广泛使用且非常流行的企业级高性能框架。以下是一些最佳实践和一些技巧,我们可以使用它们来改进 Spring Boot 应用程序并使其更加高效。这篇文章会有点长,完整读完文章需要一些时间。
一、根据PID过滤进程所有信息
#! /bin/bash
# Function: 根据用户输入的PID,过滤出该PID所有的信息
read -p "请输入要查询的PID: " P
n=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l`
if [ $n -eq 0 ];then
echo "该PID不存在!!"
exit
fi
echo "--------------------------------"
echo "进程PID: $P"
echo "进程命令:`ps -aux| awk '$2~/^'$P'$/{print $11}'`"
echo "进程所属用户: `ps -aux| awk '$2~/^'$P'$/{print $1}'`"
echo "CPU占用率:`ps -aux| awk '$2~/^'$P'$/{print $3}'`%"
echo "内存占用率:`ps -aux| awk '$2~/^'$P'$/{print $4}'`%"
echo "进程开始运行的时刻:`ps -aux| awk '$2~/^'$P'$/{print $9}'`"
echo "进程运行的时间:`ps -aux| awk '$2~/^'$P'$/{print $10}'`"
echo "进程状态:`ps -aux| awk '$2~/^'$P'$/{print $8}'`"
echo "进程虚拟内存:`ps -aux| awk '$2~/^'$P'$/{print $5}'`"
echo "进程共享内存:`ps -aux| awk '$2~/^'$P'$/{print $6}'`"
echo "--------------------------------"