Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
com.koloboke:koloboke-impl-common-jdk8
Advanced tools
Carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more, built for Java 8 (Implementation Commons (for Implementation Library and Koloboke Compile))
This library is a carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more. Java 6+. Apache 2.0 license.
Currently only hash sets and hash maps are implemented.
Collection
, Set
, Map
),null
keys are (optionally) supported, just like in java.util.HashMap
Float.NaN
and Double.NaN
keys are treated consistently with boxed version
(all NaN
s are considered equal)All this goodness for the cost of... the library is insanely fat. Currently it takes about 20 MB (and that's only hash sets and maps).
Add to your Gradle build script:
dependencies {
// `jdk6-7` instead of `jdk8` if you use Java 7 or older
compile 'com.koloboke:koloboke-api-jdk8:1.0.0'
runtime 'com.koloboke:koloboke-impl-jdk8:1.0.0'
}
Or Maven config (don't forget about jdk6-7/jdk8 suffix):
<dependencies>
<dependency>
<groupId>com.koloboke</groupId>
<artifactId>koloboke-api-jdk8</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.koloboke</groupId>
<artifactId>koloboke-impl-jdk8</artifactId>
<version>1.0.0</version>
<scope>runtime</scope>
</dependency>
<dependencies>
Or similarly for your favourite build system. Or download jars of the latest release.
Then you can start using collections. Replace all lines like
Map<Integer, Integer> map = new HashMap<>();
with
Map<Integer, Integer> map = HashIntIntMaps.newMutableMap();
Next step: see [the table of equivalents of JDK collection patterns] (http://leventov.github.io/Koloboke/api/1.0/java8/index.html#jdk-equivalents).
I would like to accept feedback from you.
Use issues or ask a question on StackOverflow.
Gradle build requires Java 8 compiler, set JAVA_HOME
environment variable to the JDK 8 location.
Next to your JDK 8 location (i. e. a jdk1.8
directory), JDK 9 installation has to be present in
a jdk-9
directory. For meta projects development, JDK 6 and JDK 7 also have to be present in
jdk1.6
and jdk1.7
directories sibling to the jdk1.8
directory.
Then
$ git clone git@github.com:leventov/Koloboke.git
$ cd Koloboke
$ ./gradlew :buildMeta
$ ./gradlew buildMain -x test -x findbugsMain -x findbugsTest
$ ./gradlew idea
Then you can open the project in IntelliJ IDEA.
To rebuild meta projects (code generators), run from the project root dir:
$ ./gradlew :cleanMeta :buildMeta
To rebuild either the lib, benchmarks or both, run
$ ./gradlew cleanMain buildMain
from the lib
, benchmarks
subdir or the root project dir respectively.
To build the lib for Java 8, run
$ ../gradlew cleanMain buildMain -PlibTargetJava=8
from the lib
subdir.
If you want to generate proper Javadocs, especially for Java 6 or 7, you should specify
javadocExecutable
and jdkSrc
build properties (see
Gradle docs
for how to do that). Typical javadocExecutable
value is JAVA_HOME/bin/javadoc[.exe]
, jdkSrc
should point to a directory which contain uncompressed JDK sources, i. e. package structure starting
from java
, javax
, sun
, etc. subdirs.
FAQs
Carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more, built for Java 8 (Implementation Commons (for Implementation Library and Koloboke Compile))
We found that com.koloboke:koloboke-impl-common-jdk8 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.