Java Version 170_45 Download

(Redirected from Bucket trie)

Files contributed by members of our community. Downloading file: Java(TM) SE Runtime Environment (build 1.7.0_45-b18) (x86).

  • Oct 28, 2013 - Download Java(TM) SE Runtime Environment (build 1.7.0_45-b18) (x86). Additional warnings and reminders to update to the newer version.
  • Download Latest Version (390.25MB) Download Advertisement. Older Versions Java Development Kit 8 Update 181 (64-bit) Java Development Kit 10.0.1 (64-bit). Java Development Kit is the official development kit for the Java programming language. Java Development Kit contains the software and tools that you need to compile, debug.
Radix sort
ClassSorting algorithm
Data structureArray
Worst-case performanceO(wn){displaystyle O(wcdot n)}, where w is the number of bits required to store each key.
Worst-case space complexityO(w+n){displaystyle O(w+n)}

In computer science, radix sort is a non-comparativeintegersorting algorithm that sorts data with integer keys by grouping keys by the individual digits which share the same significant position and value. A positional notation is required, but because integers can represent strings of characters (e.g., names or dates) and specially formatted floating point numbers, radix sort is not limited to integers. Radix sort dates back as far as 1887 to the work of Herman Hollerith on tabulating machines.[1]

Most digital computers internally represent all of their data as electronic representations of binary numbers, so processing the digits of integer representations by groups of binary digit representations is most convenient. Radix sorts can be implemented to start at either the most significant digit (MSD) or least significant digit (LSD). For example, when sorting the number 1234 into a list, one could start with the 1 or the 4.

LSD radix sorts typically use the following sorting order: short keys come before longer keys, and then keys of the same length are sorted lexicographically. This coincides with the normal order of integer representations, such as the sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

Java

MSD radix sorts use lexicographic order, which is suitable for sorting strings, such as words, or fixed-length integer representations. A sequence such as 'b, c, d, e, f, g, h, i, j, ba' would be lexicographically sorted as 'b, ba, c, d, e, f, g, h, i, j'. If lexicographic ordering is used to sort variable-length integer representations, then the representations of the numbers from 1 to 10 would be output as 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, as if the shorter keys were left-justified and padded on the right with blank characters to make the shorter keys as long as the longest key for the purpose of determining sorted order.

An IBM card sorter performing a radix sort on a large set of punched cards. Cards are fed into a hopper below the operator's chin and are sorted into one of the machine's 13 output baskets, based on the data punched into one column on the cards. The crank near the input hopper is used to move the read head to the next column as the sort progresses. The rack in back holds cards from the previous sorting pass.
  • 2Least significant digit radix sorts
  • 3Most significant digit radix sorts
    • 3.7trie-based radix sort

Efficiency[edit]

The topic of the efficiency of radix sort compared to other sorting algorithms is somewhat tricky and subject to quite a lot of misunderstandings. Whether radix sort is equally efficient, less efficient or more efficient than the best comparison-based algorithms depends on the details of the assumptions made. Radix sort complexity is O(wn) for n keys which are integers of word sizew. Sometimes w is presented as a constant, which would make radix sort better (for sufficiently large n) than the best comparison-based sorting algorithms, which all perform Θ(n log n) comparisons to sort n keys.

The counter argument is that comparison-based algorithms are measured in number of comparisons, not actual time complexity.Under some assumptions the comparisons will be constant time on average, under others they will not. Comparisons of randomly generated keys takes constant time on average, as keys differ on the very first bit in half the cases, and differ on the second bit in half of the remaining half, and so on, resulting in an average of two bits that need to be compared. In a sorting algorithm the first comparisons made satisfies the randomness condition, but as the sort progresses the keys compared are clearly not randomly chosen anymore. For example, consider a bottom-up merge sort. The first pass will compare pairs of random keys, but the last pass will compare keys that are very close in the sorting order. This makes merge sort, on this class of inputs, take Ω(n (log n)2) time. That assumes all memory accesses cost the same, which is not a physically reasonable assumption as we scale n to infinity, and not, in practice, how real computers work. This argument extends from the observation that computers are filled with different types of memory (cache, system memory, virtual memory etc.) in different and limited quantities. Modern operating systems will position variables into these different systems automatically making memory access time differ widely as more and more memory is utilized.

Least significant digit radix sorts[edit]

