- Ubuntu20.04使用systemd配置Gogs开机启动
海上微风
LinuxUbuntu20.04Gogssystemd开机启动Gogs启动失败
先说现象,大家用sudosystemctlstartgogs是不是和我一样?ubuntu@raspberry-pi:~$sudosystemctlstatusgogs●gogs.service-GogsLoaded:loaded(/lib/systemd/system/gogs.service;enabled;vendorpreset:enabled)Active:failed(Result:ex
- Docker Compose——MySQL 8.x,adminer,gitlab,Jenkins,tomcat
小龙Hibernation
docker运维dockermysql
DockerComposedocker三剑客之一#下载1.25.0dockercomposesudocurl-L"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose#添加可执行权限sudochmo
- 《每一天,每一项,只做一件》-126T
自我转变教练
让自我提升像刷牙一样简单!如果你对自我定位困惑、人生成就不足而烦恼,请关注我,为您解答。(今天前7名关注者,免费咨询)——自我转变教练·乔艺博自我反思-126T1.终生牢记在心的警醒管窥:避免短视自我卷入:定目标,不分心,盯当下允许失败:允许自己失败,那么你就更有可能成功练习:沉下心,低下头,多练习控制:不要被外在奖励所控制自主:与其坐等这个世界发生变化,不如我们更为主动地去做一些事情影响:环境只
- ubuntu配置samba在win10访问
axk0909
ubuntu服务器linux
买了个云服务器,想在win上直接访问,先弄个sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。1在ubuntu安装sambasudoapt-getinstallsamba2编
- 洛谷 P1495 【模板】中国剩余定理(CRT)/曹冲养猪(中国剩余定理)
qq_38232157
洛谷数论
中国剩余定理概念:设m[1],m[2],m[3],…,m[[n]是两两互质的整数。方程组x=a[1](modm[1])//注意,这里的'='表示同余符号x=a[2](modm[2])...x=a[n](modm[n])方程的解x=sum{a[i]*(m/m[i])*t[i]}(1#include#includeusingnamespacestd;constintMaxN=1e5+10;typede
- linux访问外网的设置
错误重复学习记录
linux运维服务器
Ubuntu|LUCKFOXWIKI开发板配置添加路由信息sudorouteadddefaultgw172.32.0.100添加DNSservers打开文件sudovi/etc/resolv.conf添加以下内容:nameserver8.8.8.8联网测试pingwww.baidu.com开机自动配置路由信息和DNSservers重启后会被清除,我们创建一个脚本开机后自动帮我们完成配置cd/etc
- C语言常用头文件的介绍
花开盛夏^.^
C语言c语言开发语言头文件
一、C语言头文件的介绍C语言的头文件是包含函数声明、宏定义和类型定义的重要组件,用于在编译阶段将这些信息包含到源文件中。在C语言中,头文件以“.h”作为后缀,通常包含了类、子程序、变量和其他标识符的前置声明。这些头文件通过#include指令被包含在源文件中,分为尖括号:标准输入输出库。包含进行输入输出操作的函数,如printf(),scanf(),fopen(),fclose(),fread()
- 【无标题】
飞羽殇情
服务器
failedtolistenserverport[0.0.0.0:8324],Error:Addressalreadyinuse[98]swoole端口被占用实在没办法重启服务期
- MySQL添加用户、为用户分配权限
ChenyuMa
添加用户1.允许本地访问的用户(127.0.0.1)createuserzhrt@localhostidentifiedby'123456';2.允许外网IP访问的用户createuser'zhrt'@'%'identifiedby'123456';用户分配权限授予用户在本地服务器对该数据库的全部权限grantallprivilegesondbname.*tozhrt@localhostident
- MYSQL数据库的实验总结_MySQL数据库基础总结
weixin_39993623
MYSQL数据库的实验总结
来源:实验楼链接:https://www.shiyanlou.com/courses/9一、开发准备#打开MySQL服务sudoservicemysqlstart#使用root用户登录,密码为空mysql-uroot二、查看数据库SHOWDATABASES三、新建数据库首先,我们创建一个数据库,给它一个名字,比如mysql_shiyan,以后的几次实验也是对mysql_shiyan这个数据库进行操
- axios取消请求
月伤59
前端javascript开发语言
1.使用CancelToken:classRequestHttp{service:AxiosInstance;publicconstructor(config:AxiosRequestConfig){//实例化axiosthis.service=axios.create(config);/***@description请求拦截器*客户端发送请求->[请求拦截器]->服务器*/this.servic
- ModuIe 1 Using my five senses
欣静园
Seeingandhearing1Listen,Ben!Whatcanyouhear?Icanhearaship.WhateIsecanyouhear?Hmm...IcanhearanaeropIane.Yes.ThereisanaeropIane.2Whatcanyousee,Kitty?Icanseeabus,andsomecarstoo.
- DDT数据驱动测试
爱学习的执念
软件测试面试面试软件测试面试软件测试软件测试面试
简单介绍DDT(DateDriverTest),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中,使用外部数据源实现对输入输出与期望值的参数化,避免在测试中使用硬编码的数据,也就是测试数据和用例脚本代码分离。DDT它其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例。使用的意义
- MyBatis如何实现分页
思静语
#Mybatismybatis
文章目录MyBatis分页方式对比使用数据库厂商提供的分页查询语句通过自定义SQL实现分页逻辑1.使用RowBounds实现分页2.使用PageHelper实现分页数组分页使用MyBatis-Plus进行分页MyBatis物理分页和逻辑分页MyBatis手写一个拦截器分页在MyBatis中实现分页通常有两种方式:使用数据库厂商提供的分页查询语句(如MySQL的LIMIT)或者通过自定义SQL来实现
- MySQL 大小写问题
天珩
今日所得
场景在做mysql查询的时候,注意到一个问题,mysql默认是不区分大小写的通过简单的查询,发现通过关键字binary可以强制区分大小写参考每日所得--分页查询优化和mysql区分大小写问题那为什么MySQL不区分大小写呢参考文档mysql不区分大小写技术原理文章总结1、是否区分是取决于字符集和校对(Collation)部分所做的工作2、取决于字符集中是否声明了大小写敏感声明之后,开销增加参考ht
- Linux Nginx 配置 Websocket
攀小黑
linuxnginxwebsocket
直接上代码#负载均衡upstreamgzgc_balancer{#least_conn;ip_hash;#这个是tomcat的访问路径server127.0.0.1:8025weight=1max_fails=2fail_timeout=3s;server127.0.0.1:8026weight=1max_fails=2fail_timeout=3s;}#配置map$http_upgrade$co
- 谷歌浏览器ChromeDriver 128,129,130驱动下载
下东西不要币多好
Pythonpython
可以试试这个页面:https://googlechromelabs.github.io/chrome-for-testing/#stable我需要的128.0.6613.120就是在这里找到的,浏览器,驱动都能下
- 谷歌GMS认证之手机的AACT测试,AACT测试与车机Android Auto认证有什么区别?AACT测试流程介绍
深圳深光标准技术
智能手机androidGMS认证谷歌GMS认证
一、什么是谷歌GMS认证AACT测试?AACT全称是AndroidAutoconnectivitytest(AACT),即安卓自动连接测试,是手机产品在做谷歌GMS认证的时候,其中的一项测试项,AACT是安卓14开始才有的测试项,也就是说是新增的,手机经过测试拿到GMS认证后,就可以轻松连接已经通过AndroidAuto的车机。二、GMS认证AACT测试跟AndroidAuto认证有什么区别?首先
- Java+selenium+chrome+linux/windows实现数据获取
fox_初始化
Javaseleniumchrome测试工具javalinuxwindows
背景:在进行业务数据获取或者自动化测试时,通常会使用模拟chrome方式启动页面,然后获取页面的数据。在本地可以使用windows的chromedriver.exe进行打开chrome页面、点击等操作。在linux下通常使用无界面无弹窗的方式进行操作。接下来是实现方案。代码层面:关键工具类:ChromeDriverUtilpublicclassChromeDriverUtil{publicWebD
- Docker部署RocketMQ5.2.0集群
egzosn
docker容器运维
部署架构说明:(1)Producer:生产者(2)Consumer:消费者(3)NameServer:RockerMQ的注册中心,多个实例组成集群,但相互独立,没有信息交换。每个Broker都向所有NameServer实例注册。(4)Broker:负责存储消息、转发消息。部署模式RocketMQ作为消息中间件,其主要功能为消息的Publish/Subscribe。而Broker担任的消息转发和存储
- Springboot配置文件中账号密码等敏感信息的加解密
乌托邦的逃亡者
软件开发springspringbootjava后端
说明:使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性比较低。打开application.properties或application.yml,比如MySQL登录密码,Redis登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件jasypt,用以提高配置文件中敏感配置数据的安全性。本文以数据库连接URL、用户名和数据库密码加密为例。一,引入Ma
- MySQL 高可用性架构:复制与分片
墨瑾轩
数据库mysql架构adb
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣嗨,小伙伴们!今天我们要聊的是一个超级重要的话题——如何通过复制和分片技术来构建MySQL的高可用性架构。想象一下,你的数据库就像是一座城堡,里面藏满了宝贵的用户数据。为了保护这座城堡,我们需要建立一整套防御体系,确保数据安全无虞,而且即便遇到突发状况也能迅速
- 2021-04-23-《搞定I》-T1-无须付诸行动的事务
慢一点
【R:原文片段】如同处理那些需要付诸行动的工作一样,对于一些不能够立即落实的事务,你同样需要一个组织良好、自成一体的系统。这个系统中的事务可以进一步划分为三类:垃圾、需要酝酿的资料和参考资料。【I:重述原文】在我们的活动清单里看到一件事务,首先我们必须明白它需不需要现在付诸行动,如果不需要,那么该怎么处理它呢?片段把他们分为三类:①没有参考和行动价值的事务,对于我们来说这些都是垃圾,对于垃圾,直接
- django报错 ) from exc ^ SyntaxError: invalid syntax
irrationality
djangodjangopython
新创建的Django项目,进入后直接运行pythonmanage.pyrunserver时报错如下:user@UserdeMacBook-ProdjangoProject%pythonmanage.pyrunserverFile"manage.py",line17)fromexc^SyntaxError:invalidsyntax感觉有点莫名其妙,后来发现python版本指定的有问题,应该指定py
- 1116:幸运数
___Dream
c语言
题目描述:大柱哥哥想知道自己的幸运数是多少,于是他在纸上随便写了一个数。如果这个数字是个位数的话,大柱哥哥就把它当做自己的幸运数,如果它不是个位数,大柱哥哥就会把这个数各个位上的数字进行加和,直到它变成个位数。输入第一行是一个正整数n代表测试案例的数量(1intmain(){inti,c,n,len,a[6];scanf("%d",&n);if(n=10){if(n>=10&&n=100&&n=1
- django报错汇总
Yogurt bottle
djangopython后端
1.django.core.exceptions.ImproperlyConfigured:ErrorloadingMySQLdbmodule__init__.py文件中添加以下代码:importpymysqlpymysql.install_as_MySQLdb()2.index()takes0positionalargumentsbut1wasgiven#视图函数必须要传入一个参数request
- selenium中键盘操作:Keys类
weixin_41812355
web自动化seleniumpython
前言:本文详细介绍了如何使用Selenium库进行键盘操作,包括非组合键如回车、删除等,以及Ctrl+A、Ctrl+C等常见组合键的模拟。通过实例演示了在百度搜索中的应用,并展示了ActionChains类的使用方法。一、导入相关类selenium提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入Keys类fromselenium.webdriver.common.keysimport
- JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t)
Chen__Wu
javajavajson
JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokens;nestedexceptioniscom.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,cod
- 2021-12-15 vue动态路由加载时 Cannot find module xxx 错误解决方法
臭臭猫爱不爱吃鱼
https://blog.csdn.net/longzhoufeng/article/details/106469115
- jswebrtc 支持 SRS 的 Webrtc 播放器
王小工
前端webrtcjs
WebRTCWebRTC(WebReal-TimeCommunication)是一项实时通讯技术,它允许网络应用或站点在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流、音频流或其他任意数据的传输。WebRTC整体架构从上到下一共分为三层:WebAPI层:暴露给开发人员的用于开发WebRTC应用的JavaScriptAPI,如RTCPeerConnecti
- 集合框架
天子之骄
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支持脚本