百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

初识Oracle之架构体系理解

ccwgpt 2024-12-03 10:18 28 浏览 0 评论

Oracle体系结构理解

我们去了解一个新的数据库系统.首先需要弄清楚它的逻辑和物理结构.所以接下来.我们一起了解一下Oracle的体系结构.了解了它的体系结构能够帮我们快速入门Oracle.MySQL是单进程多线程的结构.Oracle和PG都是多进程.

Oracle的整体结构


Oracle server是由instance和database两部分组成.一个instance只能对应一个数据库.rac是特殊情况.一个数据库对应了多个instance

物理结构:

主要是我们环境变量中指定的ORACLE_BASE下边的各个目录下的文件

[oracle@db01 ~]$ cd $ORACLE_BASE
[oracle@db01 oracle]$ ll
总用量 0
drwxr-x---  4 oracle oinstall  31 8月   3 09:28 admin
drwxr-x---  4 oracle oinstall  31 8月   3 09:30 audit
drwxr-x---  5 oracle oinstall  47 8月   2 14:20 cfgtoollogs
drwxr-xr-x  2 oracle oinstall   6 8月   2 14:11 checkpoints
drwxrwxr-x 23 oracle oinstall 280 8月   2 14:11 diag
drwxr-x---  3 oracle oinstall  19 8月   3 09:28 oradata
drwxrwxr-x  3 oracle oinstall  18 8月   2 13:48 product

其中product下主要是我们的程序目录.类似于MySQL的程序目录

