Android系统调试工具大全:解密adb、dumpsys、procrank等神器

news2024/11/18 13:51:36

Android系统调试工具大全:解密adb、dumpsys、procrank等神器

引言

Android开发中,调试是一个非常重要的环节,本文将介绍一些常用的Android系统调试工具,包括adb、logcat、procrank、dumpsys、dmesg、top、free、df、trace、pm、am等,帮助开发者更好地排查和解决问题。

题目:Android系统调试工具大全:解密adb、logcat、procrank等神器

adb

在Android开发中,调试是一个非常重要的环节。Android Debug Bridge(ADB)是一款强大的命令行工具,提供了与Android设备进行通信和调试的功能。本文将介绍adb的基本使用方法,包括连接设备、安装应用、卸载应用、文件传输等,帮助开发者更好地排查和解决问题。

连接设备

首先,确保你的Android设备已连接到开发机上,并且已启用USB调试模式。然后,打开终端或命令提示符窗口,输入以下命令以检查设备是否被正确识别:

adb devices

如果设备列表中显示了连接的设备ID,则表示连接成功。

安装应用

使用adb可以轻松地安装应用程序到Android设备上。在终端或命令提示符窗口中,导航到应用程序安装文件所在的目录,并执行以下命令:

adb install your_app.apk

其中,your_app.apk是你要安装的应用程序文件名。安装过程中,你可以在设备上看到应用程序的安装进度。

卸载应用

如果你想从设备上移除某个应用程序,可以使用以下命令:

adb uninstall com.example.app

其中,com.example.app是应用程序的包名。卸载过程中,你可以在终端或命令提示符窗口中看到卸载的结果信息。

文件传输

使用adb可以方便地在Android设备和开发机之间传输文件。以下是一些常用的文件传输命令:

  • 将文件从开发机复制到设备:
adb push local_file_path /device/path

其中,local_file_path是本地文件的路径,/device/path是设备存储的目标路径。

  • 将文件从设备复制到开发机:
adb pull /device/path local_file_path

其中,/device/path是设备上文件的路径,local_file_path是要保存文件的本地路径。

注意:在执行文件传输命令之前,确保设备已连接并处于可用状态。

logcat

logcat是Android平台上的一项日志记录工具,可以通过它来查看Android系统和应用程序的日志信息。本文将详细介绍logcat命令及参数的含义,以及如何使用它来查看日志信息,帮助开发者更好地排查和解决问题。

logcat命令及参数

logcat是Android平台上的一款命令行工具,主要用于查看系统和应用程序的日志信息。以下是一些常用的logcat命令及参数:

  • 查看所有日志信息:
adb logcat

此命令可以查看所有级别的日志信息,包括调试、信息、警告、错误等。

  • 查看特定标签的日志信息:
adb logcat -s TAG

其中,TAG是日志信息的标签名称。此命令可以筛选出指定标签的所有日志信息。

  • 显示调试级别的日志信息:
adb logcat -v debug

此命令可以查看调试级别的日志信息,包括VERBOSE、DEBUG、INFO、WARN、ERROR等级别的信息。

  • 保存日志信息到文件:
adb logcat -f logfile.txt

此命令可以将日志信息保存到指定的文件中。

  • 清除日志缓存:
adb logcat -c

此命令可以清除日志缓存,以便查看最新的日志信息。

  • 过滤指定级别的日志信息:
adb logcat *:D

此命令可以筛选出调试级别(DEBUG)及以上级别的日志信息。你可以根据需要将级别替换为V(VERBOSE)、I(INFO)、W(WARN)或E(ERROR)。

  • 使用正则表达式过滤日志信息:
adb logcat -v brief | grep "keyword"

此命令可以使用grep命令结合正则表达式来过滤日志信息。将"keyword"替换为你想要搜索的关键词。这样可以帮助你快速找到包含特定关键词的日志。

  • 查看特定进程的日志信息:
adb logcat --pid=PID

