- Android 基础知识:Android 应用权限详解
流水mpc
android
这篇文章为大家系统的梳理一下Android权限相关的知识,在日常开发中,我们都用过权限,但是对于权限的一些细节我们可能掌握的还不够全面,这篇文章会全面的为大家介绍权限相关的知识。当然,本篇文章依然是参考了Google的官方文档:应用权限。本文目录一、认识Android权限(一)Android系统为什么需要权限?Android系统设置权限的目的是保护Android用户的隐私。对于用户的敏感数据And
- Android通知(Notification)全面解析:从基础到高级应用
一、Android通知概述通知(Notification)是Android系统中用于在应用之外向用户传递信息的重要机制。当应用需要告知用户某些事件或信息时,可以通过通知在状态栏显示图标,用户下拉通知栏即可查看详细信息。这种机制几乎被所有现代应用采用,用于推送新闻、消息、广告等内容3。与Toast相比,Notification的优势在于:可以长时间停留在通知栏,适合内容较多且需要持久展示的信息支持丰
- Android应用程序UI架构
概述Android系统采用一种称为Surface的UI架构为应用程序提供用户界面。在Android应用程序中,每一个Activity组件都关联有一个或者若干个窗口,每一个窗口都对应有一个Surface。有了这个Surface之后,应用程序就可以在上面渲染窗口的UI。最终这些已经绘制好了的Surface都会被统一提交给Surface管理服务SurfaceFlinger进行合成,最后显示在屏幕上面。无
- Android系统编译源码目录详解
giaoho
安卓开发学习学习
源码目录详解文章目录源码目录详解一、核心框架与系统层相关二、编译、构建与开发工具链相关三、系统应用与包管理相关四、测试、调试与辅助工具相关五、其他关键文件/文件夹/frameworks及其子目录讲解1.`base`2.`av`3.`hardware`4.`native`5.`libs`6.`minikin`7.`layoutlib`总结:高频使用优先级/build目录详解1.核心构建工具相关baz
- LockscreenCredential 类方法详解
始于足下 方能行更远
8_SystemUiandroid
LockscreenCredential是Android系统中用于表示锁屏凭证(如PIN、密码、图案等)的类,它封装了用户设置的解锁凭据,并提供安全的方式来处理和验证这些凭据。这个类主要用于系统锁屏、设备加密以及用户认证等场景。LockscreenCredential类方法详解构造函数和创建方法私有构造函数privateLockscreenCredential(inttype,byte[]cred
- 校园助手:Android应用开发实战指南.zip
小馬锅
本文还有配套的精品资源,点击获取简介:本项目以创建校园助手应用程序为例,详细介绍Android系统下的应用开发。涵盖应用开发基础、课程表功能、记事本模块、计算器模块、小程序模块、架构设计、用户界面设计、权限管理、发布与调试以及版本控制与协作等关键知识点。通过实战项目学习,开发者可以全面掌握Android应用开发的核心技能。1.Android应用开发基础1.1Android应用概述Android作为
- Android 的16 KB内存页设备需要硬件支持吗,还是只需要手机升级到Android15系统就可以
yzpyzp
android智能手机
Android的16KB内存页设备需要硬件支持吗,还是只需要手机升级到Android15系统就可以?deepseek回答:DeepSeekR1思考3秒思考过程好的,用户现在问的是Android的16KB内存页设备是否需要硬件支持,还是只需要升级到Android15系统就可以。这个问题需要结合Android系统的内存管理机制来回答。首先,内存页的大小通常是由硬件架构决定的,比如ARM的处理器可能支持
- getConnectionOwnerUid
雨声不在
AndroiduidAndroid
在Android系统中,为了进行网络权限控制、流量统计等,需要将网络连接(如Socket)与发起该连接的应用UID关联起来。这种关联通常在内核中建立,并在用户空间通过一些接口进行查询。1.内核中的实现基础Linux内核中,每个Socket都有一个关联的structsock结构。在该结构中,有一个字段用于存储用户ID(UID):structsock{//...kuid_tsk_uid;//存储创建该
- 关于未完全Root的Android系统如何彻底ROOT
用root工具获取权限后,你会发现其实root不完整,这时我们可以通过一系列操作来获取ROOT权限。1,个人觉得360一键ROOT和金山的ROOT工具还是可以的;2,安装busybox,去下载busybox,然后将此文件放入system/bin下就可以了。3,安装超级终端或者是终端模拟器;4,打开超级终端或者是终端模拟器;输入su回车获取权限输入使用busyboxmount-orw,remount
- 嵌入式解谜日志之linux系统基础知识
xxy.c
linux运维服务器
linux是一种开源的类Unix操作系统,内核由LinusTorvalds开发,具有多用户,多任务,支持多线程和多CPU的特点。是由内核,shell,文件系统和应用程序组成。也了解到linux系统的一些涉及领域:如Android系统是基于linux内核开发的,广泛运用于智能手机,平板电脑等移动设备。同时操作系统除了熟知的windows以外,linux操作系统适合开发者,开源爱好者使用。学习到了关于
- android 必备java,Android必备的Java知识点
weixin_39540704
android必备java
Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。a)Java基础语法:看下面的《Java知识点列表》b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多(设计模式大概有28种,具体请看设计模式系列),一个一个的
- 关于ios点击分享自动复制到粘贴板的问题
前言Android系统没有什么特别的要求,实现这个也比较容易。但ios在某些情况下就会出现问题。如果ios是点击之后,请求接口,再把接口的内容赋值给粘贴板肯定行不通,会被ios系统拦截,导致赋值失败或者赋值为空。建议使用第三方库clipboard.js来实现粘贴板赋值将点击的dom设置为一个button最好实现。CopytoclipboardimportClipboardJSfrom'clipbo
- okhttp xxx Android10Platform, sslSocketFactory is class com.android.org.conscrypt.OpenSSLSocketFact
mmsx
Android常用开发技术okhttpandroid
问题分析这个错误通常表示在Android10平台上,OkHttp在处理SSL/TLS连接时,无法正确提取信任管理器(TrustManager)。sslSocketFactory显示为com.android.org.conscrypt.OpenSSLSocketFactoryImpl,这是Android系统默认的SSL套接字工厂。问题可能出在信任管理器的配置或者与Android10的兼容性上。可能原
- Android 系统设置,“隐私”中关闭相机权限
Android系统设置中,“隐私”里面,有一项是关于“摄像头使用权限”,如果关闭了,则所有的app都没法正常去打开相机。我们如果需要做类似禁用相机的功能,也是可以参考该部分的代码流程逻辑。这一功能涉及到的相关代码,如下图所示。CameraService.cpp---------CameraService.cppSetcameramutingbehaviorbool isCameraPrivacyE
- 在Android开发中,如何获取到手机设备的PIN码?
西瓜本瓜@
android智能手机
在Android开发中,无法直接获取用户设置的PIN码(锁屏密码),无论是否有Root权限。这是Android系统层面的隐私和安全机制保护,即使是系统应用或使用了Xposed模块,也无法直接访问用户设置的锁屏PIN、图案、密码。✅原因:Android系统保护机制锁屏密码(包括PIN、图案、密码)是加密保存在系统中,例如/data/system/locksettings.db,而且即使你访问这个数据
- Android图书借阅系统完整App开发教程(源码+数据库)
本文还有配套的精品资源,点击获取简介:本教程深入介绍了基于Android平台的图书借阅系统App开发过程,涵盖了从UI设计、网络通信到数据库操作的全面实践。项目包含源码和数据库文件,让学生能够通过实际案例学习并掌握Android应用开发的核心技术。本App具有预约借书、书籍评论、图书推荐和逾期提醒等功能,要求开发者熟悉Java语言和Android系统,以及实现后端逻辑和数据存储。此项目是一个宝贵的
- android mtk camera
小太阳。熔泪
cameraandroid
Android系统Camera篇本项目12M的sensor,让其可以拍48M的照片IPEQCFA本项目12M的sensor,让其可以拍48M的照片具体有两种方案IPE方式和QCFAIPE该方式较为简单。实在createCaptureSession请求将48M的分辨率传到底层,让其可以创建该摄像头的stream,流程为设置48M的分辨(不要从StreamConfigurationMap获取分辨率),
- Android系统分区理解及分区目录细解
···Android分区:System分区,Data分区,Cache分区,SDCard分区.在Adb中使用df来查看分区情况。1跨分区不能用MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp。此目录下有个busybox和1.txt文件。则利用CP命令拷贝如下:./busyboxcp1.txt/system.2Android的用户组有System,root,sh
- Android 异构计算与 OpenCL/CUDA/OpenVX 的协同方式实战解析
观熵
国产NPU×Android推理优化android人工智能
Android异构计算与OpenCL/CUDA/OpenVX的协同方式实战解析关键词Android异构计算、OpenCL、CUDA、OpenVX、GPU加速、NPU调度、HSA架构、神经网络推理、计算图编排、SoC协同处理、AI芯片编程摘要随着国产SoC平台持续迭代,Android系统中异构计算模式已从传统CPU+GPU并行计算,扩展到集成NPU、DSP、ISP等多核单元的复杂协同体系。在AI推理
- Android 系统默认代码,如何屏蔽相册分享功能
Android系统默认代码,如何屏蔽相册分享功能开发云-一站式云服务平台diff--gita/packages/apps/Gallery2/src/com/android/gallery3d/app/GalleryActionBar.javab/packages/apps/Gallery2/src/com/android/gallery3d/app/GalleryActionBar.javaind
- Android系统高通平台修改调整虚拟机堆内存大小
zzq1996
android
Android系统高通平台如何修改调整虚拟机堆内存大小按如下方式修改开发云-一站式云服务平台diff--gita/device/qcom/msm89/system.propb/device/qcom/msm89/system.propindex---a/device/qcom/msm8974/system.prop+++b/device/qcom/msm8974/system.prop@@@@de
- android Input子系统分析(内核层->android系统层)
InputTechnicalInformationAndroid输入子系统支持许多不同的设备类,包括键盘,摇杆,轨迹球,鼠标和触摸屏.这份文档描述了上层如何配置,校准,测试,和编写输入设备驱动.InputConceptsOverviewKeyLayoutFilesKeyCharacterMapFilesInputDeviceConfigurationFilesMigrationGuideInput
- 自动化测试 | UI Automator 进阶指南
aihuanshang9340
UIAutomator相关介绍:跨应用的用户界面自动化测试包含在AndroidXTest(https://developer.android.com/training/testing)中支持的Android系统:>=Android4.3(APIlevel18)基于instrumentation,依赖于AndroidJUnitRunner测试运行器设置UIAutomator(SetupUIAutom
- Android 系统开发中,如何给git未跟踪的文件打 Git Patch
zzq1996
androidgit
Android系统开发中,如何给git未跟踪的文件打GitPatch开发云-一站式云服务平台在Git中,给未跟踪的文件(untrackedfiles)打补丁(patch)需要先将这些文件暂存(stage),然后再生成补丁。以下是详细步骤:基本步骤添加未跟踪文件到暂存区:bashgitadd#或者添加所有未跟踪文件gitadd.生成补丁文件:bashgitdiff--cached>mypatch.p
- Android15音频进阶之高通Adsp触发ramdump(一百二十六)
Android系统攻城狮
AndroidAudio工程师进阶系列Android15音频进阶高通平台
简介:CSDN博客专家、《Android系统多媒体进阶实战》一书作者博主新书推荐:《Android系统多媒体进阶实战》AndroidAudio工程师专栏:Audio工程师进阶系列【原创干货持续更新中……】Android多媒体专栏:多媒体系统工程师系列【原创干货持续更新中……】推荐1:车载系统实战课:
- 安卓audio之Remote_Submix
盼雨落,等风起
安卓audio安卓
参考文档:Audio-内录实现原理(上)Audio-内录实现原理(下)一、实现原理REMOTE_SUBMIX是Android系统提供的内录(InternalAudioCapture)方案,用于捕获设备音频输出(如扬声器播放的声音)而非麦克风输入。其核心机制如下:HAL层数据流转音频数据不写入物理设备,而是由HAL层(audio.r_submix.default.so)开辟独立缓冲区,实现软件级混音
- Android系统框架详解
giaoho
安卓开发学习android
Android系统框架详解文章目录Android系统框架详解1.系统框架图2.Linux内核(LinuxKernel)3.Android程序库(Libraries)4.Android应用程序框架(ApplicationFramework)5.Android应用程序和小部件1.系统框架图Android系统从下至上分为4层:Linux内核、Android程序库及Android运行时、Android应用
- QNX侧触摸屏(TP)Bringup流程与源码深度解析
芯作者
DD:计算机科学领域android
——从硬件中断到虚拟化事件传递的全栈揭秘**指尖背后的复杂旅程在QNX+Android虚拟化座舱中,触摸屏是用户与系统交互的核心通道。一次简单的点击需穿越:物理层:触控芯片的I²C/SPI通信驱动层:QNX资源管理器(ResourceManager)虚拟化层:Hypervisor事件路由Android系统:Input子系统处理本文将深入剖析QNX侧TP模块的Bringup流程,结合源码揭示毫秒级响
- android原生 睡死,Android消息推送关键技术之休眠唤醒
为了节省电量,Android系统在一段时间不操作后,会进入休眠状态,Android6.0之后更是引入了Doze和Standby两种省电模式,达到进一步省电的目的。在这些省电模式下,会挂起一些设备的电源,限制网络访问和一些其它的后台操作,因此休眠自然也会影响到后台的推送服务。Android休眠机制由于Android系统是基于Linux内核的,所以Android系统地休眠机制也继承自Linux,并且在
- 安卓高版本HTTPS抓包:终极解决方案
泡泡以安
爬虫技术#安卓逆向爬虫安卓逆向安卓抓包https
尽管市场上存在众多抓包工具,但针对Android高版本设备进行HTTPS协议的数据包捕获时,通常需要将该工具的根证书安装至系统的特定目录中。本文将以Charles为例,介绍如何在Android系统中正确安装其根证书以实现HTTPS流量的拦截。一、修改证书名称首先启动Charles软件,通过访问菜单栏中的“Help”→“SSLProxying”→“SaveCharlesRootCertificate
- PHP如何实现二维数组排序?
IT独行者
二维数组PHP排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
- 【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
- 由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VOwsdlwebservicerpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
- JAVA海量数据处理之二(BitMap)
周凡杨
java算法bitmapbitset数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
- java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
- Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
- java常用JVM参数
墙头上一根草
javajvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
- 我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
- mysql查询性能优化之二
annan211
UNIONmysql查询优化索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
- 数据的备份与恢复
百合不是茶
oraclesql数据恢复数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
- 线程组
bijian1013
java多线程threadjava多线程线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
- top命令找到占用CPU最高的java线程
bijian1013
javalinuxtop
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
- C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
- nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
- java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
- Android四大组件的理解
Cb123456
android四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
- [宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
- 同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
- springmvc Spring3 MVC,ajax,乱码
dashuaifu
springjquerymvcAjax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
- 搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
- yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
- Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
- 什么是POJO?
gupeng_ie
javaPOJO框架Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
- jQuery网站顶部定时折叠广告
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
- Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
- leetcode: sort list
michelle_0916
Algorithmlinked listsort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
- nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
- 用枚举来处理java自定义异常
tcrct
javaenumexception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
- erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那