Linux环境下,安装jdk、tomcat、mysql、redis、rocketmq以及项目部署

RocketMQ系列一 : Linux系统安装JDK1.8 本文主要是为了部署RocketMQ做准备, 前置条件需要先安装JDK。 阅读详情

如果你对在Linux环境下,对安装JDK、Tomcat、MySQL、Redis等有疑问,安装过程中经常出现问题,不妨看看本文,希望对你有用。

0、检查是否能连接外网

  • 查看虚拟机的IP地址
ifconfig   

如果显示ifconfig命令找不到,则需要安装net-tools插件:

yum install net-tools

此外,还可以通过 ip addr命令来查看虚拟机的IP地址

1、安装JDK

安装版本为jdk1.8.0_171,FinalShell上传jdk的安装包到Linux的根目录,将jdk的安装包解压到 /usr/local目录下

jdk-8u171-linux-x64.tar.gz

打开/etc/profile,配置环境变量,JAVA_HOME 和PATH

 vim /etc/profile
 # 如果显示 -bash: vim: 未找到命令,则需要安装vim
 yum install vim

在/etc/profile配置文件的末尾加上如下配置:

JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH

保存修改的配置后退出 /etc/profile,source命令重新加载/etc/profile,使其生效。

source /etc/profile

其后,通过 java -verison 就可查看jdk的相关信息,来检查是否安装成功。
在这里插入图片描述

2、安装Tomcat

安装版本为 tomcat-7.0.57,上传Tomcat的安装包到Linux的根目录,将Tomcat的安装包解压到 /usr/local目录下

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

切换到Tomcat的bin 目录下通过 sh startup.sh启动Tomcat,

sh startup.sh
# 或者
./startup.sh

在这里插入图片描述
验证Tomcat是否启动成功,可以查看日志
(tail -10 catalina.out或more catalina.out命令)

在这里插入图片描述
或者ps查看进程:

ps -ef | grep tomcat

当然,还可以在Window端通过IP+端口的方式来访问,在这里插入图片描述
这种方式需要Linux关闭防火墙,可通过如下命令:

# 暂时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
# 此外,查看防火墙状态的命令1:
systemctl status firewalld
# 或者命令2:
firewall-cmd --state
# 开放指定端口(需要在防火墙开启状态下去开放或关闭指定端口),如:3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

停止Tomcat服务:
bin目录下运行停止服务的脚本shutdown.sh:

sh shutdown.sh
或
./shutdown.sh

3、安装MySQL

安装版本为 mysql-5.7.25,上传MySQL的安装包,将其解压到/usr/local/mysql目录下,

mkdir /usr/local/mysql
cd /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz
  • RPM:即RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
  • 安装rpm软件包之前,需要检测当前虚拟机是否安装MySQL、mariadb(需要卸载):
# 查询当前系统中安装的所有软件
rpm -qa       
# 查询当前系统中带有名为mysql的软件
rpm -qa | grep mysql
# 查询当前系统中带有名为mariadb的软件,找到并删除
rpm -qa | grep mariadb
# Centos7自带mariadb,会与mysql冲突,应删除
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

注:卸载已经安装的冲突应用:

rpm -e --nodeps 软件应用名

在这里插入图片描述

按照如下顺序安装rpm软件包:

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

注意:安装软件包时,一定要按照如上的顺序进行,不然可能会出现错误,因为各个rpm软件包之间存在着一定的依赖关系。
安装完成后,可以通过yum update升级现有的软件和系统内核

启动和验证mysql是否安装成功

# 启动mysql服务
systemctl start mysqld
# 查看mysql服务状态
systemctl status mysqld
# 开机就启动mysql服务,避免每次手动启动服务
systemctl enable mysqld
# 查看已经启动的服务
netstat -tunlp
# 查看已经启动的、名为mysql的服务
netstat -tunlp | grep mysql       
# 查看名为mysql的进程
ps -ef | grep mysql

在这里插入图片描述
初次登录MySQL,需要在/var/log/mysqld.log日志文件中查阅临时密码:

cat /var/log/mysqld.log | grep password

