编辑器vscode
在vscode中安装配置springboot
- 下载安装jdk
oracle jdk
BellSoft Liberica JDK version 17
- 在vscode编辑器中安装相关组件Extension Pack for Java、Spring Boot Extension Pack、Spring Initializr Java Support
- 创建springboot项目:ctrl+shift+p后输入Spring Initializr(基于Maven)
(1)选版本 3.0.6
选择开发语言选择java
创建包
项目名称
打包形式 jar
选择jdk版本 17
选择依赖 spring web (也可以将mysql、mybatis加入进去)
设置application.properties参数
server.port=8081
server.error.path=/error
server.servlet.session.timeout=30m
server.servlet.context-path=/javademo
server.tomcat.uri-encoding=utf-8
server.tomcat.max-threads=800
server.tomcat.max-connections=10000
server.tomcat.accept-count=200
server.tomcat.min-spare-threads=20
server.tomcat.basedir=/sp-log/javademo
以上分别为:端口号、错误页面地址、session保持分钟数、访问系统名、请求编码、最大线程数、最大连接数、等待队列长度、最小工作线程数量、运行日志及临时文件目录
线程数的经验值为:1核2G内存,线程数经验值200;4核8G内存, 线程数经验值800。
(4核8G内存单进程调度线程数800-1000,超过这个并发数之后,将会花费巨大的时间在CPU调度上)
等待队列长度:队列做缓冲池用,但也不能无限长,消耗内存,出入队列也耗CPU。
maxThreads规定的是最大的线程数目,并不是实际running的CPU数量;实际上,maxThreads的大小比CPU核心数量要大得多。这是因为,处理请求的线程真正用于计算的时间可能很少,大多数时间可能在阻塞,如等待数据库返回数据、等待硬盘读写数据等。因此,在某一时刻,只有少数的线程真正的在使用物理CPU,大多数线程都在等待;因此线程数远大于物理核心数才是合理的。也就是说,Tomcat通过使用比CPU核心数量多得多的线程数,可以使CPU忙碌起来,大大提高CPU的利用率。
- 创建controller,并访问输出hello world
在src/main/java/com/example/demo中新建controller目录(或直接在该目录下创建文件),创建DemoController.java文件
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
@RequestMapping("/demo")
public String demo(){
return "hello word";
}
}
- 运行java
在页面上访问:http://localhost:8081/javademo/demo