[oracle@db01 oracle]$ ll product/19.3/db/
总用量 80
drwxr-xr-x  2 oracle oinstall   102 8月   2 14:11 addnode
drwxr-xr-x  6 oracle oinstall  4096 4月  17 2019 apex
drwxr-xr-x  9 oracle oinstall    93 4月  17 2019 assistants
drwxr-xr-x  2 oracle oinstall  8192 8月   2 14:12 bin
drwxr-xr-x  4 oracle oinstall    30 8月   2 14:11 cfgtoollogs
drwxr-xr-x  4 oracle oinstall    87 8月   2 14:11 clone
drwxr-xr-x  6 oracle oinstall    55 4月  17 2019 crs
drwxr-xr-x  3 oracle oinstall    18 4月  17 2019 css
drwxr-xr-x 11 oracle oinstall   119 4月  17 2019 ctx
drwxr-xr-x  7 oracle oinstall    71 4月  17 2019 cv
drwxr-xr-x  3 oracle oinstall    20 4月  17 2019 data
drwxr-xr-x  3 oracle oinstall    19 4月  17 2019 dbjava
drwxr-xr-x  2 oracle oinstall   169 8月   3 13:47 dbs
drwxr-xr-x  5 oracle oinstall   191 8月   2 14:11 deinstall
drwxr-xr-x  3 oracle oinstall    20 4月  17 2019 demo
drwxr-xr-x  3 oracle oinstall    20 4月  17 2019 diagnostics
drwxr-xr-x 13 oracle oinstall   198 4月  17 2019 dmu
drwxr-xr-x  4 oracle oinstall    30 4月  17 2019 drdaas
drwxr-xr-x  3 oracle oinstall    19 4月  17 2019 dv
-rw-r--r--  1 oracle oinstall   852 8月  18 2015 env.ora
drwxr-xr-x  3 oracle oinstall    18 4月  17 2019 has
drwxr-xr-x  5 oracle oinstall    41 4月  17 2019 hs
drwxrwx--- 10 oracle oinstall  4096 8月   2 14:11 install
drwxr-xr-x  2 oracle oinstall    29 4月  17 2019 instantclient
drwxr-x--- 14 oracle oinstall   233 8月   2 14:11 inventory
drwxr-xr-x  8 oracle oinstall    82 4月  18 2019 javavm
drwxr-xr-x  3 oracle oinstall    35 4月  17 2019 jdbc
drwxr-xr-x  6 oracle oinstall   219 4月  18 2019 jdk
drwxr-xr-x  2 oracle oinstall  4096 4月  17 2019 jlib
drwxr-xr-x 10 oracle oinstall   112 4月  17 2019 ldap
drwxr-xr-x  4 oracle oinstall 12288 8月   2 14:11 lib
drwxr-x--T  4 oracle oinstall    30 8月   3 09:17 log
drwxr-xr-x  9 oracle oinstall    98 4月  17 2019 md
drwxr-xr-x  4 oracle oinstall    31 4月  17 2019 mgw
drwxr-xr-x 10 oracle oinstall   106 4月  17 2019 network
drwxr-xr-x  5 oracle oinstall    46 4月  17 2019 nls
drwxr-xr-x  8 oracle oinstall   101 4月  17 2019 odbc
drwxr-xr-x  5 oracle oinstall    42 4月  17 2019 olap
drwxr-x--- 14 oracle oinstall  4096 8月   2 14:11 OPatch
drwxr-xr-x  7 oracle oinstall    65 4月  17 2019 opmn
drwxr-xr-x  4 oracle oinstall    34 4月  17 2019 oracore
-rw-r-----  1 oracle oinstall    55 8月   2 11:07 oraInst.loc
drwxr-xr-x  6 oracle oinstall    52 4月  17 2019 ord
drwxr-xr-x  4 oracle oinstall    66 4月  17 2019 ords
drwxr-xr-x  3 oracle oinstall    19 4月  17 2019 oss
drwxr-xr-x  8 oracle oinstall   226 8月   2 14:11 oui
drwxr-xr-x  4 oracle oinstall    33 4月  17 2019 owm
drwxr-xr-x  5 oracle oinstall    39 4月  17 2019 perl
drwxr-xr-x  6 oracle oinstall    78 4月  17 2019 plsql
drwxr-xr-x  6 oracle oinstall    56 4月  18 2019 precomp
drwxr-xr-x  2 oracle oinstall    26 4月  17 2019 QOpatch
drwxr-xr-x  5 oracle oinstall    52 4月  17 2019 R
drwxr-xr-x  4 oracle oinstall    29 4月  17 2019 racg
drwxr-xr-x 13 oracle oinstall   140 4月  18 2019 rdbms
drwxr-xr-x  3 oracle oinstall    21 4月  17 2019 relnotes
-rwx------  1 oracle oinstall   582 8月   2 14:11 root.sh
-rwx------  1 oracle oinstall   786 4月  17 2019 root.sh.old
-rw-r-----  1 oracle oinstall    10 4月  17 2019 root.sh.old.1
-rwx------  1 oracle oinstall   638 4月  18 2019 root.sh.old.2
-rw-r-----  1 oracle oinstall    10 4月  17 2019 root.sh.old.3
-rwxr-x---  1 oracle oinstall  1783 3月   9 2017 runInstaller
-rw-r--r--  1 oracle oinstall  2927 10月 15 2016 schagent.conf
drwxr-xr-x  5 oracle oinstall   119 4月  17 2019 sdk
drwxr-xr-x  3 oracle oinstall    18 4月  17 2019 slax
drwxr-xr-x  4 oracle oinstall    41 4月  17 2019 sqldeveloper
drwxr-xr-x  3 oracle oinstall    17 4月  17 2019 sqlj
drwxr-xr-x  4 oracle oinstall   236 4月  18 2019 sqlpatch
drwxr-xr-x  6 oracle oinstall    53 8月   2 14:11 sqlplus
drwxr-xr-x  6 oracle oinstall    54 4月  17 2019 srvm
drwxr-xr-x  5 oracle oinstall    45 4月  17 2019 suptools
drwxr-xr-x  3 oracle oinstall    35 4月  17 2019 ucp
drwxr-xr-x  4 oracle oinstall    31 4月  17 2019 usm
drwxr-xr-x  2 oracle oinstall    33 4月  17 2019 utl
drwxr-xr-x  3 oracle oinstall    19 4月  17 2019 wwg
drwxr-x---  7 oracle oinstall    69 4月  17 2019 xdk

oradata下主要是数据目录(可以看到主要包含控制文件,redo文件以及对应的表空间文件)