其中,PID是进程ID。此命令可以查看特定进程生成的日志信息。

  • 查看特定线程的日志信息:
adb logcat --pid=PID --tid=TID

其中,TID是线程ID。此命令可以查看特定线程生成的日志信息。

  • 格式化输出日志信息:
adb logcat -v json

此命令可以以JSON格式输出日志信息,便于后续处理和分析。

如何使用logcat查看日志信息

要使用logcat查看日志信息,首先需要将设备连接到开发机,并打开终端或命令提示符窗口。然后,在命令行中输入相应的logcat命令及参数即可。

以下是一个简单的例子,演示如何使用logcat查看Android系统和应用程序的日志信息:

adb logcat -v time

此命令可以查看所有级别的日志信息,并按照时间顺序显示。

在日志信息中,每一行都包含了日期、时间、标签、进程ID和消息等信息。通过这些信息,我们可以了解Android系统和应用程序的运行状态,从而更好地进行调试和分析工作。

procrank

procrank是一个用于查看系统内存使用情况的命令行工具,运行在设备侧的 shell 环境下,用来输出进程的内存快照,便于有效的观察进程的内存占用情况。
包括如下内存信息:

  • VSS:Virtual Set Size 虚拟耗用内存大小(包含共享库占用的内存)
  • RSS:Resident Set Size 实际使用物理内存大小(包含共享库占用的内存)
  • PSS:Proportional Set Size 实际使用的物理内存大小(比例分配共享库占用的内存)
  • USS:Unique Set Size 进程独自占用的物理内存大小(不包含共享库占用的内存)
    注意:
  • USS 大小代表只属于本进程正在使用的内存大小,进程被杀死后会被完整回收;
  • VSS/RSS 包含了共享库使用的内存,对查看单一进程内存状态没有参考价值;
  • PSS 是按照比例将共享内存分割后,某单一进程对共享内存区的占用情况。

使用procrank

执行procrank前需要先让终端获取到root权限
su
命令格式:

procrank [ -W ] [ -v | -r | -p | -u | -h ]

常用指令说明:
-v:按照 VSS 排序
-r:按照 RSS 排序
-p:按照 PSS 排序
-u:按照 USS 排序
-R:转换为递增[递减]方式排序
-w:只显示 working set 的统计计数
-W:重置 working set 的统计计数
-h:帮助

按照 VSS 降序排列输出内存快照:

procrank –v

默认procrank输出是通过PSS排序。

procrank命令及参数

procrank命令主要用于显示系统中各个进程的内存使用情况,包括内存占用量、进程名等信息。以下是一些常用的procrank命令及参数:

  • 查看系统内存使用情况:
procrank

此命令可以列出系统中各个进程的内存使用情况,包括进程名、PID、Vss、Rss、Pss等信息。

  • 以H级别的信息显示系统内存使用情况:
procrank -h

通过加上-h参数,可以显示更详细的内存使用信息,包括进程的地址空间(Vss)、RAM使用(Rss)、共享内存使用(Pss)等信息。

  • 按照内存使用量排序显示:
procrank -o

加上-o参数可以按照内存使用量从高到低进行排序显示,帮助用户快速找出内存占用较大的进程。

  • 检索指定内容信息
    查看指定进程的内存占用状态,命令格式如下:

procrank | grep [cmdline | PID]

其中 cmdline 表示需要查找的应用程序名,PID 表示需要查找的应用进程。
输出 systemUI 进程的内存占用状态:

procrank | grep “com.android.systemui”或者:
procrank
| grep 3396
  • 跟踪进程内存状态
    通过跟踪内存的占用状态,进而分析进程中是否存在内存泄露场景。使用编写脚本的方式,连续输出进
    程的内存快照,通过对比 USS 段,可以了解到此进程是否有内存泄露。
    示例:输出进程名为 com.android.systemui 的应用内存占用状态,查看是否有泄露:
    1、编写脚本 test.sh