A Least significant digit (LSD) Radix sort is a fast stablesorting algorithm which can be used to sort keys in integer representation order. Keys may be a string of characters, or numerical digits in a given 'radix'. The processing of the keys begins at the least significant digit (i.e., the rightmost digit), and proceeds to the most significant digit (i.e., the leftmost digit). The sequence in which digits are processed by an LSD radix sort is the opposite of the sequence in which digits are processed by a most significant digit (MSD) radix sort.

An LSD radix sort operates in O(nw) time, where n is the number of keys, and w is the average key length. This kind of performance for variable-length keys can be achieved by grouping all of the keys that have the same length together and separately performing an LSD radix sort on each group of keys for each length, from shortest to longest, in order to avoid processing the whole list of keys on every sorting pass.

A radix sorting algorithm was originally used to sort punched cards in several passes. A computer algorithm was invented for radix sort in 1954 at MIT by Harold H. Seward. In many large applications needing speed, the computer radix sort is an improvement on (slower) comparison sorts.

LSD radix sorts have resurfaced as an alternative to high performance comparison-based sorting algorithms (like heapsort and merge sort) that require Ω(n · log n) comparisons, where n is the number of items to be sorted. Comparison sorts can do no better than Ω(n · log n) execution time but offer the flexibility of being able to sort with respect to more complicated orderings than a lexicographic one; however, this ability is of little importance in many practical applications.

Definition[edit]

Each key is first figuratively dropped into one level of buckets corresponding to the value of the rightmost digit. Each bucket preserves the original order of the keys as the keys are dropped into the bucket. There is a one-to-one correspondence between the buckets and the values that can be represented by a digit plus one bucket for the empty digit, which signifies that the string is exhausted and which is not required if all strings are of same length. Then, the process repeats with the next neighbouring more significant digit until there are no more digits to process. In other words:

  1. Take the least significant digit (or group of bits, both being examples of radices) of each key.
  2. Group the keys based on that digit, but otherwise keep the original order of keys. (From the second step on this is required for the algorithm. If applied generally it makes the LSD radix sort a stable sort.)
  3. Collect the groups (buckets) in the order of the digits and repeat the grouping process with each more significant digit.

An example[edit]

Original, unsorted list:

170, 45, 75, 90, 02, 802, 2, 66