[oracle@db01 oracle]$ ll oradata/ORCL1/
总用量 2479380
-rw-r----- 1 oracle oinstall  10600448 8月   3 15:01 control01.ctl
-rw-r----- 1 oracle oinstall  10600448 8月   3 15:01 control02.ctl
-rw-r----- 1 oracle oinstall 209715712 8月   3 13:44 redo01.log
-rw-r----- 1 oracle oinstall 209715712 8月   3 13:44 redo02.log
-rw-r----- 1 oracle oinstall 209715712 8月   3 15:01 redo03.log
-rw-r----- 1 oracle oinstall 576724992 8月   3 15:00 sysaux01.dbf
-rw-r----- 1 oracle oinstall 943726592 8月   3 14:47 system01.dbf
-rw-r----- 1 oracle oinstall  33562624 8月   3 09:32 temp01.dbf
-rw-r----- 1 oracle oinstall 361766912 8月   3 15:00 undotbs01.dbf
-rw-r----- 1 oracle oinstall   5251072 8月   3 13:44 users01.dbf

admin目录主要是记录Oracle实例配置及运行日志等文件

[oracle@db01 oracle]$ ll admin/orcl1/
总用量 12
drwxr-x--- 2 oracle oinstall 8192 8月   3 15:00 adump
drwxr-x--- 2 oracle oinstall   20 8月   3 09:32 dpdump
drwxr-x--- 2 oracle oinstall   34 8月   3 09:32 pfile
drwxr-x--- 2 oracle oinstall   44 8月   3 09:28 xdb_wallet

diag目录主要是存放各个程序的日志目录

[oracle@db01 oracle]$ ll diag/
总用量 0
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 afdboot
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 apx
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 asm
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 asmcmd
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 asmtool
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 bdsql
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 clients
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 crs
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 diagtool
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 dps
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 em
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 gsm
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 ios
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 kfod
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 lsnrctl
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 netcman
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 ofm
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 plsql
drwxrwxr-x 2 oracle oinstall  6 8月   2 14:11 plsqlapp
drwxrwxr-x 4 oracle oinstall 31 8月   3 09:28 rdbms
drwxrwxr-x 3 oracle oinstall 18 8月   3 08:10 tnslsnr

查看对应instance的日志:

[oracle@db01 oracle]$ ll diag/rdbms/orcl1/orcl1/
总用量 24
drwxr-x--- 2 oracle oinstall    21 8月   3 09:28 alert
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 cdump
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 hm
drwxr-x--- 7 oracle oinstall   100 8月   3 13:44 incident
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 incpkg
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 ir
drwxr-x--- 2 oracle oinstall  4096 8月   3 13:44 lck
drwxr-x--- 8 oracle oinstall   120 8月   3 09:28 log
drwxr-x--- 2 oracle oinstall  4096 8月   3 09:28 metadata
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 metadata_dgif
drwxr-x--- 2 oracle oinstall     6 8月   3 09:28 metadata_pv
drwxr-x--- 2 oracle oinstall   259 8月   3 13:44 stage
drwxr-x--- 2 oracle oinstall     6 8月   3 13:44 sweep
drwxr-x--- 2 oracle oinstall 12288 8月   3 15:12 trace

cfgtoollogs目录主要存放dbca.netca等程序的日志目录

[oracle@db01 oracle]$ ll cfgtoollogs/
总用量 4
drwxr-x--- 4 oracle oinstall  109 8月   3 09:28 dbca
drwxr-x--- 2 oracle oinstall 4096 8月   3 08:10 netca
drwxr-x--- 7 oracle oinstall  218 8月   3 09:32 sqlpatch

checkpoints 存放检查点的目录

audit 审计信息目录

逻辑结构:

Oracle的逻辑结构是段区块.在Oracle中默认的块大小是8k.可以修改.默认一个区是8个块.在MySQL中逻辑结构是段区页.默认页大小是16k.默认一个区是64个数据页.


Oracle的内存结构:


Oracle的内存主要分为SGAPGA两块内存区

SGA介绍:SGA是一组为系统分配的共享的内存结构,可以包含一个数据库实例的数据或控制信息。如果多个用户连接到同一个数据库实例,在实例的SGA中,数据可以被多个用户共享, 当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收。 SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素。