#!/bin/bash
while true;do
adb shell procrank | grep “com.android.systemui”
sleep 1
done

2、通过 adb 工具连接到设备后,运行此脚本: ./test.sh

如何使用procrank查看系统内存使用情况

要使用procrank查看系统的内存使用情况,首先需要将设备连接到开发机,并打开终端或命令提示符窗口。然后,在命令行中输入相应的procrank命令及参数即可。

以下是一个简单的例子,演示如何使用procrank查看系统的内存使用情况:

procrank -h

此命令可以显示更详细的内存使用信息,帮助开发者全面了解系统中各个进程的内存占用情况。

dumpsys

dumpsys是一个用于查看Android系统的各种信息的命令行工具,运行在设备侧的 shell 环境下,提供系统中正在运行的服务状态信息功能。正在运行的服务是指 Android binder机制中的服务端进程。dumpsys 输出打印的条件:
1、只能打印已经加载到 ServiceManager中的服务;
2、如果服务端代码中的 dump 函数没有被实现,则没有信息输出。

dumpsys命令及参数

dumpsys命令主要用于显示Android系统的各种信息,包括CPU、内存、网络、电池等。以下是一些常用的dumpsys命令及参数:

  • 查看系统的所有信息:
dumpsys

此命令可以列出系统的各种信息,包括CPU、内存、网络、电池等信息。

  • 查看Dumpsys包含服务列表
    作用:输出dumpsys所有可打印服务信息,开发者可以关注需要调试服务的名称。
dumpsys -l
  • 查看指定服务的信息:
dumpsys <service>

通过指定服务名,可以只查看特定服务的信息,例如:

dumpsys battery

此命令可以查看电池状态信息。

  • 输出指定服务和应有进程的信息
    作用:输出指定服务指定应用进程信息。
    格式:
dumpsys [servicename] [应用名]

示例:输出服务名为 meminfo,进程名为 com.android.systemui 的内存信息,执行命令:

dumpsys meminfo com.android.systemui

注意:服务名称是大小写敏感的,并且必须输入完整服务名称。

  • 将结果保存到文件中:
dumpsys > <file>

通过将结果重定向到文件中,可以将dumpsys输出的信息保存下来,例如:

dumpsys > dump.txt

此命令可以将dumpsys输出的信息保存到dump.txt文件中。

如何使用dumpsys查看Android系统的各种信息

要使用dumpsys查看Android系统的各种信息,首先需要将设备连接到开发机,并打开终端或命令提示符窗口。然后,在命令行中输入相应的dumpsys命令及参数即可。

以下是一个简单的例子,演示如何使用dumpsys查看电池状态:

dumpsys battery

此命令可以查看设备的电池状态信息,包括电池电量、充电状态等。

dmesg

dmesg是一个用于查看系统启动时的日志信息和内核消息的命令行工具,本节将详细介绍dmesg命令及参数的含义,以及如何使用它来查看系统启动时的日志信息和内核消息。

dmesg命令及参数

dmesg命令主要用于显示系统启动时的日志信息和内核消息,包括硬件检测、驱动加载、内存分配、系统调用等信息。以下是一些常用的dmesg命令及参数:

  • 查看系统启动时的日志信息和内核消息:
dmesg

此命令可以列出系统启动时的日志信息和内核消息,包括硬件检测、驱动加载、内存分配、系统调用等信息。

  • 仅查看最近的N行日志:
dmesg -n N

通过加上-n参数并指定N的值,可以仅查看最近的N行日志,例如:

dmesg -n 10

此命令可以仅查看最近的10行日志信息和内核消息。

  • 按照时间戳排序显示:
dmesg -T

加上-T参数可以按照时间戳从新到旧的顺序进行排序显示,帮助用户快速找出最近出现的问题。

除了上述介绍的基本用法之外,dmesg还有其他一些用法和参数,使其更灵活和强大。

  • 查看特定级别的日志信息:可以通过加上不同的参数来过滤特定级别的日志信息,例如只查看错误级别的日志:
