Django框架丨从零开始的Django入门学习
Django 是一个用于构建 Web 应用程序的高级 Python Web 框架,Django是一个高度模块化的框架,使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。
每个 Django App 的组织结构符合 Django 的 MTV 法则——Model(模型)+ Template(模板)+ View(视图),文章内容将从安装开始,对Django每一个模块的操作进行简单的讲解
1. 安装Django
想必大家肯定都安装好python了,如果没有的话网络上很多教程可以参考,安装好python后可以直接在命令行安装Django
pip install django
安装完成后,你可以通过运行以下命令验证 Django 是否成功安装:
python -m django --version
或通过import进行检查
2. 创建项目
2.1 命令行新建项目
通过终端进入到需要创建项目的指定目录,通过Django的django-admin.py命令新建工程
cd Django
django-admin startproject Hellodjango
文件组成
django_news
├── django_news // 项目全局文件目录
│ ├── __init__.py
│ ├── asgi.py.py // ASGI 兼容的 Web 服务器的入口(异步接受网络请求)
│ ├── settings.py // 全局配置,包括链接数据库等操作
│ ├── urls.py // 全局路由URL 声明
│ └── wsgi.py // WSGI 兼容的 Web 服务器的入口(同步接受网络请求)
└── manage.py // 项目管理脚本
2.2启动服务器(runserver)
创建好后先尝试启动服务器看是否成功
# 不定义端口号默认为8000
python manage.py runserver
python manage.py runserver 8888
# 0.0.0.0 让其它电脑可连接到开发服务器
python manage.py runserver 0.0.0.0:8888
上面三句都可以启动服务,见到以下欢迎页面就是安装创建成功了(Django 开发服务器可以保持开启,修改代码会自动重新加载,不需要重新启动服务器,非常方便。)
3 新建应用(startapp)
新建一个App——相当于功能的划分,一个 Django 应用由多个子应用组成,一般称之为 App。
python manage.py startapp new01
新建app的文件夹结构如下:
new01 // news 应用目录
├── migrations // 数据库迁移变更记录
│ └── __init__.py
├── __init__.py // 初始化模块
├── admin.py // 默认自带的后台管理配置
├── apps.py // 应用配置
├── models.py // 数据模型、数据库操作等
├── tests.py // 单元测试
└── views.py // 视图,url里的函数在这里找
3.1 加入配置文件
在Hellodjango/settings.py中找到 INSTALLED_APPS,加入新建app的config
3.2 第一个页面
3.2.1 视图(view)
打开new01/views.py,写一个简单的index,相当于写了一个页面
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.def index(request):return HttpResponse('Hello Django!')
3.2.2 接入路由
下一步是让路由系统能够访问到刚才写好的视图函数,也就是将页面加入到网页中
在Hellodjango/urls.py中,修改Django自带的urlpatterns,通常接收以下三个参数
route:必须,即实际的访问路由,空字符串等于 /,即空路由,展示为首页
view:必须,该路由将要访问的view视图
name:可选,该路由的名称,方便后续在模板中使用from new01 import viewsurlpatterns = [# path('admin/', admin.site.urls),path('index/', views.index)
]
不过当然一个系统的页面会有很多,网页编辑好了之后将路由加到urls.py的urlpatterns中就可以了
可以看到urls.py文件中,有一行path(‘admin/’, admin.site.urls),取消注释访问http://127.0.0.1:8888/admin已经可以看到后台系统的登录页面
但此时还没有连接数据库,其余内容到后面讲述4.数据库的时候再进行操作
3.3 加入网页(templates,render)
在django项目目录下新建一个templates文件夹,文件夹下面放入html文件
把templates加入到路径中(settings.py的TEMPLATES),因为默认情况下会放到app下的templates里面
写一个简单的网页web01.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset=="UTF-8"><title>Title</title>
</head>
<body><div>This is a web</div>
</body>
</html>
将网页写入到views.py中:在这里我们使用render
函数,第一个参数为request
,第二个参数是文件名,第三个参数可以不要,是把文件中用{{}}
标起来的内容替换的功能。
def web01(request):return render(request, "web01.html")
再添加到urls.py
from new01 import viewsurlpatterns = [# path('admin/', admin.site.urls),path('index/', views.index),path('web/', views.web01)
]
此时输入网址,可以看到网页接入成功,其他的样式等可以按照CSS 、html的语法进行添加修改web01.html文件
此时输入端口号,可以看到对应的两个页面都在
4.数据库
Django 的 MTV,我们已经讲了 T(Template)和 V(View),到了最后一个 M(Model)了。数据模型是 Django 入门最大的难点,这一步之后便能真正上手 Django 开发。下面我们先介绍一下 Django 的数据模型设计。
Django 在数据模型方面的特点:
- 由于高度解耦的设计,可轻松切换各种关系型数据库(默认的 SQLite,可选 MySQL、PostgreSQL、Oracle 等等)
- 强大的 ORM(Object Relation Mapping,对象关系映射)模块,使得用 Python 操作数据库非常轻松,免去了使用 SQL 的麻烦
- 优秀的数据库迁移机制(Migration),修改数据模式(Schema)比较方便,能够适应不断变化的功能需求
4.1 开发流程
一般数据模型开发流程如下:
- 用 Django 定义一个新的数据模型(在new01/models.py中)
- 用
makemigrations
命令创建迁移文件(存储在子应用的 migrations 目录里面) - 用
migrate
命令执行迁移
(如后续发现定义有问题或不完善,可以更新数据模型,再重新进行23操作完成数据迁移)
4.2 实现一个简单的模型
4.2.1 创建数据模型
在new01/models.py中,定义数据模型以及你需要的字段,可以先随便定义两个简单的字段进行尝试,代码如下:
from django.db import models
# Create your models here.class Post(models.Model):# 根据模型自动值数据库中创建一个对应的表,此表包括title, name两个字段title = models.CharField(max_length=50)name = models.CharField(max_length=50)def __str__(self):return self.title
定义好后再命令行执行如下命令,创建迁移文件:
python manage.py makemigrations
通过输出可以看到,成功创建了 new01/migrations/0001_initial.py 迁移脚本,再进行下一步数据库迁移:
python manage.py migrate
数据库迁移完成后,我们就可以创建用于登录后台管理的超级用户:
python manage.py createsuperuser
按照提示步骤输入用户名和密码创建成功就行
4.2.2 后台管理配置
此时再输入前面提到的http://127.0.0.1:8888/admin后台管理页面,就可以通过刚刚创建的超级用户登录查看了
但进入页面可以看到,没有我们创建的应用和模型:
这是因为没有实现后台管理的接口配置,在文件new01/admin.py中接口配置如下:
from django.contrib import admin
from .models import Post
# Register your models here.admin.site.register(Post)
再刷新页面可以看到应用new01和模型Posts
点击 Posts 一栏的 +Add 按钮,随便添加几条数据,也可以看看修改、添加、删除等功能。
4.2.3 视图与数据连接
新建一个网页html文件,这里用先前用于测试的web01.html
在views.py中绑定好页面与数据
from django.shortcuts import render
from .models import Postdef show_name(request):context = {'name_list': Post.objects.all()}return render(request, 'web01.html', context=context)
中html文件中写好渲染数据的语法:
<!DOCTYPE html>
<html lang="en">
<head><meta charset=="UTF-8"><title>Title</title>
</head>
<body>{% if name_list %}<ul>{% for elem in name_list %}<li><h3>{{ elem.title }}</h3><p>{{ elem.name }}</p></li>{% endfor %}</ul>{% else %}<p>no data</p>{% endif %}
</body>
</html>
最后不要忘记中urls.py中添加新设置好的视图
from django.urls import path
from new01 import viewsurlpatterns = [path('name/', views.show_name),
]
最后访问定义好的路由http://127.0.0.1:8888/name,就可以看到刚才在后台管理系统中添加的数据了
相关文章:
Django框架丨从零开始的Django入门学习
Django 是一个用于构建 Web 应用程序的高级 Python Web 框架,Django是一个高度模块化的框架,使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能…...
AI绘画:解锁商业设计新宇宙(6/10)
1.AI 绘画:商业领域的潜力新星 近年来,AI 绘画技术以惊人的速度发展,从最初简单的图像生成,逐渐演变为能够创造出高度逼真、富有创意的艺术作品。随着深度学习算法的不断优化,AI 绘画工具如 Midjourney、Stable Diffu…...
.net的一些知识点
1.public,protected,private的区别 从访问权限来说是 public>protecd>private 翻译成汉字:公有的>受保护的>私有的 但是在拿那种旧版本(2017及之前)的vs创建class的时候,这个类是没有修饰符的。现在vs2022版本创建带了默认修饰符&#x…...
【Docker】——安装Docker以及解决常见报错
🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL࿰…...
Linux环境部署DeepSeek大模型
一、背景 【DeepSeek 深度求索】这个春节给了世界一个重磅炸弹,弄得美国都睡不好觉。这次与以往不同,之前我们都是跟随着美国的AI人工智能,现在DeepSeek通过算法上的优化,大大降低了训练模型所需的成本以及时间,短期造…...
Java 面试真题
本题适合一到三年 Java 开发 ,以下问题都是按照原面试官提问记录 文章目录 我要进大厂系列面试题二面 我要进大厂系列面试题 全部真题,欢迎投稿你的面试经验。 本篇涉及基础较多,但要耐性看完。 JVM内存模型垃圾回收器用的哪个gc各个算法…...
Electron使用WebAssembly实现CRC-8 MAXIM校验
Electron使用WebAssembly实现CRC-8 MAXIM校验 将C/C语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-8 MAXIM格式校验的方式。 CRC-8 MAXIM校验函数WebAssembly源文件 C语言实现C…...
(一)DeepSeek大模型安装部署-Ollama安装
大模型deepseek安装部署 (一)、安装ollama curl -fsSL https://ollama.com/install.sh | sh sudo systemctl start ollama sudo systemctl enable ollama sudo systemctl status ollama(二)、安装ollama遇到网络问题,请手动下载 ollama-linux-amd64.tgz curl -L …...
Unity游戏(Assault空对地打击)开发(6) 鼠标光标的隐藏
前言 鼠标光标在游戏界面太碍眼了,要隐藏掉。 详细操作 新建一个脚本HideCursor,用于隐藏/取消隐藏光标。 写入以下代码。 意义:游戏开始自动隐藏光标,按Esc(隐藏<-->显示)。 using System.Collectio…...
蓝桥杯python基础算法(2-1)——排序
目录 一、排序 二、例题 P3225——宝藏排序Ⅰ 三、各种排序比较 四、例题 P3226——宝藏排序Ⅱ 一、排序 (一)冒泡排序 基本思想:比较相邻的元素,如果顺序错误就把它们交换过来。 (二)选择排序 基本思想…...
算法随笔_36: 复写零
上一篇:算法随笔_35: 每日温度-CSDN博客 题目描述如下: 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改…...
基于springboot的体质测试数据分析及可视化设计
作者:学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”,支持远程部署调试、运行安装。 项目包含: 完整源码数据库功能演示视频万字文档PPT 项目编码࿱…...
知识蒸馏教程 Knowledge Distillation Tutorial
来自于:Knowledge Distillation Tutorial 将大模型蒸馏为小模型,可以节省计算资源,加快推理过程,更高效的运行。 使用CIFAR-10数据集 import torch import torch.nn as nn import torch.optim as optim import torchvision.tran…...
排序算法--选择排序
选择排序虽然简单,但时间复杂度较高,适合小规模数据或教学演示。 // 选择排序函数 void selectionSort(int arr[], int n) {for (int i 0; i < n - 1; i) { // 外层循环控制当前最小值的存放位置int minIndex i; // 假设当前位置是最小值的索引// 内…...
视频融合平台EasyCVR无人机场景视频压缩及录像方案
安防监控视频汇聚EasyCVR平台在无人机场景中发挥着重要的作用,通过高效整合视频流接入、处理与分发等功能,为无人机视频数据的实时监控、存储与分析提供了全面支持,广泛应用于安防监控、应急救援、电力巡检、交通管理等领域。 EasyCVR支持GB…...
【react-redux】react-redux中的 useDispatch和useSelector的使用与原理解析
一、useSelector 首先,useSelector的作用是获取redux store中的数据。 下面就是源码,感觉它的定义就是首先是createSelectorHook这个方法先获得到redux的上下文对象。 然后从上下文对象中获取store数据。然后从store中得到选择的数据。 2、useDispatc…...
【自学笔记】Git的重点知识点-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Git基础知识Git高级操作与概念Git常用命令 总结 Git基础知识 Git简介 Git是一种分布式版本控制系统,用于记录文件内容的改动,便于开发者追踪…...
【大模型实战】0代码基于DeepSeek-R1搭建本地知识库,打造专属智能助手
【大模型实战】0代码基于DeepSeek-R1搭建本地知识库,打造专属智能助手 一、ollama下载与安装二、部署deepseek私有模型三、部署embedding模型四、可视化操作工具(1)下载与安装工具(2)部署安装的模型(3) 添加知识库(4)添加智能体助手(5) 助手问答一、ollama下载与安装…...
[LeetCode] 二叉树 I — 深度优先遍历(前中后序遍历) | 广度优先遍历(层序遍历):递归法迭代法
二叉树 基础知识深度优先遍历递归法迭代法(栈)144# 二叉树的前序遍历94# 二叉树的中序遍历145# 二叉树的后序遍历 广度优先遍历递归法迭代法(队列)102# 二叉树的层序遍历107# 二叉树的层序遍历 II199# 二叉树的右视图637# 二叉树的…...
【OS】AUTOSAR架构下的Interrupt详解(上篇)
目录 前言 正文 1.中断概念分析 1.1 中断处理API 1.2 中断级别 1.3 中断向量表 1.4 二类中断的嵌套 1.4.1概述 1.4.2激活 1.5一类中断 1.5.1一类中断的实现 1.5.2一类中断的嵌套 1.5.3在StartOS之前的1类ISR 1.5.4使用1类中断时的注意事项 1.6中断源的初始化 1.…...
NFT Insider #167:Champions Tactics 角色加入 The Sandbox;AI 助力 Ronin 游戏生态
引言:NFT Insider 由 NFT 收藏组织 WHALE Members、BeepCrypto 联合出品, 浓缩每周 NFT 新闻,为大家带来关于 NFT 最全面、最新鲜、最有价值的讯息。每期周报将从 NFT 市场数据,艺术新闻类,游戏新闻类,虚拟…...
保姆级教程Docker部署KRaft模式的Kafka官方镜像
目录 一、安装Docker及可视化工具 二、单节点部署 1、创建挂载目录 2、运行Kafka容器 3、Compose运行Kafka容器 4、查看Kafka运行状态 三、集群部署 四、部署可视化工具 1、创建挂载目录 2、运行Kafka-ui容器 3、Compose运行Kafka-ui容器 4、查看Kafka-ui运行状态 …...
堆的实现——堆的应用(堆排序)
文章目录 1.堆的实现2.堆的应用--堆排序 大家在学堆的时候,需要有二叉树的基础知识,大家可以看我的二叉树文章:二叉树 1.堆的实现 如果有⼀个关键码的集合 K {k0 , k1 , k2 , …,kn−1 } ,把它的所有元素按完全⼆叉树…...
git中文件的状态状态切换
文件的状态分类 Git 中文件的状态主要分为以下几种: Untracked(未跟踪) 定义:这些文件从未被 Git 跟踪过,通常是因为它们是新创建的文件,或者被 .gitignore 排除在外。 示例:新创建的文件 new…...
FreeRTOS学习笔记2:FreeRTOS的基础知识
1.FreeRTOS介绍 FreeRTOS是一个免费的嵌入式实时操作系统,同时它在市面上也是一款主流的操作系统,是工作上必不可少的技能。它具有以下六种特点: 1.免费开源:在商业产品中使用,无潜在商业风险,无需担心。 2…...
.NET 中实现生产者-消费者模型,BlockingCollection<T> 和 Channel<T>使用示例
一、方案对比:不同线程安全集合的适用场景 二、推荐方案及示例代码 方案 1:使用 BlockingCollection(同步模型) public class QueueDemo {private readonly BlockingCollection<int> _blockingCollection new BlockingCo…...
【OpenCV实战】基于 OpenCV 的多尺度与模板匹配目标跟踪设计与实现
文章目录 基于 OpenCV 的模板匹配目标跟踪设计与实现1. 摘要2. 系统概述3. 系统原理3.1 模板匹配的基本原理3.2 多尺度匹配 4. 逻辑流程4.1 系统初始化4.2 主循环4.3 逻辑流程图 5. 关键代码解析5.1 鼠标回调函数5.2 多尺度模板匹配 6. 系统优势与不足6.1 优势6.2 不足 7. 总结…...
算法--最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串 示例 1: 输入:s “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 示例 2: 输入:s “cbbd” 输出:“bb” 看似困难&…...
20250205确认荣品RK3566开发板在Android13下可以使用命令行reboot -p关机
20250205确认荣品RK3566开发板在Android13下可以使用命令行reboot -p关机 2025/2/5 16:10 缘起:荣品RK3566开发板在Android13下,希望通过Native C语言程序来控制RK3566的关机。 通过ADB,很容易通过reboot -p命令关机。 最开始以为需要su/root…...
java进阶专栏的学习指南
学习指南 java类和对象java内部类和常用类javaIO流 java类和对象 类和对象 java内部类和常用类 java内部类精讲Object类包装类的认识String类、BigDecimal类初探Date类、Calendar类、SimpleDateFormat类的认识java Random类、File类、System类初识 javaIO流 java IO流【…...
Selenium记录RPA初阶 - 基本输入元件
防止自己遗忘,故作此为记录。 爬取网页基本元件并修改后爬取。 包含元件: elements: dict[str, str] {"username": None,"password": None,"email": None,"website": None,"date": None,"ti…...
每日Attention学习20——Group Shuffle Attention
模块出处 [MICCAI 24] [link] LB-UNet: A Lightweight Boundary-Assisted UNet for Skin Lesion Segmentation 模块名称 Group Shuffle Attention (GSA) 模块作用 轻量特征学习 模块结构 模块特点 使用分组(Group)卷积降低计算量引入External Attention机制更好的学习特征S…...
DeepSeek:全栈开发者视角下的AI革命者
目录 DeepSeek:全栈开发者视角下的AI革命者 写在前面 一、DeepSeek的诞生与定位 二、DeepSeek技术架构的颠覆性突破 1、解构算力霸权:从MoE架构到内存革命 2、多模态扩展的技术纵深 3、算法范式的升维重构 4、重构AI竞争规则 三、…...
Docker 国内最新可用镜像源20250205
2年没用dockerhub了结果今天发现镜像无法拉取了,找了很多镜像都无效,连阿里云镜像都不行了,最后找到下面可以用的。 Docker镜像仓库备注hub.urlsa.us.kg可用http://hub.haod.eu.org可用http://hub.chxza.eu.org可用http://ccoc.eu.org部分地…...
OpenEuler学习笔记(十八):搭建企业云盘服务
要在 OpenEuler 上搭建企业云盘,可借助一些开源软件来实现,以下以 Nextcloud 为例详细介绍搭建步骤。Nextcloud 是一款功能丰富的开源云存储解决方案,支持文件共享、同步、协作等多种功能。 1. 系统环境准备 确保 OpenEuler 系统已更新到最…...
redis实际开发应用简单实现
短信登录 首先来看看登录与注册常规实现流程如下: 其中,很多网站都有手机号验证码登录功能 如百度 实现之前咱可以来验证码有啥特点:一定时间内过期、验证码随机、与手机号会唯一匹配 所以可以使用redis的string来实现更容易,k…...
2. K8S集群架构及主机准备
本次集群部署主机分布K8S集群主机配置主机静态IP设置主机名解析ipvs管理工具安装及模块加载主机系统升级主机间免密登录配置主机基础配置完后最好做个快照备份 2台负载均衡器 Haproxy高可用keepalived3台k8s master节点5台工作节点(至少2及以上)本次集群部署主机分布 K8S集群主…...
flutter 专题四十七 Flutter 应用启动流程分析
众所周知,任何应用程序的启动都是从main()函数开始的,Flutter也不例外,main.dart文件的main函数开始的,代码如下。 void main() > runApp(MyApp());main函数则调用的是runApp函数,源码如下。 void runApp(Widget …...
proxmox通过更多的方式创建虚拟机
概述 作为一名资深运维工程师,我们经常需要在 Proxmox 虚拟化平台上创建和管理虚拟机。本文将介绍三种不同的方式在 Proxmox 上创建 Ubuntu 虚拟机: 通过 Proxmox 命令创建虚拟机通过 Shell 脚本自动化创建虚拟机使用 Proxmox API 创建虚拟机 每种方式…...
阿里云 ubuntu22.04 中国区节点安装 Docker
下面是一份在 Ubuntu 22.04 (Jammy) 上,通过阿里云镜像源来安装并配置 Docker 的详细步骤示例,可在中国区阿里云节点使用: 一、卸载旧版本 (如已安装) 如果系统中已经安装了旧版 Docker (可能是 docker、docker-engine、docker.io、containe…...
Java 中 LinkedList 的底层源码
在 Java 的集合框架中,LinkedList是一个独特且常用的成员。它基于双向链表实现,与数组结构的集合类如ArrayList有着显著差异。深入探究LinkedList的底层源码,有助于我们更好地理解其工作原理和性能特点,以便在实际开发中做出更合适…...
【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR
文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…...
【LeetCode】5. 贪心算法:买卖股票时机
太久没更了,抽空学习下。 看一道简单题。 class Solution:def maxProfit(self, prices: List[int]) -> int:cost -1profit 0for i in prices:if cost -1:cost icontinueprofit_ i - costif profit_ > profit:profit profit_if cost > i:cost iret…...
【玩转 Postman 接口测试与开发2_017】第13章:在 Postman 中实现契约测试(Contract Testing)与 API 接口验证(下)
《API Testing and Development with Postman》最新第二版封面 文章目录 第十三章 契约测试与 API 接口验证8 导入官方契约测试集合9 契约测试集合的详细配置9.1 env-apiKey 的创建与设置9.2 env-workspaceId 的设置9.3 Mock 服务器及 env-server 的配置9.4 API 测试实例的配置…...
学习threejs,pvr格式图片文件贴图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️PVR贴图1.2 ☘️THREE.Mesh…...
【人工智能】通用人工智能 AGI
AGI 是 Artificial General Intelligence 的缩写,中文翻译为通用人工智能。与我们常见的**特定人工智能(Narrow AI)**不同,AGI 是一个更高深、更具野心的目标。 AGI(人工通用智能)的定义 通用人工智能&am…...
基于PostGIS的省域空间相邻检索实践
目录 前言 一、相关空间检索函数 1、ST_touches函数 2、ST_Intersects函数 3、ST_Relate函数 4、区别于对比 二、空间相邻检索实践 1、省域表相关介绍 2、相关省域相邻查询 3、全国各省份邻居排名 三、总结 前言 在当今数字化时代,地理空间数据的高效管理…...
Java 2024年面试总结(持续更新)
目录 最近趁着金三银四面了五六家公司吧,也整理了一些问题供大家参考一下(适合经验三年左右的)。 面试问题(答案是我自己总结的,不一定正确): 总结: 最近趁着金三银四面了五六家公…...
JDK9新特性
文章目录 新特性:1.模块化系统使用模块化module-info.java:exports:opens:requires:provides:uses: 2.JShell启动Jshell执行计算定义变量定义方法定义类帮助命令查看定义的变量:/var…...
性能测试中的数据库连接池优化
目录 一、配置连接池参数 二、配置连接池数量 三、监控连接池 数据库连接池的意义是让连接复用,通过建立一个数据库连接池(缓冲区)以及一套连接的使用,分配,管理策略,使得该连接池中的连接可以得到高效&…...