SGA缓存区主要包括:share pool,db buffer cache,redo log buffer,large pool,java pool,stream pool

share pool:用于存放最近执行的SQL语句和数据字典信息。共享池主要有库高速缓存(Library Cache)和数据字典高速缓存(Dictionary cache)两部分组成

1) 库高速缓存(Library Cache

库高速缓存用于存放最近执行的sql语句信息,包括sql语句文本,解析代码值及执行计划

2) 数据字典高速缓存区(Dictionary cache

用于存放数据字典的信息,包括表、列定义以及权限信息)库高速缓存和数据字典高速缓存大小是动态变化的,不是固定的

Database Buffer cache 用于存放最近访问的数据块信息,它由许多小缓冲区(缓冲区大小=数据尺寸)组成

redo log buffer 重做日志缓存区(Redo log buffer),用于记载实例的变化。执行DDL或DML语句时,服务器进程首先将事物的变化记载到重做日志缓存区,然后才会修改数据高速缓存。重做日志缓存区由很多重做记录(Redo record)组成,并且每条重做记录记载了被修改数据块的位置以及变换后的数据

large pool

为大内存操作提供的独立内存区

PGA 用于存放服务器进程的数据和控制信息,独立于SGA的一块内存区域。

当用户连接到Oracle Server时,Oracle server会为每个服务器进程分配相应的PGA.SGA是所有服务器进程都可共享的一块内存区域,而每个服务器进程都具有私有的PGA内存空间。

进程结构