dmesg -l err

或只查看警告级别的日志:

dmesg -l warn
  • 实时查看日志信息:通过结合使用dmesg命令和tail命令,可以实时查看最新的日志信息,例如:
dmesg -w | tail

此命令会持续输出最新的日志信息,方便进行实时监控。

  • 将结果保存到文件中:通过将结果重定向到文件中,可以将dmesg输出的日志信息保存下来,例如:
dmesg > dmesg.log

此命令可以将dmesg输出的日志信息保存到dmesg.log文件中。

  • 显示可读的时间戳:通过加上-H参数,可以显示易读的时间戳格式,例如:
dmesg -H

此命令会将时间戳转换为易读的格式,方便阅读和理解。

dmesg -c命令用于清除内核环缓冲区中的日志信息。当执行该命令时,它会将当前内核环缓冲区中的内容显示出来,并清空该缓冲区。

要使用dmesg -c命令,请按照以下步骤操作:

  1. 打开终端或命令提示符窗口。
  2. 输入以下命令并按Enter键执行:
dmesg -c
  1. 执行命令后,终端会显示当前内核环缓冲区中的日志信息,并将其清空。

请注意,执行dmesg -c命令会清除内核环缓冲区中的所有日志信息,因此在执行该命令之前请确保您已经记录或备份了需要保留的日志信息。

如何使用dmesg查看系统启动时的日志信息和内核消息

要使用dmesg查看系统启动时的日志信息和内核消息,首先需要打开终端或命令提示符窗口。然后,在命令行中输入相应的dmesg命令及参数即可。

以下是一个简单的例子,演示如何使用dmesg查看系统启动时的日志信息和内核消息:

dmesg

此命令可以列出系统启动时的日志信息和内核消息,帮助开发者了解系统启动过程中的各种信息。

top、free、df

在Android系统开发和运维中,了解系统的内存、CPU和磁盘使用情况是非常重要的。本文将介绍三个常用的Linux命令:top、free和df,在Android系统中的应用以及如何使用它们来查看系统的内存、CPU和磁盘使用情况。

top命令

top命令是一个动态监视系统资源使用情况的命令行工具,可以实时显示进程列表、CPU使用率、内存占用等信息。

在Android系统中,可以通过终端或ADB shell来使用top命令。以下是使用top命令查看系统资源使用情况的示例代码:

$ adb shell
$ top

执行上述代码后,将显示实时的进程列表、CPU使用率、内存占用等信息。

free命令

free命令用于查看系统内存的使用情况,包括总内存、已使用内存、空闲内存、缓存和缓冲区等信息。

在Android系统中,可以通过终端或ADB shell来使用free命令。以下是使用free命令查看系统内存使用情况的示例代码:

$ adb shell
$ free

执行上述代码后,将显示系统的内存使用情况,包括总内存、已使用内存、空闲内存、缓存和缓冲区等信息。

df命令

df命令用于查看文件系统的磁盘空间使用情况,包括总磁盘空间、已用空间、可用空间和挂载点等信息。

在Android系统中,可以通过终端或ADB shell来使用df命令。以下是使用df命令查看磁盘空间使用情况的示例代码:

$ adb shell
$ df

执行上述代码后,将显示文件系统的磁盘空间使用情况,包括总磁盘空间、已用空间、可用空间和挂载点等信息。

trace

1. trace命令概述

trace命令是Android系统中一个非常有用的工具,可以用来跟踪Android应用程序的运行情况,包括CPU使用情况、函数调用耗时、线程活动等信息。

2. trace命令参数含义

  • -b:指定要跟踪的缓冲区,例如main、radio、events等。
  • -f:将跟踪结果输出到指定文件。
  • -e:指定要跟踪的事件,可以是函数调用、线程活动等。
  • -t:设置跟踪的时间长度。

3. 如何使用trace命令来跟踪Android应用程序的运行情况