在这里插入图片描述

登录mysql,修改密码,并开放访问权限:

# 登录mysql(使用临时密码)
mysql -uroot -p  
# 设置最短密码长度
set global validate_passwo`rd_length=4;
# 设置密码的安全等级,便于密码可以使用`123456`这类简单密码
set global validate_password_policy=LOW;
# 设置密码为`123456`
set password = password('123456');
# 开放访问权限,允许外部用密码`123456`访问本地的mysql
grant all on *.* to 'root'@'%' identified by '123456';
# 刷新权限,让配置立即生效
flush privileges;

注意:不要忘了命令后面的分号,表示命令结束,要立即执行。
如此,就可以使用配置的正式密码(123456)来登录mysql了。

mysql -uroot -p123456

在这里插入图片描述

# 查看mysql中的数据库
show databases;

在这里插入图片描述
此外,还可以Windows中访问Linux系统的mysql。
在这里插入图片描述

补充:安装lrzsz
lrzsz是一款在linux里可代替ftp上传和下载的程序,当然,你也可以使用FinalShell,FinalShell自带文件上传和下载的功能。

# 在服务器上搜索lrzsz安装包
yum list lrzsz
# 安装lrzsz
yum install lrzsz.x86_64

在这里插入图片描述

4、部署项目

项目部署可以通过手动部署和Shell脚本的方式来部署,这里就只介绍下手动部署。

4.1、手动部署项目

在IDEA工具中,将项目打包成jar包,这是一个简单的Springboot项目,创建项目后,只编写了DeployController和application.yml。
在这里插入图片描述
application.yml:

server:
  port: 9898

logging:
  level:
    com.example.demo: debug
@RestController
@RequestMapping("/deploy")
@Slf4j
public class DeployController {

    @GetMapping("/test")
    public String test(){
        System.out.println("正在测试项目部署:");
        return "测试项目部署中。。。";
    }

    @GetMapping("/hello")
    public String hello(){
        log.info("项目已经成功部署!");
        return "deploy_project_test 已部署成功!";
    }
}

1)点击Lifecycle中的package选项
在这里插入图片描述
2)或者在Terminal终端通过命令的方式打包,切换到想要打包的项目路径下,输入命令: mvn clean package
在这里插入图片描述
在这里插入图片描述
打包完成后,会在target目录下生成一个名为 demo的jar包
在这里插入图片描述
上传刚刚打包的jar包到虚拟机的/usr/local/deploy目录下(可以是任意目录),且切换到deploy目录,通过 java -jar命令来启动项目。

java -jar demo-0.0.1-SNAPSHOT.jar

如果要能通过外部访问,需要查看本机是否关闭了防火强,或开启了防火墙,则要检查是否开放了要部署的项目端口。关于防火墙和开放端口的命令在前面安装Tomcat时有讲过。

firewall-cmd --zone=public --list-port

部署项目的端口是9898,可以在本地浏览器上发送请求:
http://192.168.40.144:9898/deploy/hello
http://192.168.40.144:9898/deploy/test
在这里插入图片描述
可以在Linux端的控制台看到有关日志:
在这里插入图片描述
但这样的部署方式存在一定的问题,该方式通过控制台霸屏来运行,如果退出终端,就无法访问该部署项目,需要改为后台运行程序,并将日志输出到日志文件中,方便运维查阅日志。

# 以nohup不挂断的方式来启动项目(即使关闭控制台,也能正常访问)
# 运行日志将记录在demo01.log中
nohup java -jar demo-0.0.1-SNAPSHOT.jar &> demo01.log &
  • 关闭服务
# 查询正在运行的进程
ps -ef | grep 'java -jar'
# 杀死进程(-9 表示强制杀死,pid是进程号)
kill -9 pid

在这里插入图片描述
如此,杀死进程后,服务就无法访问了。

4.2、安装git
# 列出服务器上git的安装包
 yum list git
 # 在线安装git
 yum install git.x86_64

在这里插入图片描述

4.3、安装maven

将maven的安装包解压在/usr/local/目录下,

 cd /usr/local
 tar -zxvf apache-maven-3.5.4-bin.tar.gz

编辑/etc/profile,将maven的环境变量添加到文件末尾

vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

在这里插入图片描述
如此,就可通过mvn -version来查看当前maven的有关信息
在这里插入图片描述
配置maven的本地仓库
(修改apache-maven-3.5.4/conf/settings.xml):

# 创建本地仓库的文件夹
mkdir maven_repo/
# 编辑settings.xml
cd apache-maven-3.5.4/conf/settings.xml
vim settings.xml

将如下本地仓库的配置添加到settings.xml

<localRepository>/usr/local/maven_repo</localRepository>

在这里插入图片描述

5、安装Redis

安装版本为redis-6.2.1,将Redis安装包上传到根目录下,并解压到/usr/local目录,

tar -zxvf redis-6.2.1.tar.gz -C /usr/local

安装Redis的依赖环境gcc:

yum install gcc-c++

进入/usr/local/redis-6.2.1(我将redis解压在/usr/local)进行编译,命令为:

make

进入redis-6.2.1的src目录,进行安装,命令为:

make install

上述操作执行完成后,在redis目录下的redis.conf就是redis的配置文件,redis-6.2.1/src目录下的redis-server和redis-cli就是启动Redis服务端和客户端的脚本在这里插入图片描述
在这里插入图片描述
在src目录下,启动redis服务端和客户端的命令如下:

./redis-server
./redis-cli

在这里插入图片描述
在这里插入图片描述

6、RocketMQ

  • 下载RockeMQ需要的环境:
    Linux64位系统、JDK1.8(64位)、源码安装需要安装Maven 3.2.x
  • RocketMQ下载地址:RockMQ官网下载地址
  • 下载RockMQ4.4.0的二进制安装包(rocketmq-all-4.4.0-bin-release),并将其上传Linux系统,创建rocketmq,存放rocketmq服务
    在这里插入图片描述在这里插入图片描述
  • benchmark:存放一些demo以供运行
  • bin:存放可执行文件
  • conf:实例配置文件 ,包括broker配置文件、logback配置文件等
  • lib:依赖jar包,包括Netty、commons-lang、FastJSON等
  • rocketmq目录下,执行如下命令启动NameServer:
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
  • 输出如下日志,就表示rocketmq服务已经成功启动:
    在这里插入图片描述
  • 启动Broker
# 1.启动Broker, 9876是Broker的默认启动端口
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log 

问题如下,显示无法读取数据:
在这里插入图片描述

  • 原因在于RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑runbroker.sh和runserver.sh两个配置文件,修改JVM内存大小
# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh

参考配置:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=320m"

在这里插入图片描述

  • 关闭RocketMQ服务
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker
  • 依次启动NameServer、Broker:
 nohup sh mqnamesrv &
 nohup sh mqbroker -n localhost:9876 &
 # 查看启动的Java进程
 jps

如下,使用jps可见Broker和NameServer已经启动成功:
在这里插入图片描述

7、安装Docker

  • 在安装Docker之前,一定要保证是Centos7及以上版本,我这里是Centos7.6,可用命令 cat /etc/redhat-release 查看
    在这里插入图片描述

7.1、安装相关依赖

  • yum安装gcc相关
yum -y install gcc
yum -y install gcc-c++
  • 安装需要的软件包
yum install -y yum-utils
  • 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新yum软件包索引
yum makecache fast
  • 安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io

7.2、测试

  • 启动docker
systemctl start docker
  • 查看docker服务的运行状态
systemctl status docker
  • 运行自定义镜像(永远的helloworld)
docker run hello-world
  • 查看本地主机上的镜像
docker images

docker images命令Options说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。

docker images -a
docker images -q

在这里插入图片描述

在这里插入图片描述

云服务器环境搭建及部署,jdk、mysql、redis、nginx环境搭建 出现如图所示 command not found提示,说明该系统下没有安装过java,若不是则先卸载相关jdk产品。 阅读详情

相关推荐

SpringBoot核心原理与实战:从自动装配到生产部署全解析

在Java企业级应用开发领域,依赖注入(IoC)和面向切面编程(AOP)等核心概念构成了现代框架的基石。其原理在于通过容器管理对象生命周期和横切关注点,以提升代码的模块化和可维护性。这一技术的核心价值在于显著提升了开发效率与系统可维护性,广泛应用于Web服务、微服务等场景。本文聚焦于SpringBoot,深入剖析其如何通过自动配置和起步依赖等机制,实现开箱即用的开发体验。文中将结合自动装配、生产部署等热词,详解其从原理到上线的完整实践链路。

weixin_30824479的博客 469

在Linux安装Tomcat和JDK

Linux系统安装JDK与Tomcat

m0_46409549的博客 1400

Java后端面试备战指南:AI时代下的核心能力提升与场景题破解

这次我们来看一个Java程序员在AI冲击下的面试攻略。这不是一个具体的开源项目,而是一套应对当前技术变革和就业市场的系统性方法。核心目标很直接:帮助Java后端开发者,在AI工具普及、面试要求提高的背景下,更高效地准备面试,提升技术深度,从而找到工作或实现涨薪。 这篇文章的重点不是空谈概念,而是提供一套可落地、可验证的“作战方案”。我们会拆解从Java基础、并发编程、JVM、MySQL到Spring全家桶等核心模块的复习策略,并重点分析如何应对越来越流行的“场景题”和“八股文”结合的新型面试。无论你是应届生

weixin_34117211的博客 411

linux 安装jdk、tomcat

linux安装jdk、tomcat

wang13679201813的博客 1365

Redis

redis

の博客 381

rocketmq-4.7.1-.el7.x86_64.rpm

rocketmq-4.7.1 for linux 7 - 安装目录 /opt/rocketmq-4.7.1 --参数修改 vim /opt/rocketmq-4.7.1/conf/broker.conf - 启动(顺序) systemctl start mqnamesrv systemctl start mqbroker --查看状态 systemctl status mqnamesrv systemctl status mqbroker --停止(顺序) systemctl stop mqbroker systemctl stop mqnamesrv

linux系统中安装jdk、mysql 、maven等等

linux系统中安装jdk、mysql 、maven等等

weixin_43830264的博客 977

【AI生成】 LoRa无中心自组网实现方案

LoRa技术是一种低功耗广域网通信技术,它采用了扩频频率调制技术,能够实现远距离的传输。LoRa在物联网中具有重要的应用价值,可以支持大规模的设备连接并且具有较低的成本。同时,LoRa具有高度的抗干扰能力和适应性,能够在复杂的环境中实现稳定的通信。通过使用无中心自组网实现方案,可以进一步提高LoRa网络的灵活性和可靠性,实现设备之间的智能互联。LoRa无中心自组网实现方案将为物联网应用提供更加便捷和高效的通信解决方案。LoRa无中心自组网实现方案一、无中心自组网概念及优势。

qq_31310977的博客 2088

linux下redis,JDK,mysql,tomcat等部署

1.JDK部署 1.将安装包放置/home目录下,可用WinSCP软件进行文件传输, 2.解压到/usr/local目录下,命令为 tar -zxvf /home/jdk-7u80-linux-x64.tar.gz -C /usr/local 3.可以将文件夹名字更改,mv jdk1.7.0_80 jdk1.7 4.配置jdk的环境变量, 打开/etc/profile文件,添加 ex

Mr.罗的专栏 1812

二次规划问题(qp)和序列二次规划问题(sqp)的简单理解

当二次规划的约束为非线性约束时,通常会采用sqp进行求解,用连续求解qp的方法来得到非线性约束条件下的最优解,上述的qpoases和osqp均无法直接求解非线性约束问题,所以如果使用这两个库的话,注意,sqp是结果,而不是原因,只有在非线性约束的情况下才会考虑sqp求解,如果问题本身就是线性约束,则直接用qp解就行。对于工程师而言,我们在编写代码的时候,并不关心二次规划问题的求解细节,所以一般是把二次规划问题建立好后,直接调用三方库进行求解。因为约束为非线性约束,所以先将约束进行线性化,约束原方程为。

zmhzmhzm的博客 1万+

[漏洞利用]利用五次Shift越权破解win7\win10开机密码

注:第一个学习和接触的Windows漏洞 文章目录本机实验环境前置知识漏洞原理漏洞介绍漏洞验证解决方法基本流程介绍详细步骤截图 本机实验环境 虚拟机:VMware Workstation 14 pro 操作系统:Windows10 前置知识 1、cmd工具路径 c:\windows\system32\cmd,按五次shift默认调用同目录下sethc文件,其路径为“c:\windows\system32\sethc.exe” 2、用户/账户密码存储位置 c:\windows\system32\config\

Y4tacker的博客 2万+

linux下搭建各种应用

linux下搭建各种应用1,云服务器搭建2,安装docker3,查看防火墙,关闭4 , jdk1.85,tomcat6,mysql 1,云服务器搭建 (1)新购买的云服务器,装centos7的系统。这里置为停止状态 (2)选择重装系统 (3)点击确定 (4)装好以后会自动启动。我们先用xshell连接服务器 2,安装docker docker安装 (1) sudo yum remove docker \ docker-client \

ljs13168734665的博客 734

保姆级教程:用Comsol Multiphysics仿真你的第一个SAW滤波器(含压电材料参数设置)

本文提供了一份详细的COMSOL Multiphysics教程,指导读者完成表面声波滤波器(SAW)的压电仿真全流程。从压电材料参数设置、叉指换能器建模到多物理场耦合分析,特别强调了实际应用中容易出错的细节和解决方案,帮助工程师快速掌握SAW滤波器仿真技术。

weixin_42665255的博客 590

JP4-1-1-MyLesson项目简介

MyLesson项目简介,包括项目介绍,权限介绍,环境介绍,技术栈介绍,环境初始化操作,数据库表的创建等。

周航宇的博客 2948

S32K144 UDSdoCAN 升级刷写实现笔记

本篇旨在描述如何开发“车规级”的软件升级程序,通过在S32K144平台上实现基于UDSdoCAN的刷写升级功能,带你一步步建立安全升级的“工程思维”,在这里既能收获经验还能获得工程源码、测试脚本,助你起飞,避坑提速!

汽车电子软件领域知识分享 811

把 SAP OData 查询模式讲透:从 $select 到 $expand 的设计、实现与性能边界

摘要:本文深入探讨SAP生态中OData查询模式的核心设计与实现要点。文章指出,OData不仅是接口协议,更是HTTP、REST与数据模型的统一语言,其性能关键取决于查询选项($select、$filter等)的设计与实现质量。重点分析了$select的投影优化、$orderby的排序语义、$filter的数据库下推策略,以及$count的高效计数方法。通过具体示例和最佳实践,强调应将查询逻辑尽量下推至数据库层,避免在ABAP应用层处理大数据集,从而提升服务性能、降低资源消耗,实现Clean Core架构理

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 647

【Canal】实现原理和搭建方案

canal.adapter,相当于canal的客户端,会从canal-deployer中获取数据,然后对数据进行同步,可以同步到MySQL、Elasticsearch和HBase等存储中去。(1)全局配置:conf/application.properties(也可以是conf/application.yml,连接 Canal-Server、配置同步目标、全局参数)下载canal.deployer,可以直接监听MySQL的binlog,把自己伪装成MySQL的从库,只负责接收数据,并不做处理。

weixin_44823875的博客 926

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

大学生就业问题,在线咨询指导

大学生学编程就业问题讨论

weixin_43841075的博客 523

R语言中的混淆矩阵(Confusion Matrix)是一种常用的评估多分类模型性能的工具

除了准确率,混淆矩阵还提供了其他有用的指标,如灵敏度(Sensitivity)、特异度(Specificity)、精确度(Precision)和召回率(Recall)。混淆矩阵通过比较模型预测结果与实际标签的一致性,帮助我们了解模型的分类准确性和错误类型。此外,混淆矩阵还提供了各种错误类型的统计信息,如假阳性(False Positive)和假阴性(False Negative)等。通过混淆矩阵,我们可以了解模型的整体性能和错误类型,从而对模型进行评估和改进。最后,为了更好地理解混淆矩阵的结果,可以使用。

HackSquad的博客 972

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

简历中的专业技能

封装检索实体类{keyword,category1id…} ElasticsearchClient 的 search() 方法实现检索.接口中save() deleteById() 方法,实现专辑的上架,下架,还能实现自动创建索引库!做日志收集,便于后续查询问题,利用kibana可视化视图,编写dsl语句,提高开发效率。企业级搜索引擎实现全文检索功能,避免数据库索引失效的问题!多线程异步编排快速查询数据,实现上架数据的封装。实现自动补全功能,增强用户体验度。

410的博客 1228

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java后端面试实战:从JVM调优到系统设计的核心能力突破

在Java后端开发领域,JVM内存管理与系统架构设计是构建高性能、高可用应用的核心基础。JVM通过堆、栈、方法区等内存区域的划分与垃圾回收机制,保障了Java应用的稳定运行,而深入理解其原理是进行性能调优与故障排查的前提。从技术价值看,掌握JVM调优、并发编程及数据库优化能力,能显著提升系统吞吐量与稳定性,降低线上故障风险。在实际应用场景中,这些技术广泛应用于电商秒杀、金融交易、社交平台等高并发业务,解决诸如内存泄漏、缓存穿透、分布式事务等复杂问题。本文聚焦Java后端面试中的实战能力考察,通过模拟OOM排

weixin_33824363的博客 362

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JB2-2-Docker

容器化与虚拟化,Docker组件,Docker引擎,Docker镜像(加速器,daemon.json),Docker容器(创建,运行,查看,进入,拷贝),Docker网络,Docker备份(打包,备份,恢复,阿里云上传)等。

周航宇的博客 2299

Java最高频八股文速通

final 类:String 类被声明为 final,这意味着它不能被继承,从而防止了通过继承改变其行为。final 字段:String 类中的 value 字段是 final 的,这保证了 String 对象在创建后其内部字符数组不会被改变。没有提供修改方法:String 类没有提供任何可以修改其内容的方法。所有对 String 的操作(如拼接、替换等)都会生成一个新的String 对象。

qq_43751506的博客 6394

Java面试备战指南:从原理到实战,应对场景设计与深度考察

在Java后端开发领域,掌握核心原理与工程实践能力是应对技术面试的关键。理解Java虚拟机(JVM)的内存模型、垃圾回收机制以及并发编程中的锁与线程池原理,是构建高性能、高可用应用的基础。这些技术价值在于能够有效解决线上服务的内存溢出、CPU飙高和频繁Full GC等实际问题。随着微服务架构的普及,对分布式场景下的系统设计能力要求日益提高,例如秒杀系统、缓存架构等高频应用场景的考量。本文聚焦Java秋招面试的最新趋势,深入探讨如何将JVM调优、并发编程等底层原理与秒杀系统等复杂场景设计相结合,提供一套从知识

congju3179的博客 333

Java培训班价值评估指南:从技术框架视角拆解万元课程与自学路径

在软件开发领域,技术培训与自学是开发者提升技能的两条核心路径。其本质在于如何高效构建结构化的知识体系,将分散的技术点串联为可用的工程能力。从原理上看,无论是培训还是自学,关键在于能否将基础概念(如Java SE、数据库原理)与主流框架(如Spring Boot、MyBatis)深度融合,理解其设计思想而非仅停留在API调用层面。这种深度理解的技术价值在于,它能帮助开发者应对真实业务场景中的复杂问题,例如高并发处理、分布式系统设计,而非仅仅完成CRUD操作。在应用场景上,无论是企业级后端开发、微服务架构还是系

weixin_33923762的博客 386
上一篇: 权限管理SpringSecurity Oauth2整合JWT实战总结(三)
下一篇: MySql主从复制实战及排坑说明
咸鱼也有爱
博客等级 码龄7年 133粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值