[oracle@db01 oracle]$ ps -ef |grep ora
oracle    3316     1  0 13:54 ?        00:00:00 ora_w005_orcl1
oracle    3326     1  0 13:54 ?        00:00:00 ora_w006_orcl1
oracle    3484     1  0 13:54 ?        00:00:00 ora_w007_orcl1
oracle   13675     1  0 15:52 ?        00:00:01 ora_m001_orcl1
oracle   15289     1  0 15:53 ?        00:00:00 ora_m000_orcl1
oracle   19095     1  0 14:05 ?        00:00:05 ora_m004_orcl1
root     19334 19140  0 13:43 pts/1    00:00:00 su - oracle
oracle   19335 19334  0 13:43 pts/1    00:00:00 -bash
oracle   20955     1  0 13:43 ?        00:00:00 ora_pmon_orcl1
oracle   20960     1  0 13:43 ?        00:00:00 ora_clmn_orcl1
oracle   20962     1  0 13:43 ?        00:00:00 ora_psp0_orcl1
oracle   20997     1  0 13:43 ?        00:00:01 ora_vktm_orcl1
oracle   21002     1  0 13:44 ?        00:00:00 ora_gen0_orcl1
oracle   21004     1  0 13:44 ?        00:00:00 ora_mman_orcl1
oracle   21009     1  0 13:44 ?        00:00:01 ora_gen1_orcl1
oracle   21014     1  0 13:44 ?        00:00:00 ora_diag_orcl1
oracle   21016     1  0 13:44 ?        00:00:00 ora_ofsd_orcl1
oracle   21019     1  0 13:44 ?        00:00:01 ora_dbrm_orcl1
oracle   21022     1  0 13:44 ?        00:00:00 ora_vkrm_orcl1
oracle   21024     1  0 13:44 ?        00:00:00 ora_svcb_orcl1
oracle   21028     1  0 13:44 ?        00:00:00 ora_pman_orcl1
oracle   21030     1  0 13:44 ?        00:00:03 ora_dia0_orcl1
oracle   21035     1  0 13:44 ?        00:00:00 ora_dbw0_orcl1
oracle   21042     1  0 13:44 ?        00:00:00 ora_lgwr_orcl1
oracle   21046     1  0 13:44 ?        00:00:00 ora_lg00_orcl1
oracle   21050     1  0 13:44 ?        00:00:01 ora_ckpt_orcl1
oracle   21055     1  0 13:44 ?        00:00:00 ora_lg01_orcl1
oracle   21058     1  0 13:44 ?        00:00:00 ora_smon_orcl1
oracle   21060     1  0 13:44 ?        00:00:00 ora_smco_orcl1
oracle   21063     1  0 13:44 ?        00:00:00 ora_reco_orcl1
oracle   21066     1  0 13:44 ?        00:00:00 ora_w000_orcl1
oracle   21073     1  0 13:44 ?        00:00:00 ora_lreg_orcl1
oracle   21075     1  0 13:44 ?        00:00:00 ora_w001_orcl1
oracle   21077     1  0 13:44 ?        00:00:00 ora_pxmn_orcl1
oracle   21081     1  0 13:44 ?        00:00:02 ora_mmon_orcl1
oracle   21097     1  0 13:44 ?        00:00:01 ora_mmnl_orcl1
oracle   21099     1  0 13:44 ?        00:00:00 ora_d000_orcl1
oracle   21101     1  0 13:44 ?        00:00:00 ora_s000_orcl1
oracle   21103     1  0 13:44 ?        00:00:00 ora_tmon_orcl1
oracle   21309     1  0 13:44 ?        00:00:00 ora_p000_orcl1
oracle   21311     1  0 13:44 ?        00:00:00 ora_p001_orcl1
oracle   21313     1  0 13:44 ?        00:00:00 ora_p002_orcl1
oracle   21318     1  0 13:44 ?        00:00:00 ora_tt00_orcl1
oracle   21322     1  0 13:44 ?        00:00:00 ora_tt01_orcl1
oracle   21330     1  0 13:44 ?        00:00:00 ora_tt02_orcl1
oracle   21356     1  0 13:44 ?        00:00:00 ora_aqpc_orcl1
oracle   21358     1  0 13:44 ?        00:00:03 ora_cjq0_orcl1
oracle   21363     1  0 13:44 ?        00:00:00 ora_p003_orcl1
oracle   21365     1  0 13:44 ?        00:00:00 ora_p004_orcl1
oracle   21367     1  0 13:44 ?        00:00:00 ora_p005_orcl1
oracle   21369     1  0 13:44 ?        00:00:00 ora_p006_orcl1
oracle   21372     1  0 13:44 ?        00:00:00 ora_p007_orcl1
oracle   21374     1  0 13:44 ?        00:00:00 ora_w002_orcl1
oracle   21687     1  0 13:44 ?        00:00:00 ora_w003_orcl1
oracle   21732     1  0 13:44 ?        00:00:00 ora_w004_orcl1
oracle   21737     1  0 13:44 ?        00:00:00 ora_qm02_orcl1
oracle   21743     1  0 13:44 ?        00:00:00 ora_q003_orcl1
oracle   22129     1  0 13:44 ?        00:00:00 ora_q00g_orcl1
oracle   23369     1  0 13:45 ?        00:00:00 /u01/app/oracle/product/19.3/db/bin/tnslsnr LISTENER -inherit
oracle   25295     1  0 16:00 ?        00:00:00 ora_m003_orcl1
root     25299 18011  0 13:46 pts/0    00:00:00 su - oracle
oracle   25301 25299  0 13:46 pts/0    00:00:00 -bash
oracle   25379 25301  0 13:46 pts/0    00:00:00 sqlplus   as sysdba
oracle   25380 25379  0 13:46 ?        00:00:01 oracleorcl1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   25655     1  0 15:38 ?        00:00:00 ora_m002_orcl1
oracle   27953     1  0 13:48 ?        00:00:00 oracleorcl1 (LOCAL=NO)
oracle   27955     1  0 13:48 ?        00:00:00 oracleorcl1 (LOCAL=NO)

主要进程解释:

pmon:用户进程分配,监听注册

smon:该进程实例启动时,执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用

dbwr:数据写进程

lgwr:日志写进程

ckpt:数据库检查点进程

tmon:12c以后出来的用来做DG同步的进程

总结

这篇文章主要分享了Oracle的体系结构

相关推荐

自己动手写Android数据库框架_android开发数据库搭建

http://blog.csdn.net/feiduclear_up/article/details/50557590推荐理由关于Android数据库操作,由于每次都要自己写数据库操作,每次还得去...