在Android系统中,可以通过终端或ADB shell来使用trace命令。以下是使用trace命令跟踪应用程序运行情况的示例代码:

3.1 跟踪CPU使用情况
$ adb shell
$ trace -f my_trace_output.trace -e sched freq power cpu

上述命令将会跟踪CPU的调度、频率、功耗等信息,并将结果输出到my_trace_output.trace文件中。

3.2 跟踪函数调用耗时
$ adb shell
$ trace -f my_trace_output.trace -e 'probe process(ProcessName) { printf("%s", thread_indent(1)); printf("%s\n", user_stack()); }'

上述命令将会跟踪指定进程的函数调用情况,并将结果输出到my_trace_output.trace文件中。

3.3 跟踪线程活动
$ adb shell
$ trace -f my_trace_output.trace -e sched_switch sched_wakeup sched_waking sched_blocked_reason sched_cpu_hotplug

上述命令将会跟踪线程的切换、唤醒、阻塞等活动,并将结果输出到my_trace_output.trace文件中。

pm 、am

am

pm命令是Android系统中一个强大的工具,用于管理应用程序的安装、卸载、查询和清理等操作。

pm命令常用参数含义
  • -i:显示应用程序的安装信息,包括包名、版本号、安装路径等。
  • -l:列出已安装应用程序的包名列表。
  • -u:卸载指定包名的应用程序。
  • -f:显示应用程序的安装路径。
  • -s:显示应用程序的安装大小。
  • -c:清除指定包名的应用程序的缓存数据。

am

am命令用于与Android应用程序进行交互,可以启动、停止、调试应用程序,发送广播等。

2.1 am命令常用参数含义
  • start:启动一个应用程序。
  • stop:停止一个正在运行的应用程序。
  • broadcast:发送一个广播消息给应用程序。
  • instrument:运行一个应用程序的测试用例。
  • profile:启动应用程序的性能分析。

如何使用pm、am命令来管理Android设备上的应用程序

在Android系统中,可以通过终端或ADB shell来使用pm、am命令。以下是使用pm、am命令来管理应用程序的示例代码:

安装应用程序
$ adb install example.apk

上述命令将会安装名为example.apk的应用程序到Android设备中。

卸载应用程序
$ adb uninstall com.example.app

上述命令将会卸载包名为com.example.app的应用程序。

启动应用程序
$ adb shell am start -n com.example.app/.MainActivity

上述命令将会启动包名为com.example.app,主Activity为MainActivity的应用程序。

3.4 停止应用程序

$ adb shell am force-stop com.example.app

上述命令将会停止运行包名为com.example.app的应用程序。

getprop、setprop

getpropsetprop是Android系统中的两个命令,用于获取和设置系统属性。

1. getprop命令

getprop命令用于获取系统属性的值。以下是使用getprop命令的用法:

adb shell getprop [property_name]
  • property_name是要获取的系统属性的名称。

例如,如果要获取Android设备的型号信息,可以使用以下命令:

adb shell getprop ro.product.model

2. setprop命令

setprop命令用于设置系统属性的值。以下是使用setprop命令的用法:

adb shell setprop [property_name] [property_value]
  • property_name是要设置的系统属性的名称。
  • property_value是要设置的系统属性的值。

请注意,使用setprop命令可能需要root权限。

例如,如果要将Android设备的屏幕密度设置为240dpi,可以使用以下命令:

adb shell setprop ro.sf.lcd_density 240

请注意,在修改系统属性时,谨慎操作,确保了解具体的属性名称和取值范围,避免对系统造成不可逆的影响。

综上所述,getpropsetprop命令是在Android系统中用于获取和设置系统属性的工具。通过它们,您可以查看和修改一些与设备和系统相关的属性信息。

settings命令

settings命令用于在Android设备上访问和修改系统设置。您可以使用adb shell settings命令来执行各种操作。以下是settings命令的一些常见用法:

1. 获取设置值

要获取特定设置的值,可以使用以下命令格式:

adb shell settings get setting_name

其中,setting_name是要获取的设置名称。例如,要获取屏幕亮度设置的值,可以使用以下命令:

adb shell settings get system screen_brightness

2. 修改设置值

要修改特定设置的值,可以使用以下命令格式:

adb shell settings put setting_namespace setting_name value

其中,setting_namespace是设置所属的命名空间,setting_name是要修改的设置名称,value是要设置的新值。例如,要将屏幕亮度设置为255,可以使用以下命令:

adb shell settings put system screen_brightness 255

3. 列出所有设置项

要列出所有可用的设置项,可以使用以下命令:

adb shell settings list

该命令将会列出所有可用的设置项及其名称。

请注意,具体可用的设置项和命名空间取决于Android设备的版本和制造商。

综上所述,settings命令提供了在Android设备上访问和修改系统设置的功能。通过适当使用这些命令,您可以获取和修改各种设置项的值,以满足您的需求。

结论

在AOSP开发过程中,Android还有很多其他很实用的工具,欢迎探索讨论!希望本文的内容对你Android系统开发有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1241933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用GenericMenu创建上下文菜单或下拉菜单

使用GenericMenu 创建自定义上下文菜单和下拉菜单丰富自己的编辑器功能。 GenericMenu 介绍 变量 allowDuplicateNames 允许菜单具有多个同名的菜单项。 公共函数 AddDisabledItem 向菜单添加已禁用的项。 AddItem 向菜单添加一个项。 AddSeparator 向菜单添加一个分隔符项…

缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性

文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时&#xff0c;如何保证数据库和缓存的一致性&#xff1f;1. 先更新数据库&#xff1f;先更新缓存&#xff1f;解决方案 2…

PTA 六度空间

“六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一个陌生人。”如图1所示…

Jmeter 压测保姆级入门教程

1、Jmeter本地安装 1.1、下载安装 软件下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/ 选择一个压缩包下载即可 然后解压缩后进入bin目录直接执行命令jmeter即可启动 1.2 修改语言 默认是英文的&#xff0c;修改中文&#xff0c;点击…

使用原生js通过ajax实现服务器渲染的简单代码和个人改进

文章目录 前文提要代码实现主要参考服务器渲染实现逻辑网页呈现效果 代码分段讲解提要html的body部分css部分js部分xhr.open函数AJAX-onreadystatechange事件function函数简写方法附件功能&#xff1a;选中行 高亮 代码全文 前文提要 本文仅做个人学习记录&#xff0c;如有错误…

Apache服务Rwrite功能使用

Rewrite也称为规则重写&#xff0c;主要功能是实现浏览器访问时&#xff0c;URL的跳转。其正则表达式是基于Perl语言。要使用rewrite功能&#xff0c;Apache服务器需要添加rewrite模块。如果使用源码编译安装&#xff0c;–enable-rewrite。有了rewrite模块后&#xff0c;需要在…

怎么快速卸载office365

怎么快速卸载office365 根据官网提供的两种解决方案即点即用或MSIMicrosoft Store 根据官网提供的两种解决方案 官网地址&#xff1a;https://support.microsoft.com/zh-cn/office/%E4%BB%8E-pc-%E5%8D%B8%E8%BD%BD-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8#OfficeVersio…

visionOS空间计算实战开发教程Day 6 拖拽和点击

在之前的学习中我们在空间中添加了3D模型&#xff0c;但在初始摆放后就无法再对其进行移动或做出修改。本节我们在​​Day 5​​显示和隐藏的基础上让我们模型可以实现拖拽效果&#xff0c;同时对纯色的立方体实现点击随机换色的功能。 首先是入口文件&#xff0c;无需做出改变…

单元测试-java.lang.NullPointerException

报错信息 java.lang.NullPointerException 空指针异常 空对象引用 来源 对Controller层进行单元测试&#xff0c;解决完Spring上下文报错后继续报错。 解决 在测试方法执行前要为字段完成对象的注入&#xff0c;否则就报空指针异常。 测试例子 public class SysUserContr…

