- Win10 Ubuntu子系统(内嵌ubuntu18.04)运行32bit Linux原生程序 解决Exec format error错误
讓丄帝愛伱
linuxubuntudockershell小程序
Win10Ubuntu子系统(内嵌ubuntu18.04)运行32bitLinux原生程序报错:442:./install.sfx.4064:Execformaterror通过readelf-aj2sdk-1_4_2_19-linux-ia64.bin检查程序导出表发现问题readelf命令报错:NotanELFfile-ithasthewrongmagicbytesatthestart初步确定问
- 深入了解C++:底层编译原理(二)
程韬123
c++开发语言
C++文件需要经历编译和链接两大步骤才能生成可执行文件。编译会生成二进制可重定位的目标文件,其中的重定位指的是符号重定位,发生了链接阶段。二进制可重定位的目标文件:也就是我们通常所说的.o,.obj文件。二进制文件构成:二进制文件就是.o文件,其中的内容除了elf文件头,还由各个段组成,有些段和内存空间个段可以匹配,比如.text,.data.,.bss段。objdump-s和readelf-S是
- 关于查找的一些命令
nora_mhy
查找系统中的的可执行文件ls-F|grep“*”-F作为一个开关为可执行程序加上*为目录加上/如何查找一个可执行程序的依赖库:1.exportLD_TRACE_LOADED_OBJECTS=1unsetLD_TRACE_LOADED_OBJECTS设置该环境变量后执行则显示依赖的动态库2.readelf-d或者ldd均可readelf-axxx|greplibraryreadelf-lXXX可以查
- 如何查看可执行程序和动态库文件的架构和平台信息以及如何根据信息区分程序对应的架构和适用的平台
二进制coder
LinuxC开发架构linux
导言:在软件开发和系统调试过程中,了解可执行程序和动态库文件的架构和平台信息是非常重要的。通过查看这些信息,我们可以确定文件所适用的操作系统和硬件平台,并根据架构信息选择合适的编译工具和库文件。本文将详细介绍如何查看可执行程序和动态库文件的架构和平台信息,并提供一些方法来区分程序对应的架构和适用的平台。目录:架构和平台信息简介查看可执行程序架构和平台信息的方法2.1file命令2.2readelf
- gdb调试工具详解
晚风相伴
linux笔记linux运维服务器
一、知识铺垫1、程序的发布方式有两种,debug模式和release模式2、gcc/g++形成的可执行程序默认是release模式3、要使用gdb调试,必须在源代码生成可执行程序的时候,加上-g选项命令:gcctest.c-otest-g很明显可以看出debug模式下的文件比release模式下的文件要大4、读取可执行程序的数据段格式命令:readelf-S+可执行程序名对比release模式,很
- Ubuntu16.04_x64的gcc 编译32位 elf 文件
jiaruitao777
Linux基础gccelf
原来的格式源文件为main.c若直接使用gcc编译文件,编译出的是ELF64格式的。用readelf-e文件名,即可查看文件的ELF的信息。由上图可以看出,直接使用gcc编译、链接出来的elf文件,class是ELF64,machine是AdvancedMicroDevicesX86-64。而我们需要的是ELF32格式的,而且是要运行在intel80386机器上。改动后首先是编译:gcc-m32-
- CMake_02_如何编译可调试文件
樱木的追风者
CMakeToolscmake
软件开发过程中,调试是必不可少的环节之一,让可执行文件”明牌“执行,不会漏过每一行代码,每一个变量的信息。从而帮助开发者快速定位到问题点。先看下没有调试信息的可执行文件是什么样子?root@localhost:~/testWorkSpace/CPP11/vector$readelf-S./build/moveThereare30sectionheaders,startingatoffset0x32
- 安装uiautomator2提示Running setup.py install for lxml did not run successfully.安装weditor提示egg_info失败
韩薇薇
python测试工具windows
1.环境:windows系统+jdk17+adb29.0.6-61988052.安装uiautomator2问题pipinstall-Uuiautomator2 ERROR:CouldnotinstallpackagesduetoanOSError:[Errno13]Permissiondenied:'C:\\Python311\\Scripts\\readelf.py'Considerusing
- 在加载第三方库过程中,无法加载到库的问题(使用readelf, patchelf命令)
qq_18145605
linuxc++so库加载
无法加载到库问题问题及分析过程readelf命令patchelf命令问题及分析过程在开发一个程序过程中,需要加载第三方库iTapTradeAPI,在CMakeList.txt中已经设置了CMAKE_INSTALL_RPATH,但是发布到生产之后由于目录问题无法加载到libiTapTradeAPI库了下面时分析的过程图从图中可以看出iTapTradeAPI使用的相对路径,与其他依赖库不同,然后查看依
- 指令与ELF代码节-计算机系统基础题目
小i青蛙
汇编语言练习学习汇编语言
实验内容:修改二进制可重定位目标文件“phase1.o”的代码(.text)节内容(不允许修改其他节),使其与main.o模块如下链接后运行时输出目标字符串“123456789”。gcc-no-pie-olinkbombmain.ophase1.o./linkbomb目标字符串实验步骤:1.使用objdump工具获得目标文件的汇编代码,使用readelf工具获得其重定位记录。2.结合汇编代码和重定
- 数据与ELF数据节-计算机系统基础题目
小i青蛙
汇编语言练习开发语言
实验内容:修改二进制可重定位目标文件“phase1.o”的数据(.data)节内容(不允许修改其他节),使其与main.o模块如下链接后运行时输出目标字符串“123456789”。实验步骤:1.使用objdump工具获得目标文件的汇编代码,使用readelf工具获得其重定位记录。2.结合汇编代码和重定位信息,定位输出函数的调用参数在目标文件中的存储地址。3.使用hexedit工具,对phase1.
- riscv64-linux-gnu-gcc编译生成32位cpu二进制
Whu-MT
linuxgnu运维操作系统risc-v
x86平台下64位设备,默认情况下编译的是elf64,比如简单的helloworld代码如下,使用readelf查看elf头部信息,格式为ELF64。➜cathelloworld.c#includeintmain(){printf("hello!!!\n");return0;}➜gcc-Wallhelloworld.c-g-ohelloworld➜readelf-hhelloworldELF头:M
- C语言那些事之动态库
zhixingheyi_tian
C语言Linuxc语言linux开发语言
检查可执行程序所依赖的库lddtestForcheckingthedirectdependenciesyoushouldusereadelfinsteadoflddbecauselddalsoshowstheindirectdependencies.$readelf-dmain|greplibrary0x0000000000000001(NEEDED)Sharedlibrary:[libB.so]
- linux readelf &&strip && strings
橙子@C
linux
readelf可以查看该可执行程序包含哪些函数readelf-aboardagent或者readelf-sboardagentstrip可以将可执行文件的大小减小,原理是去除符号表stripboardgaentcat/proc/$(pidofboardagent)/maps可以查看该进程包含哪些库文件strings可以查看某些函数名stringsxx.ko|grepfunc
- Linux基本开发工具
kpl_20
Linuxlinux
编译器和自动化构建工具一、编译器——gcc、g++1.安装gcc/g++2.使用3.链接库4.拓展命令:od/file/ldd/readelf二、自动化构建项目——make、makefile1.介绍2.使用例子touch——changefiletimestampsstat——displayfileorfilesystemstatus修改时间.PHONY和makefile中常用符号@引入.PHONY
- 西工大网络空间安全学院计算机系统基础实验零
没耳朵的Rabbit
c语言ubuntu网络安全
首先,下载VMware17Proworkstation。为什么要下载VMware17Proworkstation呢?因为计算机系统基础实验有四个大部分:利用位运算实现诸如a*b,a/b,a*(2^4)等运算;C语言循环语句、switch语句等语句与汇编代码之间的对应关系;函数栈帧与缓冲区溢出等;C程序的链接、重定位。学习这四个大部分所需要的相关工具,比如objdump,readelf,gdb等工具
- 制作一个RISC-V的操作系统三-编译与链接
看星猩的柴狗
从零自制操作系统risc-vlinux运维
文章目录GCCGCC简介GCC的命令格式gcc-Egcc-cgcc-Sgcc-ggcc-vGCC的主要执行步骤GCC涉及的文件类型针对多个源文件的处理ELFELF介绍ELF文件格式ELF文件处理相关工具:Binutils(binaryutility)readlelf-hreadelf-S或readelf-SW(加W显示变宽)objdump-SGCCGCC简介GCC的命令格式预处理:把#define
- 【Linux】调试器gdb的使用
JoyCheung-
【Linux】linuxcentos服务器
Linux中,centos默认可执行文件是release程序发布方式有两种,debug模式和release模式。Linuxgcc/g++出来的二进制程序,默认是release模式。如果要使用gdb进行调试,生成二进制程序时需要加上-g选项。可以通过readelf-Stest1|grepdebug查看二进制文件是否加入了debug信息。如上图,不加-g前是release版本,加了-g之后是debug
- gdb的使用
亿多白云朵
Linuxlinux运维c语言
目录一.介绍二.gdb指令介绍三.部分指令的执行结果一.介绍1.gdb--调试代码的工具2.既然是调试,那么需要在debug模式下调试;但在linux下,gcctest.c默认生成的可执行程序为release版本。3.如何让生成的可执行程序为debug模式?gcc-omybintest.c-g4.如何直观地确定可执行程序为debug版本?readelf-Smybin|grep-idebug如果是d
- arm开发板
计算机科学与技术学习中
arm开发
一个简单的helloworld程序minicom用来和开发板之间交互并且可以向开发板传输文件。打印helloworld字符串。在linux虚拟机上编译我的代码,使用的交叉编译工具是arm-linux-gnueabihf-gcc(hardfloat)可以使用readelf-hlibc.so.6查看开发板是不是(hardfloat版本)在mac上使用minicom传输文件会出现乱码,在linux上使用
- Linux基础开发工具之调试器gdb
阿猿收手吧!
Linux从入门到放弃linux运维服务器
文章目录1.编译成的可调试的debug版本1.1gcctest.c-otestdebug-g1.2readelf-Stestdebug|grep-idebug2.调试指令2.0quit退出2.1list/l/l数字:显示代码2.2run/r运行2.3断点相关1.breaknum/bnum:设置2.infob:查看3.dindex:删除4.n:F10逐过程5.p+变量名:调试过程显示变量信息6.st
- gcc常用命令
celltree001
c/c++c++
生成汇编gcc-S-masm=intela.c查看文件filea.outldda.out查看glibc版本ldd--versionreadelf命令readelf--symsa.out查看符号readelf--relocsa.out查看重定位符号readelf-p.interpa.out查看.interp节,一般用于加载二进制文件的解释器路径剥离调试信息strip--strip-alla.outo
- gcc/glibc/binutil
你好YY小锦鲤
gcc(gnucollectcompiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效
- linux二进制文件分析三大工具详解(ldd、readelf、nm)
三雷科技
linuxlinux运维服务器
介绍测试代码源码、源码如下:#include#include#include#include#includeEVP_PKEY*generate_sm2_key_pair(){EVP_PKEY_CTX*ctx;EVP_PKEY*pkey=nullptr;//创建EVP_PKEY_CTXctx=EVP_PKEY_CTX_new_id(EVP_PKEY_EC,nullptr);if(!ctx){std:
- 【BUG】ELF文件执行时出现段错误Segmentation fault,解决:使用010编辑器修改ELF文件不可执行段权限
shandianchengzi
bug段错误elflinux
问题:段错误,.eh_frame不可执行。需求:改执行权限。工具:010Editer,我的版本:12.0.1Windows10。工具下载:010编辑器官网下载页。第一步查看段的执行权限用readelf--segmentsgetshell查看段的执行权限。用readelf查看权限如下:可以看到.eh_frame所在的段04是只读的。打开010Editer,通过Templates-TemplateRe
- Mac如何查看Android编译so库所使用的ndk版本
Aaron_MK
androidlinuxmac
1.搜索readelf命令进入sdk根目录cd/Users/aaron/Library/Android/sdk/查看可用的ndk版本find.-name"*readelf"|grepaarch64结果如下bogon:sdkaaron$find.-name"*readelf"|grepaarch64./ndk/22.1.7171670/toolchains/llvm/prebuilt/darwin-
- readelf
江太翁
LinuxAndroidNDKlinux
readelfelf文件格式分析背景目标文件首先需要介绍的概念是目标文件(Objectfile)的概念。目标文件是计算机科学中编译器或汇编器处理源代码后所生成的代码(目标代码,Objectcode)的计算机文件,它常被称作二进制文件(binaries)。这个文件类型主要是区别于你看得懂的用人话写的代码文件(.c、.cppetc.)、中间文件(.i)、汇编文件(.s)。常见的.exe、.dll、.s
- CPU眼里的C/C++: 1.1 查看汇编代码的工具
baiyu33
C/C++c语言c++汇编1024程序员节
手头有C/C++源代码,想查看对应的汇编代码。1.工具列表CompilerExplorer(https://godbolt.org/)GDBLLDBVisualStudioWinDBGVSCodeCLionGCC二进制工具objdump/readelf/otool/…2.CompilerExplorer3.GDBg++test.cppgdb./a.out(gdb)disassemblemain3.
- mingw_w64坑位
bortonyu
1.不要安装mingw_w32,只能运行在win32上,64bit不支持,而且已经不升级了,必须要用mingw_w64,支持win32和win64.2.mingw_w64用gcc编译动态库脚本如下:gcchello.c-shared-olibhello.so不能用readelf-slibhello.so等之类的命令来获取符号表。因为elf文件是linux才支持。在windows下,必须用gende
- readelf -d命令
Twinkle544
readelf
readelf-d命令用于显示ELF(ExecutableandLinkableFormat)格式文件的动态部分。ELF是一种常见的可执行文件、共享库和核心转储的格式。该命令在Linux平台上常常被用来检查二进制文件的属性。-d或--dynamic选项特别用于展示动态部分,比如共享库依赖等。例如,使用如下命令:readelf-d/path/to/your/binary它可能会输出这样的信息:Dyn
- 二分查找排序算法
周凡杨
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主要包含这些更新内容。