Interpreting as nonnegative decimal numbers with leading zeros possibly suppressedand sorting least significant digit (1's place) gives:

170, 90, 02, 802, 2, 45, 75, 66
Notice that we keep 802 before 2, because 802 occurred before 2 in the original list, and similarly for pair 170 & 90.

Sorting by next digit (10's place) gives:

02, 802, 02, 45, 66, 170, 75, 90
Notice that a 0-digit is “generated” in front of the 2 for the missing digit, that 802 again comes before the second 02 as 802 comes before 2 in the previous list.

Sorting by most significant digit (100's place) gives:

002, 002, 045, 066, 075, 090, 170, 802

It is important to realize that each of the above steps requires just a single pass over the data, since each item can be placed in its correct bucket without having to be compared with other items.

Some radix sort implementations allocate space for buckets by first counting the number of keys that belong in each bucket before moving keys into those buckets. The number of times that each digit occurs is stored in an array.

Consider the previous list of keys viewed as fixed-length decimals of length 3:

170, 045, 075, 090, 002, 802, 002, 066
Java version 170_45 downloads

The first counting pass starts on the least significant digit of each key, producing an array of bucket sizes:

2 (bucket size for digits of 0: 170, 090)
3 (bucket size for digits of 2: 002, 802, 002)
2 (bucket size for digits of 5: 045, 075)
1 (bucket size for digits of 6: 066)

A second counting pass on the next more significant digit of each key will produce an array of bucket sizes:

3 (bucket size for digits of 0: 002, 802, 002)
1 (bucket size for digits of 4: 045)
1 (bucket size for digits of 6: 066)
2 (bucket size for digits of 7: 170, 075)
1 (bucket size for digits of 9: 090)

A third and final counting pass on the most significant digit of each key will produce an array of bucket sizes: Jhene aiko blue dream download.

6 (bucket size for digits of 0: 002, 002, 045, 066, 075, 090)
1 (bucket size for digits of 1: 170)
1 (bucket size for digits of 8: 802)

At least one LSD radix sort implementation now counts the number of times that each digit occurs in each column for all columns in a single counting pass. (See the external links section.) Other LSD radix sort implementations allocate space for buckets dynamically as the space is needed.

Iterative version using queues[edit]

A simple version of an LSD radix sort can be achieved using queues as buckets. The following process is repeated for a number of times equal to the length of the longest key:

  1. The integers are enqueued into an array of ten separate queues based on their digits from right to left. Computers often represent integers internally as fixed-length binary digits. Here, we will do something analogous with fixed-length decimal digits. So, using the numbers from the previous example, the queues for the 1st pass would be:
    0: 170, 090
    1: none
    2: 002, 802, 002
    3: none
    4: none
    5: 045, 075
    6: 066
    7–9: none
  2. The queues are dequeued back into an array of integers, in increasing order. Using the same numbers, the array will look like this after the first pass:
    170, 090, 002, 802, 002, 045, 075, 066
  3. For the second pass:
    Queues:
    0: 002, 802, 002
    1–3: none
    4: 045
    5: none
    6: 066
    7: 170, 075
    8: none
    9: 090
    Array:
    002, 802, 002, 045, 066, 170, 075, 090
    (note that at this point only 802 and 170 are out of order)
  4. For the third pass:
    Queues:
    0: 002, 002, 045, 066, 075, 090
    1: 170
    2–7: none
    8: 802
    9: none
    Array:
    002, 002, 045, 066, 075, 090, 170, 802 (sorted)

While this may not be the most efficient radix sort algorithm, it is relatively simple, and still quite efficient.

No safari on iphone. Filza is Not Installing [Fixed] There are chances that the app gets revoked. If you have installed any, you can access the music files at the root level and manage with ease, you can’t actually do it otherwise. You only need to think if you are not able to install the app or the app gets crashed while installing itself. If you come across such an issue, you don’t need to worry as it can be installed later. It means that the app cannot be installed at that particular moment and you need to wait for sometime.

Most significant digit radix sorts[edit]

A most significant digit (MSD) radix sort can be used to sort keys in lexicographic order. Unlike a least significant digit (LSD) radix sort, a most significant digit radix sort does not necessarily preserve the original order of duplicate keys. An MSD radix sort starts processing the keys from the most significant digit, leftmost digit, to the least significant digit, rightmost digit. This sequence is opposite that of least significant digit (LSD) radix sorts. An MSD radix sort stops rearranging the position of a key when the processing reaches a unique prefix of the key. Some MSD radix sorts use one level of buckets in which to group the keys. See the counting sort and pigeonhole sort articles. Other MSD radix sorts use multiple levels of buckets, which form a trie or a path in a trie. A postman's sort / postal sort is a kind of MSD radix sort.

Recursion[edit]

A recursively subdividing MSD radix sort algorithm works as follows:

  1. Take the most significant digit of each key.
  2. Sort the list of elements based on that digit, grouping elements with the same digit into one bucket.
  3. Recursively sort each bucket, starting with the next digit to the right.
  4. Concatenate the buckets together in order.

Recursive forward radix sort example[edit]

Sort the list:
170, 045, 075, 090, 002, 024, 802, 066

  1. Sorting by most significant digit (100s place) gives:
    Zero hundreds bucket: 045, 075, 090, 002, 024, 066
    One hundreds bucket: 170
    Eight hundreds bucket: 802
  2. Sorting by next digit (10s place) is only needed for those numbers in the zero hundreds bucket (no other buckets contain more than one item):
    Zero tens bucket: 002
    Twenties bucket: 024
    Forties bucket: 045
    Sixties bucket: 066
    Seventies bucket: 075
    Nineties bucket: 090

Sorting by least significant digit (1s place) is not needed, as there is no tens bucket with more than one number. Therefore, the now sorted zero hundreds bucket is concatenated, joined in sequence, with the one hundreds bucket and eight hundreds bucket to give:
002, 024, 045, 066, 075, 090, 170, 802

Java Version 170_45 Download For Windows 10

This example used base ten digits for the sake of readability, but of course binary digits or perhaps bytes might make more sense for a binary computer to process.

In-place MSD radix sort implementations[edit]

Binary MSD radix sort, also called binary quicksort, can be implemented in-place by splitting the input array into two bins - the 0s bin and the 1s bin. The 0s bin is grown from the beginning of the array, whereas the 1s bin is grown from the end of the array. The 0s bin boundary is placed before the first array element. The 1s bin boundary is placed after the last array element. The most significant bit of the first array element is examined. If this bit is a 1, then the first element is swapped with the element in front of the 1s bin boundary (the last element of the array), and the 1s bin is grown by one element by decrementing the 1s boundary array index. If this bit is a 0, then the first element remains at its current location, and the 0s bin is grown by one element. The next array element examined is the one in front of the 0s bin boundary (i.e. the first element that is not in the 0s bin or the 1s bin). This process continues until the 0s bin and the 1s bin reach each other. The 0s bin and the 1s bin are then sorted recursively based on the next bit of each array element. Recursive processing continues until the least significant bit has been used for sorting.[2][3] Handling signed integers requires treating the most significant bit with the opposite sense, followed by unsigned treatment of the rest of the bits.

In-place MSD binary-radix sort can be extended to larger radix and retain in-place capability. Counting sort is used to determine the size of each bin and their starting index. Swapping is used to place the current element into its bin, followed by expanding the bin boundary. As the array elements are scanned the bins are skipped over and only elements between bins are processed, until the entire array has been processed and all elements end up in their respective bins. The number of bins is the same as the radix used - e.g. 16 bins for 16-Radix. Each pass is based on a single digit (e.g. 4-bits per digit in the case of 16-Radix), starting from the most significant digit. Each bin is then processed recursively using the next digit, until all digits have been used for sorting.[4][5]

Neither in-place binary-radix sort nor n-bit-radix sort, discussed in paragraphs above, are stable algorithms.

Stable MSD radix sort implementations[edit]

MSD Radix Sort can be implemented as a stable algorithm, but requires the use of a memory buffer of the same size as the input array. This extra memory allows the input buffer to be scanned from the first array element to last, and move the array elements to the destination bins in the same order. Thus, equal elements will be placed in the memory buffer in the same order they were in the input array. The MSD-based algorithm uses the extra memory buffer as the output on the first level of recursion, but swaps the input and output on the next level of recursion, to avoid the overhead of copying the output result back to the input buffer. Each of the bins are recursively processed, as is done for the in-place MSD Radix Sort. After the sort by the last digit has been completed, the output buffer is checked to see if it is the original input array, and if it's not, then a single copy is performed. If the digit size is chosen such that the key size divided by the digit size is an even number, the copy at the end is avoided.[6]

Hybrid approaches[edit]

Radix sort, such as two pass method where counting sort is used during the first pass of each level of recursion, has a large constant overhead. Thus, when the bins get small, other sorting algorithms should be used, such as insertion sort. A good implementation of Insertion sort is fast for small arrays, stable, in-place, and can significantly speed up Radix Sort.

Application to parallel computing[edit]

Note that this recursive sorting algorithm has particular application to parallel computing, as each of the bins can be sorted independently. In this case, each bin is passed to the next available processor. A single processor would be used at the start (the most significant digit). By the second or third digit, all available processors would likely be engaged. Ideally, as each subdivision is fully sorted, fewer and fewer processors would be utilized. In the worst case, all of the keys will be identical or nearly identical to each other, with the result that there will be little to no advantage to using parallel computing to sort the keys.

In the top level of recursion, opportunity for parallelism is in the counting sort portion of the algorithm. Counting is highly parallel, amenable to the parallel_reduce pattern, and splits the work well across multiple cores until reaching memory bandwidth limit. This portion of the algorithm has, because that would be the only choice.

If a new key is inserted into an internal node, then a depth-first search can be started from the internal node to find the lexicographic successor. For example, if the literal string 'DO' were inserted in the node at the end of the path D, O, then a depth-first search could be started from that internal node to find the successor, 'DOC', for the purpose of splicing the new string into the circularly linked list.

Forming the circularly linked list requires more memory but allows the keys to be visited more directly in either ascending or descending order via a linear traversal of the linked list rather than a depth-first traversal of the entire trie. This concept of a circularly linked trie structure is similar to the concept of a threaded binary tree. This structure will be called a circularly threaded trie.

When a trie is used to sort numbers, the number representations must all be the same length unless you are willing to perform a breadth-first traversal. When the number representations will be visited via depth-first traversal, as in the above diagram, the number representations will always be on the leaf nodes of the trie. Note how similar in concept this particular example of a trie is to the recursive forward radix sort example which involves the use of buckets instead of a trie. Performing a radix sort with the buckets is like creating a trie and then discarding the non-leaf nodes.

Implementation in Java[edit]

LSD Radix Sort Performance Optimization[edit]

In the above LSD Radix Sort implementation counting is performed per digit, scanning over the entire input array per digit. For instance, when 8-bit digits are used with an array of 32-bit integers, this results in 4 digits per array element.In this case, 4 passes over the array will be performed with 4 counts. These 4 passes can be combined into a single pass over the array, which counts not just based on the current digit, but the counts for all of the digits. The count arrayturns from a 1-D count array into a 2-D count array: a count array per digit. This optimization is possible for the LSD Radix Sort because the entire array is scanned/counted for each digit, and the permutation step (moving the array elements)will not alter the count totals for the entire array.[12][13] This performance optimization has been implemented in C# in an open source and free HPCsharp NuGet package/library. With this optimization, the LSD Radix Sort can be split into a counting phase and a permutation phase.

See also[edit]

References[edit]

  1. ^US 395781 and UK 327
  2. ^R. Sedgewick, 'Algorithms in C++', third edition, 1998, p. 424-427
  3. ^V. J. Duvanenko, 'In-Place Hybrid Binary-Radix Sort', Dr. Dobb's Journal, 1 October 2009
  4. ^V. J. Duvanenko, 'In-Place Hybrid N-bit-Radix Sort', Dr. Dobb's Journal, November 2009
  5. ^V. J. Duvanenko, 'Parallel In-Place Radix Sort Simplified', Dr. Dobb's Journal, January 2011
  6. ^V. J. Duvanenko, 'Stable Hybrid N-bit-Radix Sort', Dr. Dobb's Journal, January 2010
  7. ^V. J. Duvanenko, 'Parallel In-Place N-bit-Radix Sort', Dr. Dobb's Journal, August 2010
  8. ^A. Gibbons and W. Rytter, Efficient Parallel Algorithms. Cambridge University Press, 1988.
  9. ^H. Casanova et al, Parallel Algorithms. Chapman & Hall, 2008.
  10. ^David M. W. Powers, Parallelized Quicksort and Radixsort with Optimal Speedup, Proceedings of International Conference on Parallel Computing Technologies. Novosibirsk. 1991.
  11. ^David M. W. Powers, Parallel Unification: Practical Complexity, Australasian Computer Architecture Workshop, Flinders University, January 1995
  12. ^V. J. Duvanenko, 'Faster LSD Radix Sort', February 2019
  13. ^Michael Herf, 'Faster Floating Point Sorting and Multiple Histogramming', December 2001

External links[edit]

The Wikibook Algorithm implementation has a page on the topic of: Radix sort
  • High Performance Implementation of LSD Radix sort in JavaScript
  • High Performance Implementation of LSD & MSD Radix sort in C# with source in GitHub
  • Demonstration and comparison of Radix sort with Bubble sort, Merge sort and Quicksort implemented in JavaScript
  • Article about Radix sorting IEEE floating-point numbers with implementation.
    Faster Floating Point Sorting and Multiple Histogramming with implementation in C++
  • Pointers to radix sort visualizations
  • USort library contains tuned implementations of radix sort for most numerical C types (C99)
  • Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching, Third Edition. Addison-Wesley, 1997. ISBN0-201-89685-0. Section 5.2.5: Sorting by Distribution, pp. 168–179.
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN0-262-03293-7. Section 8.3: Radix sort, pp. 170–173.
  • Efficient Trie-Based Sorting of Large Sets of Strings, by Ranjan Sinha and Justin Zobel. This paper describes a method of creating tries of buckets which figuratively burst into sub-tries when the buckets hold more than a predetermined capacity of strings, hence the name, 'Burstsort'.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Radix_sort&oldid=899179062#Incremental_trie-based_radix_sort'

Pick a software title..to downgrade to the version you love!

Java Platform Latest Version

Java Platform 7 Update 5

Released:
Jun 13, 2012
Size:
20.08 MB
Downloads:
4,757
Rating:
Tested: Free from spyware, adware and viruses

Java Platform Popular Version

Java Platform Runtime 5.0 Update 5

Released:
Feb 6, 2006
Size:
15.67 MB
Downloads:
92,279
Rating:
Tested: Free from spyware, adware and viruses

Select Version of Java Platform to Download for FREE!

Software VersionRelease DateSize
Java Platform 1.1.7Add info2.61 MB
Java Platform 1.1.8Add info2.63 MB
Java Platform 1.1.8.10Add info2.64 MB
Java Platform Runtime 1.2.1Jun 21, 199911.94 MB
Java Platform 1.2.2.5Add info5.05 MB
Java Platform 1.2.2.17Add info5.14 MB
Java Platform 1.3.0Add info7.34 MB
Java Platform Runtime 1.3.1May 20, 20017.69 MB
Java Platform 1.3.1.20Add info5.26 MB
Java Platform Runtime 1.4.0Jul 12, 200411.65 MB
Java Platform 1.4.1Add info9.47 MB
Java Platform Runtime 1.4.2Sep 9, 200413.51 MB
Java Platform 1.4.2.19Add info15.12 MB
Java Platform 1.5.0Add info15.67 MB
Java Platform 1.5.0.1Add info15.08 MB
Java Platform 1.5.0.2Add info15.25 MB
Java Platform 1.5.0.3Add info15.26 MB
Java Platform 1.5.0.4Add info15.54 MB
Java Platform 1.5.0.5Add info15.67 MB
Java Platform 1.5.0.6Add info16.00 MB
Java Platform 1.5.0.7Add info18.23 MB
Java Platform 1.5.0.8Add info15.74 MB
Java Platform 1.5.0.9Add info15.74 MB
Java Platform 1.5.0.10Add info15.82 MB
Java Platform 1.5.0.11Add info15.80 MB
Java Platform 1.5.0.12 (x64)May 21, 200711.26 MB
Java Platform 1.5.0.12May 21, 200715.88 MB
Java Platform 1.5.0.13 (x64)Sep 26, 200711.26 MB
Java Platform 1.5.0.13Sep 26, 200715.92 MB
Java Platform 1.5.0.14Nov 5, 200716.10 MB
Java Platform 1.5.0.14 (x64)Nov 5, 200711.38 MB
Java Platform 1.5.0.15 (x64)Feb 12, 200811.39 MB
Java Platform 1.5.0.15Feb 12, 200816.11 MB
Java Platform 1.5.0.16Jun 17, 200816.13 MB
Java Platform 1.5.0.16 (x64)Jun 17, 200811.39 MB
Java Platform 1.6Add info12.56 MB
Java Platform 1.6.0.1Add info13.16 MB
Java Platform 1.6.0.2Add info13.89 MB
Java Platform 1.6.0.3Add info13.93 MB
Java Platform 1.6.0.4Feb 5, 200815.12 MB
Java Platform 1.6.0.5Add info15.18 MB
Java Platform 1.6.0.6Add info15.21 MB
Java Platform 1.6.0.7Jul 9, 200815.24 MB
Java Platform 1.6.0.10Oct 26, 200815.55 MB
Java Platform 1.6.0.11Dec 3, 200815.56 MB
Java Platform 1.6.0.12Jan 20, 200915.67 MB
Java Platform 1.6.0.12 (x64)Jan 21, 200916.16 MB
Java Platform 1.6.0.13Mar 25, 200915.68 MB
Java Platform 1.6.0.14May 30, 200915.50 MB
Java Platform 1.6.0.14 (x64)May 30, 200916.38 MB
Java Platform 1.6.0.15Aug 5, 200916.04 MB
Java Platform 1.7.0.1Oct 3, 201120.33 MB
Java Platform 1.7.01Oct 3, 200319.26 MB
Java Platform Runtime 5.0 Update 5Feb 6, 200615.67 MB
Java Platform 5 Update 17 (x64)Nov 19, 200811.40 MB
Java Platform 5 Update 18 (x64)Mar 4, 200911.42 MB
Java Platform 5 Update 22 (x64)Add info11.66 MB
Java Platform 5 Update 17Nov 19, 200816.26 MB
Java Platform 5 Update 22Add info16.70 MB
Java Platform 5 Update 18Mar 4, 200916.30 MB
Java Platform 5.0 Update 22Jan 10, 200616.70 MB
Java Platform 5.0 Update 15Jan 2, 200616.11 MB
Java Platform 6 Update 27Aug 23, 201116.33 MB
Java Platform 6 Update 27 (x64)Aug 23, 201116.39 MB
Java Platform 6 Update 29Oct 18, 201116.34 MB
Java Platform 6 Update 26 (x64)Jun 7, 201116.14 MB
Java Platform 6 Update 26Jun 7, 201116.07 MB
Java Platform 6 Update 24Feb 15, 201115.98 MB
Java Platform 6 Update 24 (x64)Feb 15, 201115.90 MB
Java Platform 6 Update 25Apr 27, 201115.99 MB
Java Platform 6 Update 25 (x64)Apr 27, 201116.09 MB
Java Platform 6 Update 29 (x64)Oct 18, 201116.40 MB
Java Platform 6 Update 30Dec 15, 201116.37 MB
Java Platform 6 Update 30 (x64)Dec 15, 201116.47 MB
Java Platform 6 Update 31Feb 14, 201216.41 MB
Java Platform 6 Update 31 (x64)Feb 14, 201216.46 MB
Java Platform 6 Update 32 (x64)May 2, 201216.41 MB
Java Platform 6 Update 33Jun 13, 201216.20 MB
Java Platform 6 Update 32May 3, 201216.20 MB
Java Platform 6 Update 33 (x64)Jun 13, 201216.41 MB
Java Platform 6 Update 23 (x64)Dec 14, 201015.92 MB
Java Platform 6 update 29 64 bitOct 18, 201116.40 MB
Java Platform 6.0 Update 25Apr 27, 201115.77 MB
Java Platform 6.0 Update 27Aug 23, 201114.42 MB
Java Platform 6.0 Update 26Jun 7, 201116.07 MB
Java Platform 6 Update 23Dec 14, 201016.02 MB
Java Platform 6.0 Update 3Nov 17, 200713.93 MB
Java Platform 6.0 Update 5Add info15.18 MB
Java Platform 6.0 Update 24Feb 15, 201115.76 MB
Java Platform 6.0 Update 23Dec 14, 201015.79 MB
Java Platform 6.0 Update 10Sep 6, 200815.41 MB
Java Platform 6.0 Update 11Nov 10, 200815.42 MB
Java Platform 6.0 Update 12Jun 10, 200915.67 MB
Java Platform 6.0 Update 13Jul 16, 200915.53 MB
Java Platform 6.0 Update 7Nov 10, 200815.24 MB
Java Platform 6.0 Update 29Oct 3, 2011888.28 KB
Java Platform 6 Update 21 (x64)Jul 7, 201015.37 MB
Java Platform 6 Update 22Oct 12, 201015.55 MB
Java Platform 6 Update 16Aug 13, 200915.89 MB
Java Platform 6 Update 21Jul 7, 201015.55 MB
Java Platform 6 Update 20 (x64)Apr 14, 201015.66 MB
Java Platform 6 Update 22 (x64)Oct 12, 201015.44 MB
Java Platform 6 Update 20Apr 14, 201015.76 MB
Java Platform 6 Update 17Nov 4, 200916.05 MB
Java Platform 6 Update 18Jan 14, 201015.72 MB
Java Platform 6 Update 19Mar 30, 201015.76 MB
Java Platform 6 Update 19 (x64)Mar 30, 201015.66 MB
Java Platform 7 Update 5 (x64)Jun 13, 201220.86 MB
Java Platform 7 Update 2 (x64)Dec 13, 201120.46 MB
Java Platform 7 (SDK) x64Aug 1, 201180.25 MB
Java Platform 7 (SDK)Aug 1, 201179.48 MB
Java Platform 7 Update 2Dec 13, 201119.35 MB
Java Platform 7 Update 4May 2, 201220.08 MB
Java Platform 7 Update 4 (x64)May 2, 201220.85 MB
Java Platform 7 Update 5Jun 13, 201220.08 MB

Java Version 170_45 Download Free

Do you have software version that is not currently listed?

Upload it now and get rewarded!

Need a software version that is not currently listed?

Make a software request now!

Java Platform Description

The Java platform is the name for a computing environment, or platform which can run applications developed using the Java programming language and set of development tools.
The Java Platform provides the libraries, Java virtual machine, and other components necessary for you to run applets and applications written in the Java programming language.

Other Internet Software

Java Platform Comments

Please enable JavaScript to view the comments powered by Disqus.blog comments powered by Disqus