若依框架参数验证

文章目录 一、前端触发参数校验异常1.前端页面2.前端代码 二、后端触发参数校验异常1.前端页面2.后端报错 三、后端自定义参数验证1.添加注解2.触发后端校验 一、前端触发参数校验异常 1.前端页面 输入不符合校验规则的值来触发 2.前端代码 校验规则数组 表单的元素 修…

RTT打印在分区跳转后无法打印问题

场景&#xff1a; RTT打印仅占用JLINK的带宽&#xff0c;比串口传输更快更简洁&#xff0c;同时RTT可以使用jscope对代码里面的变量实时绘图显示波形&#xff0c;而采用串口打印波形无法实时打印。同时可以保存原始数据到本地进行分析&#xff0c;RTT在各方面完胜串口。 问题描…

【深度学习】Transformer简介

近年来&#xff0c;Transformer模型在自然语言处理&#xff08;NLP&#xff09;领域中横扫千军&#xff0c;以BERT、GPT为代表的模型屡屡屠榜&#xff0c;目前已经成为了该领域的标准模型。同时&#xff0c;在计算机视觉等领域中&#xff0c;Transformer模型也逐渐得到了重视&a…

CVE-2023-27524:Apache Superset未授权访问漏洞复现

文章目录 ​Apache Superset 未授权访问漏洞(CVE-2023-27524)复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.漏洞复现 0x06 修复建议 ​Apache Superset 未授权访问漏洞(CVE-2023-27524)复现 0x01 前言 免责声明&#xff1a;请勿利用文…

【追求卓越04】数据结构--栈与队列

引导 今天我们开始学习栈与队列的内容&#xff0c;我觉得栈并不难&#xff0c;所以篇幅也就不会那么多了。在虚拟空间中&#xff0c;栈是用户空间中的一种数据结构&#xff0c;它主要用于保存局部变量。那么问题来了&#xff0c;为什么用栈来保存局部变量&#xff0c;不用别的数…

【数据结构(四)】前缀、中缀、后缀表达式(逆波兰表达式)和逆波兰计算器的代码实现(2)

文章目录 1. 前缀表达式(波兰表达式)1.1. 前缀表达式的计算机求值 2. 中缀表达式3. 后缀表达式(逆波兰表达式)3.1. 后缀表达式的计算机求值3.2. 逆波兰计算器的实现 4. 中缀表达式 转 后缀表达式4.1. 思路分析4.2. 代码实现 5. 逆波兰计算器的完整版 1. 前缀表达式(波兰表达式)…

如何搭建Zblog网站并通过内网穿透将个人博客发布到公网

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员&#xff0c;自己搭建网站制作网页是绕…

紫光展锐V8821荣获“中国芯”重大创新突破产品奖

近日&#xff0c;“中国芯”优秀产品评选落下帷幕&#xff0c;紫光展锐首颗5G IoT-NTN卫星通信SoC芯片V8821凭借在卫星通信前沿领域的技术创新&#xff0c;从285家芯片企业、398款芯片产品中脱颖而出&#xff0c;荣获第十八届“中国芯”年度重大创新突破产品奖。 “中国芯”优…

SeaTunnel及SeaTunnel Web部署指南(小白版)

现在你能搜索到的SeaTunnel的安装。部署基本都有坑&#xff0c;官网的文档也是见到到相当于没有&#xff0c;基本很难找到一个适合新手小白第一次上手就能成功安装部署的版本&#xff0c;于是就有了这个部署指南的分享&#xff0c;小主已经把可能遇到的坑都填过了&#xff0c;希…

代码随想录算法训练营Day 60 || 84.柱状图中最大的矩形

84.柱状图中最大的矩形 力扣题目链接(opens new window) 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 1 < heights.length <10^50 < hei…

2014年12月10日 Go生态洞察:Go 1.4版本发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…