- Android开发——蓝牙与外部设备连接
阿饼240
android
一、获取蓝牙权限在Manifest.xml文件中添加蓝牙权限声明二、检查设备是否支持蓝牙BluetoothAdapterdefaultAdapter=BluetoothAdapter.getDefaultAdapter();if(defaultAdapter==null){Toast.makeText(MainActivity.this,"该设备不支持蓝牙",Toast.LENGTH_SHORT)
- ActivityManagerService是什么?有什么作用?以及内部原理——概要!!!!!!
脚踏实地,坚持不懈!
android
下面有关于ActivityManagerService的一些理解的资料,可以参考加深理解ActivityManagerService是什么?有什么作用?https://zhaokaiqiang.gitbook.io/the-analysis-of-android-key-point/android_system/activitymanagerserviceActivityManagerServic
- Android adb shell报错:more than one device/emulator
li-yizhi
Androidadbandroid
使用环境:一台电脑(win10),一个模拟器(mumu)报错过程在cmd中运行adbkill-serveradbconnect127.0.0.1:7555startstudy.pyadbshell出现报错morethanonedevice/emulator查找原因C:\Users\neo>adbdevicesListofdevicesattached10.192.229.32:
- unity 判断当前设备是否是模拟器(安卓)
QO_GQ
unityandroidunity游戏引擎
最近有个需求,需要判断当前设备是否是模拟器,网上查了一下,发现基本上都是使用特征字符串进行检索,类似这种:if(SystemInfo.deviceModel.Contains("Emulator")||SystemInfo.deviceModel.Contains("AndroidSDK"))returntrue;if(SystemInfo.deviceName.Contains("Android
- 音频 Alsa、Framework及Android
‘禹’你一起
后端
目录1Alsa、Framework及Android1.1ALSA架构简介图11.2ALSA架构简介图21.3ALSA架构简介图31.4ALSA架构简介图41.5ALSA架构简介图51.6ALSA架构简介图61.8音频代码1Alsa、Framework及Android目前,linux系统常用的音频驱动有两种形式:alsa和oss。Alsa:现在是linux下音频驱动的主要形式,与简单的oss兼容。o
- Android APP架构设计——MVP的使用示例
weixin_30633507
移动开发测试ui
0.前言为了更好地进行移动端架构设计,我们最常用的就是MVC、MVP和MVVM,作为三个最耳熟能详的三大架构,应用可谓非常广泛。对于这三种架构设计以及优缺点已经在AndroidAPP架构设计——MVC、MVP和MVVM介绍一文中介绍过了,本文是对前面那篇文章2.3小节的补充,介绍MVP模式在Android中的使用示例,目的在于深化对MVP架构的理解。1.使用场景这里我们实现一个简单的登录功能。先看
- Kotlin知识体系(一) : Kotlin的五大基础语法特性
氦客
知识体系-Kotlin基础kotlin开发语言android基础语法特性知识体系
前言在Android开发领域,Kotlin凭借其简洁性和安全性已成为官方推荐语言。本文将通过Kotlin的五大基础语法特性,结合实际应用场景展示它们在Android开发中的独特价值。一、变量声明:val与var的哲学1.1不可变优先原则Kotlin的val关键字用于声明不可变变量(相当于Java的final),这是构建可靠Android应用的基石:valPI=3.14159//类型推断为Doubl
- Kotlin知识体系(二) : Kotlin的七个关键特性
氦客
知识体系-Kotlin基础kotlinandroid开发语言特性密封类dataclass安卓
前言在Android开发中,Kotlin以其简洁的语法和强大的特性显著提升了开发效率。本文将解析Kotlin中7个关键特性,通过代码示例展示它们在实际开发中的应用。一、构造函数:主次分明主构造函数classUserconstructor(_name:String){//传统写法valname=_name}classStudent(valid:Int,varname:String)//简化版主构造函
- 解决 Flutter Device Daemon 启动失败问题的实践记录
又吹风_Bassy
flutterFlutterDaemonfilehandlesDaemonCrashAndroidStudio
解决FlutterDeviceDaemon启动失败问题的实践记录最近在使用Flutter开发时踩了一个坑。看似是个小问题,但折腾了好久,最终通过日志分析和查阅资料才找到了解决办法。这里记录一下整个问题的排查过程,希望能帮助到遇到类似问题的小伙伴。问题背景事情是这样的,我在启动AndroidStudio时突然弹出了一个错误窗口:提示Flutterdaemon启动失败,过了一会儿之后,又弹出下面的弹窗
- kotlin中的行为组件
每次的天空
kotlin开发语言android
在Android开发领域,Jetpack已经成为现代化应用开发的标配。除了界面组件外,其提供的行为组件(BehaviorComponents)更是解决了众多开发痛点。本文将深入解析WorkManager、DataBinding、Coroutines和Lifecycle四大核心组件的工作原理,并结合实战代码展示它们的具体用法。首先要添加jetpack相关的依赖库,操作如下:android{...da
- android 自定义分辨率,Moonlight Android端自定义分辨率,解决黑边问题
weixin_39661589
android自定义分辨率
更新:使用原版moonlight修改特殊分辨率需要root权限,没有root权限可尝试此版本的moonlight选择当前设备分辨率。再次更新:moonlight9.8版本以上已经支持设置为当前设备分辨率。问题描述本人手机分辨率是2340×1080,在使用moonlight串流时分辨率选择1080p,发现有黑边,此时串流的分辨率为1920×1080。解决方案第一步,调整主机分辨率可以看到,主机实际显
- linux下使用curl访问多参数url
耘田
Linuxcurllinuxurl多参数
curl-ihttp://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428&b=39.90923[1]8741[jb-xccheng@usa-ip-12~]$HTTP/1.1500InternalServerErrorServer:nginx/1.2.0Date:Wed,20Jun201204:16:21GMTContent-
- 加固与脱壳05 - 壳类型识别
二手的程序员
加固与脱壳网络安全安全网络开发语言前端
以前一些老旧的技术就不介绍了,比如,动态加载、内存不落地加载的方式。现在的加壳类型分为3种:指令抽取VMPdexc2chttps://www.dingxiang-inc.com/blog/post/2指令抽取android的指令抽取,主要在于函数基本的抽取保护。通过使用android虚拟机自带的解释器进行执行代码。将原始App中dex文件的函数内容进行清除,并将单独移动到一个加密文件中,在App运
- 鸿蒙开发2024【面试题库】讲解,近期需要面试的可千万别错过!
鸿蒙系统小能手Mr.Li
鸿蒙开发harmonyos面试鸿蒙OpenHarmony鸿蒙系统程序员移动开发
1.请简述鸿蒙OS与AndroidOS的主要区别是什么?设备兼容性:鸿蒙OS是一款面向各种设备的分布式操作系统,支持手机、平板电脑、智能手表、智能家居、汽车等多种设备类型,并能在这些设备之间实现无缝切换和共享数据。而Android系统则主要用于移动设备,如手机和平板电脑。系统架构:鸿蒙OS采用分布式技术架构,通过分布式技术实现多设备间的协作和数据共享,更加灵活、安全、高效。而Android则采用单
- 去除Dialog出现时背景变暗效果的方法
Shawn_LX
在样式XML文件下添加自定义Dialog样式,继承自android:Theme.Dialog主题样式true@android:color/transparentfalse加入以上属性后重写onCreateDialog()方法:@OverrideprotectedDialogonCreateDialog(intid){//TODOAuto-generatedmethodstubif(id==1){D
- android 时间的格式化问题
Shawn_LX
android中经常遇到要格式化时间,下面记录一下"yyyy-MM-dd”类型和”kk:mm:ss”类型的时间格式化方法:“staticSimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");//只取年--月--日publicstaticintdiffDays(StringcompareTime){Calendarnow=Calen
- android 自定义悬浮菜单
Shawn_LX
android中的自定义的悬浮菜单,其实就是一个dialog。类似于下图。代码如下:/***此类为自定义菜单Dialog**/publicclassMenuDialogextendsDialog{privatestaticfinalintH_NO_LOGIN=0;privatestaticfinalintH_REFRESH_VIEW=1;privateContextcontext;privateb
- Android15音频进阶之qnx定位so调用进程(一百一十一)
Android系统攻城狮
AndroidAudio工程师进阶系列音视频Android15QNX音频调试
简介:CSDN博客专家、《Android系统多媒体进阶实战》一书作者新书发布:《Android系统多媒体进阶实战》优质专栏:Audio工程师进阶系列【原创干货持续更新中……】优质专栏:多媒体系统工程师系列【原创干货持续更新中……】优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课
- Android wifi的开关Settings值异常分析
峥嵘life
androidAndroid系统Android网络androidpython开发语言
Androidwifi的开关Settings值异常分析文章目录Androidwifi的开关Settings值异常分析一、前言二、异常分析1、adb或者串口获取Settings的wifi开关值2、代码获取wifi开关值3、根据日志分析代码(1)logcat对应的wifi开启日志的代码①WifiServiceImpl.java②WifiSettingsStore.java3、wifi_on不同的具体原
- Android开源库——RxJava和RxAndroid
松仔log
#Android开源库android开源rxjava
RxJava和RxAndroid是什么?RxJava是基于JVM的响应式扩展,用于编写异步代码RxAndroid是关于Android的RxJava绑定RxJava和RxAndroid使用依赖implementation'io.reactivex.rxjava3:rxjava:3.1.0'implementation'io.reactivex.rxjava3:rxandroid:3.0.2'使用过程
- Android Dagger2 框架作用域管理模块深度剖析(五)
&有梦想的咸鱼&
AndroidDagger2原理android
一、引言在Android开发中,依赖注入(DependencyInjection,简称DI)是一种重要的设计模式,它能有效降低代码之间的耦合度,提升代码的可测试性和可维护性。Dagger2作为一款强大的依赖注入框架,凭借其在编译时生成依赖注入代码的特性,避免了运行时反射带来的性能开销。而作用域管理模块是Dagger2中极为关键的一部分,它能精准控制依赖对象的生命周期,确保在特定作用域内依赖对象的唯
- Agora-Uniapp-SDK 使用指南
章瑗笛
Agora-Uniapp-SDK使用指南Agora-Uniapp-SDK项目地址:https://gitcode.com/gh_mirrors/ag/Agora-Uniapp-SDK1.项目目录结构及介绍Agora-Uniapp-SDK是一个基于Uni-app与AgoraAndroid和iOS视频SDK实现的集成库,它专门设计用于简化在uni-app项目中集成Agora音视频功能的过程。以下是其主
- android 后台下载任务,断点续传
lynn8570_blog
android
下载文件/***文件下载工具*/objectDownloadUtil{privatefungetOkHttpClient():OkHttpClient{returnOkHttpClient.Builder().addInterceptor(TokenIntercepter()).connectTimeout(20L,TimeUnit.SECONDS)//连接超时.writeTimeout(20L,
- Android中实现多线程的几种方式
Ever69
Android《葵花宝典》android
目录1.基础线程(Thread)2.Handler与Looper3.AsyncTask(已废弃,仅作了解)4.ExecutorService(线程池)5.IntentService(已废弃,推荐WorkManager)6.Kotlin协程(Coroutines,现代推荐方案)7.HandlerThread对比总结最佳实践建议在Android中,实现多线程编程主要有以下几种方式,每种方式都有其适用场
- 车载Android音频系统 CarAudioService
Code_onepage
android
CarAudioService是车载音频系统的核心服务,负责管理多音源协调、音频路由、音量策略、硬件控制等关键功能,处理车载环境下特有的音频场景(如倒车提示音、车门状态联动等)。一、核心功能模块1.音频焦点管理焦点栈机制(mFocusStack)使用Stack管理不同音源的优先级处理导航/USB/蓝牙等音源的抢占逻辑//示例:焦点切换时的音频路由switchSource(null,AudioAtt
- androlua+单一界面编程
刘阿去
lua
实例如下:--载入库require"import"import"android.widget.*"import"android.view.*"--新建布局表layout={LinearLayout;--线性布局orientation="vertical";--垂直方向{Button;--按钮id="btn";text="hello";};{EditText;layout_width="200";}
- MediaPlayer 状态机,接口详情
趋势大仙
android应用android源码android
一,AndroidMediaPlayer状态图MediaPlayer对象声明周期:从Idle到End状态就是MediaPlayer整个生命周期;--生命周期开始:进入Idle(闲置)状态;--生命周期结束:进入End(结束)状态;Idle和End状态转换:--进入Idle状态:MediaPlayer刚被创建newMediaPlayer()或者调用了reset()方法之后,进入Idle(闲置)状态;
- Android广播限制Background execution not allowed: receiving Intent { act=
趋势大仙
异常题库android
“Backgroundexecutionnotallowed:receivingIntent”这个错误信息通常出现在Android应用开发中,特别是在处理后台任务或接收广播(Broadcast)时。这个错误表明应用试图在后台执行某些操作,但Android系统出于电池优化和用户体验的考虑,限制了后台任务的执行。可以尝试以下二种方法:1.把targetSdkVersion设置为25及以下的版本号,重新
- Android进行Post提交JSON数据注意事项
kerry1789
Android感慨androidjava单元测试
刚好业务需要写一个测试程序给客户使用,直接入主题吧!请求地址:http://12.32.12.32:91889/testx.php请求参数:{"test1":"顾家家居口味咯咯咯","test2":"把1册","test3":"13512341234","test4":"5rW35Y2X55uR54ux566h55CG5bGA6LCD5bqm5oyH5oyl5bmz5Y","test5":"123
- 深入理解 Android 中的 ViewModel 和 LiveData:实现数据与 UI 的分离与响应式更新
tangweiguo03051987
androidandroiduiViewModelLiveData
ViewModel和LiveData是Android架构组件中的两个核心类,用于帮助开发者构建健壮、可维护且响应迅速的应用程序。它们通常一起使用,以实现数据与UI的分离,并确保数据在配置更改(如屏幕旋转)时不会丢失。ViewModelViewModel的主要目的是管理与UI相关的数据,并在配置更改时保持数据的持久性。它允许数据在Activity或Fragment销毁和重新创建时保持不变。1.1Vi
- 二分查找排序算法
周凡杨
java二分查找排序算法折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
- java中的BigDecimal
bijian1013
javaBigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
- Shell echo命令详解
daizj
echoshell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
- Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
- 画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
- 线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
- linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
- mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
- Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
- 多线程监听器事件模式(一个简单的例子)
百合不是茶
线程监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
- spring InitializingBean接口
bijian1013
javaspring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
- Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle数据库权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
- 【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
- 【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
- nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
- java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
- Spring源码学习-JdbcTemplate queryForObject
bylijinnan
javaspring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
- [冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
- js 获取浏览器型号
cuityang
js浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
- C# socks5详解 转
dalan_123
socketC#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
- 运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
- Yii防注入攻击笔记
dcj3sjt126com
sqlWEB安全yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
- MongoDB简介[一]
eksliang
mongodbMongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
- zookeeper windows 入门安装和测试
greemranqq
zookeeper安装分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
- Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
- iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
- jdk与jre的区别(_)
macroli
javajvmjdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
- Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境每天进步一点点众观千象git
$ git push joe prod-2295-1
To
[email protected]:joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
- [一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hivehive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
- Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。