Go to file
Philippe Marschall 91e39d558f Use ArrayList instead of LinkedList for known size
Spring JDBC unlike other modules uses LinkedList instead of ArrayList
in several places. There is a large body of evidence suggesting that on
contemporary hardware ArrayList is both faster and has less overhead
than even in degenerate cases of empty lists [3] or unknown size.

There are two places in Spring JDBC where the size of the list is known
in advance and an ArrayList of the correct final size can be created

 [1] https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8011200
 [2] http://cliffc.org/blog/2017/11/05/modern-hardware-performance-cache-lines/
 [3] https://bugs.openjdk.java.net/browse/JDK-8011200

Issue: SPR-16378
2018-01-14 17:45:32 +01:00
.settings/gradle Remove spring-asm and inline ASM 4 into spring-core 2012-08-10 00:36:49 +02:00
buildSrc Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine 2.5.6, RxJava 2.1.4, Tomcat 8.5.21, JRuby 9.1.13, Rhino 1.7.7.2) 2017-09-23 11:28:19 +02:00
gradle Upgrade to Gradle 4.4.1 (and Netty 4.1.19) 2017-12-20 18:10:15 +01:00
spring-aop Relaxed BeanFactory assertion in resolveInterceptorNames 2018-01-07 23:23:25 +01:00
spring-aspects Upgrade to JCache 1.1 (and Caffeine 2.6.1) 2017-12-28 14:08:21 +01:00
spring-beans Fix Kotlin bean w/ default + secondary ctors handling 2018-01-10 18:29:33 +01:00
spring-context CollectionUtils.lastElement for common Set/List extraction 2018-01-12 18:23:52 +01:00
spring-context-indexer Detected candidate inner classes 2017-11-03 13:25:23 +01:00
spring-context-support Upgrade to JCache 1.1 (and Caffeine 2.6.1) 2017-12-28 14:08:21 +01:00
spring-core Polishing 2018-01-12 18:24:00 +01:00
spring-expression CollectionUtils.lastElement for common Set/List extraction 2018-01-12 18:23:52 +01:00
spring-framework-bom Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine 2.5.6, RxJava 2.1.4, Tomcat 8.5.21, JRuby 9.1.13, Rhino 1.7.7.2) 2017-09-23 11:28:19 +02:00
spring-instrument Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine 2.5.6, RxJava 2.1.4, Tomcat 8.5.21, JRuby 9.1.13, Rhino 1.7.7.2) 2017-09-23 11:28:19 +02:00
spring-jcl Log4jLog explicitly passes String argument (avoiding argument expansion) 2017-11-22 21:13:39 +01:00
spring-jdbc Use ArrayList instead of LinkedList for known size 2018-01-14 17:45:32 +01:00
spring-jms Polishing 2018-01-12 18:24:00 +01:00
spring-messaging MappingJackson2MessageConverter uses generic type 2017-12-12 22:32:33 -05:00
spring-orm Direct reference to JPA 2.1 SynchronizationType enum 2018-01-07 23:30:05 +01:00
spring-oxm Polishing 2017-11-21 16:34:08 +01:00
spring-test Avoid deprecation warnings on JDK 9 in spring-test 2018-01-13 16:45:04 +01:00
spring-tx SPR-16316 — fix transaction timeout value overflow 2018-01-07 23:48:24 +01:00
spring-web CollectionUtils.lastElement for common Set/List extraction 2018-01-12 18:23:52 +01:00
spring-webflux Polishing 2018-01-12 18:24:00 +01:00
spring-webmvc BridgeMethodResolver properly resolves all declared interfaces 2018-01-11 10:18:27 +01:00
spring-websocket Polishing 2017-11-13 22:39:39 +01:00
src More sections in WebFlux docs @Controller argument 2018-01-12 16:48:06 -05:00
.editorconfig Add EditorConfig 2017-06-12 08:07:54 +02:00
.gitignore Reorganize spring-web-reactive .gitignore 2016-07-18 17:31:18 +02:00
.mailmap Change gopivotal.com to pivotal.io 2014-10-05 18:12:50 +02:00
CODE_OF_CONDUCT.adoc Add Code of Conduct 2016-02-01 14:37:35 -06:00
CONTRIBUTING.md Update links 2017-10-27 16:02:54 -04:00
README.md Update README.md 2017-11-28 09:28:34 -05:00
build.gradle Upgrade to RxJava 2.1.8 (and Protobuf 3.5.1) 2017-12-31 18:51:22 +01:00
gradle.properties Next Development Version 2017-11-27 10:52:28 +00:00
gradlew Upgrade to Gradle 4.1 2017-08-08 17:26:21 +02:00
gradlew.bat Upgrade build to Gradle 3.0 2016-08-15 21:26:39 +02:00
import-into-eclipse.bat Update notes in Eclipse import script 2017-08-29 17:22:05 +02:00
import-into-eclipse.sh Update notes in Eclipse import script 2017-08-29 17:22:05 +02:00
import-into-idea.md Polish 2017-05-29 17:04:10 +02:00
settings.gradle Use JCenter first to resolve plugins 2017-12-11 12:07:17 +01:00

README.md

Spring Framework

This is the home of the Spring Framework, the foundation for all Spring projects. Together the Spring Framework and the family of Spring projects make up what we call "Spring".

Spring provides everything you need beyond the Java language to create enterprise applications in a wide range of scenarios and architectures. Please read the Overview section in the reference for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Frameworks maintains reference documentation (published and source), Github wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Build from Source

See the Build from Source wiki page and also CONTRIBUTING.md.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our news feed.

License

The Spring Framework is released under version 2.0 of the Apache License.