谷歌开源大模型评测工具LMEval,打通谷歌、OpenAI、Anthropic

智东西编译|金碧辉编辑|程茜智东西5月28日消息,据科技媒体TheDecoder5月26日报道,当天,谷歌正式发布开源大模型评测框架LMEval,支持对GPT-4o、Claude3.7...

工信部:着力推动大模型算法、框架等基础性原创性的技术突破

工信部新闻发言人今日在发布会上表示,下一步,我们将坚持突出重点领域,大力推动制造业数字化转型,推动人工智能创新应用。主要从以下四个方面着力。一是夯实人工智能技术底座。通过科技创新重大项目,着力推动大模...

乒乓反复纠结“框架不稳定”的三个小误区

很多球友由于对框架的认知不清晰,往往会把“框架不稳定”当成一种心理负担,从而影响学球进度,其典型状态就是训练中有模有样,一旦进入实战,就像被捆住了手脚。通过训练和学习,结合“基本功打卡群”球友们交流发...

前AMD、英特尔显卡架构师Raja再战GPU,号称要全面重构堆栈

IT之家8月5日消息,知名GPU架构师拉贾科杜里(RajaKoduri)此前曾先后在AMD和英特尔的显卡部门担任要职。而在今日,由Raja创立的GPU软件与IP初创企...

三种必须掌握的嵌入式开发程序架构

前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构清晰,并且便于开发。我相...

怪不得别人3秒就知道软考案例怎么做能50+

软考高级统一合格标准必须三科都达到45分,案例分析也一直是考生头疼的一门,但是掌握到得分点,案例能不能50+还不是你们说了算吗?今天就结合架构案例考点,分享实用的备考攻略~一、吃透考点,搭建知识框架从...

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

10万+爆款解析:9大UML图实战案例,小白也能秒懂!为什么需要UML?UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:降低沟通成本避...

勒索软件转向云原生架构,直指备份基础设施

勒索软件组织和其他网络犯罪分子正越来越多地将目标对准基于云的备份系统,对久已确立的灾难恢复方法构成了挑战。谷歌安全研究人员在一份关于云安全威胁演变的报告中警告称,随着攻击者不断改进数据窃取、身份泄露和...

ConceptDraw DIAGRAM:释放创意,绘就高效办公新未来

在当今数字化时代,可视化工具已成为提升工作效率和激发创意的关键。ConceptDrawDIAGRAM,作为一款世界顶级的商业绘图软件,凭借其强大的功能和用户友好的界面,正逐渐成为众多专业人士的首选绘...

APP 制作界面设计教程:一步到位_app界面设计模板一套

想让APP界面设计高效落地,无需繁琐流程,掌握“框架搭建—细节填充—体验优化”三步法,即可一步到位完成专业级设计。黄金框架搭建是基础。采用“三三制布局”:将屏幕横向三等分,纵向保留三...

MCP 的工作原理:关键组件_mcp部件

以下是MCP架构的关键组件:MCP主机:像ClaudeDesktop、GitHubCopilot或旅行助手这样的AI智能体,它们希望通过MCP协议访问工具、资源等。MCP主机会...

软件架构_软件架构师工资一般多少

软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构应该是能力最强的一群程序员,他们通常会在自身承接编程任务的同时,逐渐引导整个团队向一个能够最大化生产力的系统设计方向前进。软件系统的架...

不知不觉将手机字体调大!老花眼是因为“老了吗”?

现在不管是联系、交友,还是购物,都离不开手机。中老年人使用手机的时间也在逐渐加长,刷抖音、看短视频、发朋友圈……看手机的同时,人们也不得不面对“视力危机”——老花眼,习惯眯眼看、凑近看、瞪眼看,不少人...

8000通用汉字学习系列讲座(第046讲)

[表声母字]加(续)[从声汉字]伽茄泇迦枷痂袈笳嘉驾架咖贺瘸(计14字)嘉[正音]标准音读jiā。[辨形]上下结构,十四画。会意形声字,从壴从加,加也表声。注:从壴,字义与鼓乐有关;从加,字义与...

取消回复欢迎 发表评论: