- 记一次坑自己的经历
Dawson_Jiang
androidstudioandroid
一、问题现象:一个简单的APP项目,只有一个MainActivity,启动就报错,(上个月还是正常的):FATALEXCEPTION:mainProcess:com.just.test,PID:6115java.lang.RuntimeException:UnabletoinstantiateactivityComponentInfo{com.just.test/com.just.test.Mai
- Android 跨进程通信(IPC)深度技术总结
JT-Blink
Androidandroid
1.概述Android系统基于Linux内核,采用多进程架构设计。每个Android应用默认运行在独立的进程中,拥有独立的虚拟机实例和内存空间。进程间的内存隔离机制保证了系统的稳定性和安全性,但同时也带来了进程间通信的挑战。1.1为什么需要跨进程通信系统架构需求:Android系统服务(如ActivityManagerService、WindowManagerService)运行在system_s
- Android筑基——Service的启动过程之同进程启动(基于api21)
willwaywang6
#Android架构学习androidService启动
目录1.前言2.正文2.1ContextWrapper.startService()方法2.2ContextImpl.startService()方法2.3ContextImpl.startServiceCommon()方法2.3.1ActivityManagerNative.getDefault()方法2.4ActivityManagerProxy.startService()方法2.5Acti
- 后台服务启动前台Service(跨进程)
一只努力的菜鸟。
javaandroidandroidstudio
在开发中,很多时候我们会碰到在hmi里面做了页面布局,但是要求开机就显示。我们的Service是开机自启动的,但是hmi不是开机自启动。那么这个时候我们需要在hmi添加一个hmiService,用后台的Service拉起hmiService进而去显示View(这个View一般都为WindowManager,不依附Activity)上代码:前台Service(hmiService):1.首先创建一个
- Python 使用总结之:Python 文本转语音引擎 - pyttsx3 完全指南
wangjinjin180
python开发语言
文本转语音(TTS,Text-to-Speech)技术已经广泛应用于语音助手、智能硬件、教育软件等多个领域。Python提供了多个库来实现TTS,其中pyttsx3是一个非常常用的跨平台TTS引擎。本文将详细介绍如何使用pyttsx3实现文本转语音的功能。一、安装pyttsx3库首先,你需要安装pyttsx3库。你可以通过以下命令来安装:pipinstallpyttsx3pyttsx3是一个离线库
- GDPU移动应用开发(安卓)期末考试复习资料
第一部分一、选择题应用的基本构建块是:A.ActivityB.FragmentC.ServiceD.Intent答案:A.Activity下列哪个不是AndroidManifest.xml文件的主要用途?A.声明应用权限B.声明应用组件C.定义应用的图标和名称D.编写应用的业务逻辑答案:D.编写应用的业务逻辑在Android中、用于存储持久化数据的SQLite数据库、默认存储在哪个目录下?A./s
- 深入理解Android应用生命周期:Demo实践指南
大数据无毛兽
本文还有配套的精品资源,点击获取简介:Android应用开发中,理解Activity等组件的生命周期至关重要,它决定了应用的性能和用户体验。本文结合《第一行代码》书籍内容,为新手开发者深入讲解Android生命周期,并通过实际项目代码和配置文件(如ActivityLifeCycle.iml、build.gradle等)的解析,阐述Activity的各个状态转换和生命周期方法(如onCreate()
- 【造工具-2】用SenceVoice,实现本地的语音转文本小工具
zhulangfly
AIAISTTASR
说到语音转文本,有两种说法,自动语音识别(ASR,AutomaticSpeechRecognition)和语音转文本(STT,Speech-to-Text),本质上都是通过算法将语音信号转化为可处理的文本形式的技术,两者的核心功能和应用目标完全一致。如果有区别的话,ASR更常见于学术研究和技术文档中,STT则更多应用于产品功能描述。ASR常与其他模块(如VAD、说话人分离)并列描述,体现其在技
- 【Android知识笔记】ARouter / Navigation / EventBus
川峰
Android知识笔记ARouterNavigationEventBus
注:本文主要基于过去AndroidView体系的路由学习笔记整理,不包括最新的JetpackCompose路由体系,如您需了解关于JetpackCompose中的导航路由,请参考JetpackCompose中的导航路由一文。传统路由方式//显性意图startActivity(newIntent(this,HomeActivity.
- Android Navigation
锐湃
jetpacknavigation
在JetPack中有一个组件是Navigation,顾名思义它是一个页面导航组件,相对于其他的第三方导航,不同的是它是专门为Fragment的页面管理所设计的。它对于单个Activity的App来说非常有用,因为以一个Activity为架构的App页面的呈现都是通过不同的Fragment来展示的。所以对于Fragment的管理至关重要。通常的实现都要自己维护Fragment之间的栈关系,同时要对F
- Android官方架构组件Navigation:大巧不工的Fragment管理框架
前言我在项目中尽量避免使用和管理Fragment,尤其是处理Fragment的多重嵌套和回退栈的情况。所幸有Activity在,我绕过了很多Fragment复杂的使用场景——必须承认,相比Activity的简单易上手,Fragment的古灵精怪令我头痛不已。当然,Github上也有很多前辈对于Fragment的管理框架,这是最简单的解决方案,比如目前比较火的Fragmentation,以及我司低调
- 【CSS】CSS3媒体查询全攻略
Vesper63
前端CSScsscss3媒体
媒体查询教程媒体查询(MediaQueries)是CSS3中引入的强大功能,允许内容根据设备特性(如屏幕尺寸、分辨率、方向等)进行自适应调整。以下是媒体查询的详细教程:基本语法@mediamediatypeand(mediafeature){/*CSS规则*/}常用媒体类型all-所有设备(默认)screen-电脑屏幕、平板、智能手机等print-打印机和打印预览speech-屏幕阅读器等发声设备
- python中使用adb命令 控制设备
@小张不嚣张
pythonadb数据库
importsubprocessimporttimeif__name__=="__main__":deftest_something(self):start_app("com.example.app/相对路径","MainActivity")defstart_app(package_name,activity_name):command=f"adbshellamstart-n{package_na
- 开源(离线)中文语音识别ASR(语音转文本)工具整理
切糕师学AI
#语音识别asr与语音合成STT语音识别人工智能深度学习
开源(离线)中文语音识别ASR(语音转文本)工具整理目录文章目录目录@[toc]openai的开源工具:whisperwhisper介绍引用ASRT语音识别项目ASRT介绍引用微软语音服务(付费)微软语音服务介绍实时语音转文本批量转录自定义语音引用PaddleSpeechPaddleSpeech介绍引用openai的开源工具:whisperwhisper介绍OpenAI在2022年9月21日开源了
- 【web前端】Vue3 核心模块与样式管理:从理论到代码实现
JosieBook
#Java全栈前端vue3
文章目录一、Vue3核心模块架构解析1.编译器模块(Compiler)2.运行时模块(Runtime)3.响应式模块(Reactivity)4.组合式API(CompositionAPI)二、样式管理模块详解1.Scoped样式2.CSSModules3.样式穿透与全局样式三、完整页面代码实现1.项目结构2.代码实现`main.js``App.vue``components/Counter.vue
- Android7 Input(十一)App View InputEvent事件分发
A-花开堪折
Android7android
概述本文主要讲述AppView中inputEvent事件分发的流程,我们这里不讲述关于AndroidView窗口管理系统。Android系统中View的事件分发的方向就是:Activity->PhoneWindow->DecorView->ViewGroup->View当事件被处理完成后,根据事件处理的结果然,反向调用路径返回:从View->ViewGroup->DecorView->PhoneW
- 用Google Cloud Speech-to-Text API进行音频转录
huluwaqimotuo
音视频
###技术背景介绍随着人工智能技术的不断发展,语音识别已成为我们生活中不可或缺的一部分。GoogleCloudSpeech-to-TextAPI是其中的佼佼者,能够从音频文件中提取文本信息,减少人工转录的麻烦。这篇文章将指导你如何使用`GoogleSpeechToTextLoader`来加载和转录音频文件。###核心原理解析`GoogleSpeechToTextLoader`是一个工具,它通过调用
- Android Studio Meerkat 引用framework.jar方法
李艺为
androidstudiojavagradle
AndroidStudioGiraffe引用framework.jar方法1单独模块引用framework.jar配置方法1.1添加测试代码:publicclassMainActivityextendsAppCompatActivity{privatestaticfinalStringTAG=MainActivity.class.getSimpleName();@Overrideprotected
- 安卓JetPack篇——LifeCycle原理
GoatJun
Androidandroidandroidjetpack
LifeCycle一、什么是Lifecycle具备宿主生命周期感知能力的组件。它能持有组件(如Activity或Fragment)生命周期状态的信息,并且允许其他观察者监听宿主的状态。二、基本原理1、安卓10以下版本隐形的Fragment注入在LifecycleOwner(宿主页面)中,当Fragment感知到宿主生命周期变化时,通知LifecycleRegister进行状态修改,然后Lifecy
- 需求和测试的关系
RequirementsandTestingAshasbeendiscussedabove,testingiscloselyrelatedtorequirementsateverylevel.Initsbroadestsense,testingisanyactivitythatallowsdefectsinthesystemtobedetectedorprevented,whereadefecti
- Android应用的基本构造及威胁(apk)
墨痕诉清风
安全文献android
目录APK文件是什么apk文件解压后的目录结构apk文件的存储位置如何从设备上提取特定的应用Android应用的组件Activity(活动)Service(服务)BroadcastReceive(广播接收者)ContentProvider(内容提供者)Android应用的构建过程应用运行时发生了什么理解应用沙盒安卓应用简介web应用原生应用混合应用移动应用威胁建模移动应用架构微软公司安全开发流程威
- android渲染是skia与egl,Android 重学系列 SurfaceView和TextureView 源码浅析(下)
前言上一篇文章和大家论述了SurfaceView的核心原理,本文和大家聊聊TextureView的核心原理。正文TextureView的用法这里稍微解释一下。用一个官方的demo看看。publicclassLiveCameraActivityextendsActivityimplementsTextureView.SurfaceTextureListener{privateCameramCamer
- C#上位机实现报警语音播报
上位机付工
上位机技术分享c#开发语言报警播报语音播报上位机运动控制卡PLC
我们在开发C#上位机时,有时候会需要将报警信息通过语音进行播报,今天跟大家分享一下具体的实现过程。一、组件安装首先我们创建好一个Windows窗体项目,然后添加System.Speech库引用。点击引用,右击添加引用,在程序集中,找到System.Speech,这个库是Windows系统自带的,所以直接点击确定即可。当然,我们也可以通过Nuget下载安装:二、组件封装接下来我们对System.Sp
- 为 RecyclerView 的列表条目 item 添加动画
PekingVagrant
androidRecyclerViewRecyclerViewitem动画
首先感谢启舰前辈,他的Android自定义控件三部曲真的很经典,推荐大家去看,本篇文章也是借鉴他的自定义控件三部曲之动画篇(十三)——实现ListViewItem进入动画完成的。目录一.找到为item添加动画的合适位置二.使用Animation创建item动画1.创建item的布局xml2.adapter类3.从xml中加载item的动画4.主界面MainActivity5.效果一.找到为item
- 【小米App】在Android Studio中使用Kotlin开发的简单的Abdroid应用示例逐行解释
简单的AndroidKotlin应用示例下面是一个使用Kotlin在AndroidStudio中开发的简单计数器应用示例代码,包含逐行解释。1.MainActivity.kt//导入必要的Android库packagecom.example.simplecounterimportandroidx.appcompat.app.AppCompatActivityimportandroid.os.Bun
- 无障碍权限另外的作用之-Android应用保活
你干吗哎哟
android
无障碍权限是高危权限,前提是能很好的引导用户进行授权。此方案即使用户手动杀死App,该App的无障碍服务依旧幸存前言随着目前Android生态的逐渐完善,以前的保活方案例如后台无声音乐、双守护进程、1像素Activity、leoric(https://github.com/tiann/Leoric,当然还有就是ioctl方式(https://github.com/Pangu-Immortal/Ke
- oracle ash说明,ASH报告解读
跨考考研
oracleash说明
TopEventsTopUserEventsEventEventClass%ActivityAvgActiveSessionsCPU+WaitforCPUCPU69.832.75cursor:pinSwaitonXConcurrency22.500.89dbfilesequentialreadUserI/O3.360.13这一部分是用户会话的等待事件的信息。列出了采样时段内数据库发生的显著用户等待
- Android应用:深度解析资源管理与实战开发drawable资源详解(计算机器)
Android洋芋
经验历程Android开发资源管理矢量图标UI设计布局优化图形资源
简介本文将带领读者从零开始构建一个完整的Android应用,重点解析res/drawable/目录中的资源管理策略,并结合企业级开发实战案例,手把手教学如何通过代码示例和UI设计优化打造高质量应用。文章涵盖项目搭建、资源解析、功能实现、性能优化及发布全流程,适合开发者进阶学习。一、项目搭建与资源初始化1.创建Android项目通过AndroidStudio创建新项目,选择EmptyActivity
- android webview输入框_Android WebView 软键盘挡住输入框
weixin_39681621
androidwebview输入框
解决方法一:在所在的Activity中加入getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);解决方法二:1.调整AndroidManifest.xml找到对应的Activity,加入以
- react-native键盘弹起遮挡输入框
花程序媛
importReact,{Component}from'react';import{Platform,StyleSheet,Text,View,Image,FlatList,Dimensions,WebView,TouchableOpacity,TextInput,NativeModules,DeviceEventEmitter,Alert,ToastAndroid,ActivityIndicat
- 集合框架
天子之骄
java数据结构集合框架
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
- Table Driven(表驱动)方法实例
bijian1013
javaenumTable Driven表驱动
实例一:
/**
* 驾驶人年龄段
* 保险行业,会对驾驶人的年龄做年龄段的区分判断
* 驾驶人年龄段:01-[18,25);02-[25,30);03-[30-35);04-[35,40);05-[40,45);06-[45,50);07-[50-55);08-[55,+∞)
*/
public class AgePeriodTest {
//if...el
- Jquery 总结
cuishikuan
javajqueryAjaxWebjquery方法
1.$.trim方法用于移除字符串头部和尾部多余的空格。如:$.trim(' Hello ') // Hello2.$.contains方法返回一个布尔值,表示某个DOM元素(第二个参数)是否为另一个DOM元素(第一个参数)的下级元素。如:$.contains(document.documentElement, document.body); 3.$
- 面向对象概念的提出
麦田的设计者
java面向对象面向过程
面向对象中,一切都是由对象展开的,组织代码,封装数据。
在台湾面向对象被翻译为了面向物件编程,这充分说明了,这种编程强调实体。
下面就结合编程语言的发展史,聊一聊面向过程和面向对象。
c语言由贝尔实
- linux网口绑定
被触发
linux
刚在一台IBM Xserver服务器上装了RedHat Linux Enterprise AS 4,为了提高网络的可靠性配置双网卡绑定。
一、环境描述
我的RedHat Linux Enterprise AS 4安装双口的Intel千兆网卡,通过ifconfig -a命令看到eth0和eth1两张网卡。
二、双网卡绑定步骤:
2.1 修改/etc/sysconfig/network
- XML基础语法
肆无忌惮_
xml
一、什么是XML?
XML全称是Extensible Markup Language,可扩展标记语言。很类似HTML。XML的目的是传输数据而非显示数据。XML的标签没有被预定义,你需要自行定义标签。XML被设计为具有自我描述性。是W3C的推荐标准。
二、为什么学习XML?
用来解决程序间数据传输的格式问题
做配置文件
充当小型数据库
三、XML与HTM
- 为网页添加自己喜欢的字体
知了ing
字体 秒表 css
@font-face {
font-family: miaobiao;//定义字体名字
font-style: normal;
font-weight: 400;
src: url('font/DS-DIGI-e.eot');//字体文件
}
使用:
<label style="font-size:18px;font-famil
- redis范围查询应用-查找IP所在城市
矮蛋蛋
redis
原文地址:
http://www.tuicool.com/articles/BrURbqV
需求
根据IP找到对应的城市
原来的解决方案
oracle表(ip_country):
查询IP对应的城市:
1.把a.b.c.d这样格式的IP转为一个数字,例如为把210.21.224.34转为3524648994
2. select city from ip_
- 输入两个整数, 计算百分比
alleni123
java
public static String getPercent(int x, int total){
double result=(x*1.0)/(total*1.0);
System.out.println(result);
DecimalFormat df1=new DecimalFormat("0.0000%");
- 百合——————>怎么学习计算机语言
百合不是茶
java 移动开发
对于一个从没有接触过计算机语言的人来说,一上来就学面向对象,就算是心里上面接受的了,灵魂我觉得也应该是跟不上的,学不好是很正常的现象,计算机语言老师讲的再多,你在课堂上面跟着老师听的再多,我觉得你应该还是学不会的,最主要的原因是你根本没有想过该怎么来学习计算机编程语言,记得大一的时候金山网络公司在湖大招聘我们学校一个才来大学几天的被金山网络录取,一个刚到大学的就能够去和
- linux下tomcat开机自启动
bijian1013
tomcat
方法一:
修改Tomcat/bin/startup.sh 为:
export JAVA_HOME=/home/java1.6.0_27
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_H
- spring aop实例
bijian1013
javaspringAOP
1.AdviceMethods.java
package com.bijian.study.spring.aop.schema;
public class AdviceMethods {
public void preGreeting() {
System.out.println("--how are you!--");
}
}
2.beans.x
- [Gson八]GsonBuilder序列化和反序列化选项enableComplexMapKeySerialization
bit1129
serialization
enableComplexMapKeySerialization配置项的含义
Gson在序列化Map时,默认情况下,是调用Key的toString方法得到它的JSON字符串的Key,对于简单类型和字符串类型,这没有问题,但是对于复杂数据对象,如果对象没有覆写toString方法,那么默认的toString方法将得到这个对象的Hash地址。
GsonBuilder用于
- 【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题
bit1129
Stream
包括Spark Streaming在内的实时计算数据可靠性指的是三种级别:
1. At most once,数据最多只能接受一次,有可能接收不到
2. At least once, 数据至少接受一次,有可能重复接收
3. Exactly once 数据保证被处理并且只被处理一次,
具体的多读几遍http://spark.apache.org/docs/lates
- shell脚本批量检测端口是否被占用脚本
ronin47
#!/bin/bash
cat ports |while read line
do#nc -z -w 10 $line
nc -z -w 2 $line 58422>/dev/null2>&1if[ $?-eq 0]then
echo $line:ok
else
echo $line:fail
fi
done
这里的ports 既可以是文件
- java-2.设计包含min函数的栈
bylijinnan
java
具体思路参见:http://zhedahht.blog.163.com/blog/static/25411174200712895228171/
import java.util.ArrayList;
import java.util.List;
public class MinStack {
//maybe we can use origin array rathe
- Netty源码学习-ChannelHandler
bylijinnan
javanetty
一般来说,“有状态”的ChannelHandler不应该是“共享”的,“无状态”的ChannelHandler则可“共享”
例如ObjectEncoder是“共享”的, 但 ObjectDecoder 不是
因为每一次调用decode方法时,可能数据未接收完全(incomplete),
它与上一次decode时接收到的数据“累计”起来才有可能是完整的数据,是“有状态”的
p
- java生成随机数
cngolon
java
方法一:
/**
* 生成随机数
* @author
[email protected]
* @return
*/
public synchronized static String getChargeSequenceNum(String pre){
StringBuffer sequenceNum = new StringBuffer();
Date dateTime = new D
- POI读写海量数据
ctrain
海量数据
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming
- mysql 日期格式化date_format详细使用
daizj
mysqldate_format日期格式转换日期格式化
日期转换函数的详细使用说明
DATE_FORMAT(date,format) Formats the date value according to the format string. The following specifiers may be used in the format string. The&n
- 一个程序员分享8年的开发经验
dcj3sjt126com
程序员
在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。
明确入行的目的
很多人干IT这一行都冲着“收入高”这一点的,因为只要学会一点HTML, DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容
- android欢迎界面淡入淡出效果
dcj3sjt126com
android
很多Android应用一开始都会有一个欢迎界面,淡入淡出效果也是用得非常多的,下面来实现一下。
主要代码如下:
package com.myaibang.activity;
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.CountDown
- linux 复习笔记之常见压缩命令
eksliang
tar解压linux系统常见压缩命令linux压缩命令tar压缩
转载请出自出处:http://eksliang.iteye.com/blog/2109693
linux中常见压缩文件的拓展名
*.gz gzip程序压缩的文件
*.bz2 bzip程序压缩的文件
*.tar tar程序打包的数据,没有经过压缩
*.tar.gz tar程序打包后,并经过gzip程序压缩
*.tar.bz2 tar程序打包后,并经过bzip程序压缩
*.zi
- Android 应用程序发送shell命令
gqdy365
android
项目中需要直接在APP中通过发送shell指令来控制lcd灯,其实按理说应该是方案公司在调好lcd灯驱动之后直接通过service送接口上来给APP,APP调用就可以控制了,这是正规流程,但我们项目的方案商用的mtk方案,方案公司又没人会改,只调好了驱动,让应用程序自己实现灯的控制,这不蛋疼嘛!!!!
发就发吧!
一、关于shell指令:
我们知道,shell指令是Linux里面带的
- java 无损读取文本文件
hw1287789687
读取文件无损读取读取文本文件charset
java 如何无损读取文本文件呢?
以下是有损的
@Deprecated
public static String getFullContent(File file, String charset) {
BufferedReader reader = null;
if (!file.exists()) {
System.out.println("getFull
- Firebase 相关文章索引
justjavac
firebase
Awesome Firebase
最近谷歌收购Firebase的新闻又将Firebase拉入了人们的视野,于是我做了这个 github 项目。
Firebase 是一个数据同步的云服务,不同于 Dropbox 的「文件」,Firebase 同步的是「数据」,服务对象是网站开发者,帮助他们开发具有「实时」(Real-Time)特性的应用。
开发者只需引用一个 API 库文件就可以使用标准 RE
- C++学习重点
lx.asymmetric
C++笔记
1.c++面向对象的三个特性:封装性,继承性以及多态性。
2.标识符的命名规则:由字母和下划线开头,同时由字母、数字或下划线组成;不能与系统关键字重名。
3.c++语言常量包括整型常量、浮点型常量、布尔常量、字符型常量和字符串性常量。
4.运算符按其功能开以分为六类:算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符和条件运算符。
&n
- java bean和xml相互转换
q821424508
javabeanxmlxml和bean转换java bean和xml转换
这几天在做微信公众号
做的过程中想找个java bean转xml的工具,找了几个用着不知道是配置不好还是怎么回事,都会有一些问题,
然后脑子一热谢了一个javabean和xml的转换的工具里,自己用着还行,虽然有一些约束吧 ,
还是贴出来记录一下
顺便你提一下下,这个转换工具支持属性为集合、数组和非基本属性的对象。
packag
- C 语言初级 位运算
1140566087
位运算c
第十章 位运算 1、位运算对象只能是整形或字符型数据,在VC6.0中int型数据占4个字节 2、位运算符: 运算符 作用 ~ 按位求反 << 左移 >> 右移 & 按位与 ^ 按位异或 | 按位或 他们的优先级从高到低; 3、位运算符的运算功能: a、按位取反: ~01001101 = 101
- 14点睛Spring4.1-脚本编程
wiselyman
spring4
14.1 Scripting脚本编程
脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行;
如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦;
如果我们的应用不允许重启,这在现实的情况中也是很常见的;
在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean;
spring支持脚本