As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am looking for a Dataflow / Concurrent Programming API for Java.
I know there's DataRush, but it's not free. What I'm interested in specifically is multicore data processing, and not distributed, which rules out MapReduce or Hadoop.
Any thoughts?
Thanks,
Rollo
You might try gpars; it apparently has implementations of data flow variables and streams in Java even though it is geared towards providing concurrent programming goodies for Groovy.
Might try the upcoming fork/join library which will (hopefully) be in Java 7 as part of the JSR 166y update.
Main project page:
- http://gee.cs.oswego.edu/dl/concurrency-interest/index.html
Pointers to lots of links about what it is:
- http://tech.puredanger.com/java7#jsr166
Does the built in Java concurrent package meet your needs? It's a very nice package, built in ThreadPools, CopyOnWriteCollections, Executors, Future. We use it to process large volumns of data in thread pools.
https://github.com/rfqu/df4j is simple but powerful dataflow library. If it lacks some desired features, they can be added easly. It can exploit java.concurrent.ExecutorService.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am trying to solve the age old problem of interprocess comms, specifically for a client server model where the client is GUI.
I have looked at Chronicle and although it can serialize objects, it lacks in the features of RMI. It can pass POJO's but cannot run methods. Rather than blend the two or not use RMI at all and write a protocol to handle Chronicle comms to implement method calls I am looking for the modern alternatives.
Looking around Cajo seems to be a good fit, however it seems little active development is happening.
Then again Akka also seems to fit the bill but I cannot find much comparison between the two on the net.
What library is a good fit for the problem, and will be supported well into the future?
EDIT:
After refrencing the docs and comments here I have more questions.
http://www.javalobby.org/java/forums/t101131.html?start=15
Is Cajo obsolete now due to updates in RMI or is it still an easier to use alternative?
If your distributed processes are Java then why don't you want to use RMI? In any case what do you mean by modern? RMI is fast since it is just above the TCP sockets and EJB containers are based on it. Akka is for non-blocking I/O which is fast but is not the same topic as your OP.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Does someone know if Guava or Java8 in the future will provide persistent collection-implementations inspired by more functional implementations as for instance in Clojure or Scala (providing snapshots, efficient modifications due to sharing of tree-structures and so on)?
With regards to Guava, there is a discussion on the project's discussion group here, which ends with the project lead (Kevin Bourrillion) stating his opinion that Guava would not be the correct library for persistent collections.
I don't believe there's anything like this scheduled for Java 8. A description of the plan for Java 8 here, which states the main features are Project Jigsaw, and Lambda. There will be other inclusions, but no mention of persistent collections.
Check out PCollections: http://code.google.com/p/pcollections/
I expect it's the closest to what you're looking for.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I've read this discussion on Stackoverflow, but it's been over two years since it was asked. I am a beginning Java programmer and have little knowledge of appreciated and widely-used libraries for this platform.
Of course I do use some libraries (JUnit, parts of Spring), but I'd love to have a list of libraries, that every Java developer should know (i.e. Hibernate, Velocity..?). I am interested in every field of Java applications.
What would you recommend for me (or any other beginner) to check out?
Here is a good list of Java libraries you should know about.
https://java-source.net/
Every beginner should spend more time learning core java. There are no all-around libraries. Most if not all libraries are problem/domain specific...
My oppinion...
Apache commons has many libraries (like copying a stream to another). In the Java EE web application area the Spring framework provided independent utility libraries (like file upload servlet filter and for dependency injection), that meanwhile becomes less important because of the simplifications in Java EE.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I was reading this article on Java Threads: http://java.sun.com/docs/books/jls/second_edition/html/memory.doc.html, which I think is must read for any Java developer. What are the other must read articles about Java Threads or threads in general?
I found the book Java Concurrency in Practice a good resource. It teaches you everything you need to know about threads and concurrency in Java. I highly recommend it.
http://linux.die.net/man/7/pthreads + do implement something
You may find article Java Thread Gate Pattern useful.
For Java Threading,
Java Concurreny in Practice.
Taming Java Threads
I find articles in IBM developer works very well written. Try search 'thread' in that site:
http://www.ibm.com/developerworks/views/java/libraryview.jsp?sort_by=&show_abstract=true&show_all=&search_flag=&contentarea_by=Java+technology&search_by=thread&topic_by=-1&industry_by=-1&type_by=All+Types&ibm-search=Search
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm interested in technologies(solutions) that permits Java and .NET interoperate. I have tried the following and it works but I would like to know if there are other solutions:
Sockets
Web Services (Metro)
CORBA (IIOP.NET)
Messaging (QPid)
IKVM
Does anyone know other technologies(solutions) that enable Java and .NET interoperate or best practices for Java and .NET interoperability?
We use Apache ActiveMQ
I've used j-Integra's stuff before on a few projects that served me well
I have been working with JNBridge tools for in-process one-way JAVA Swing UI calling .NET 4.0 back end.
The whole thing performs well but does require discipline in its management. A license fee is required, so is really only a good choice when the 2 languages have to be used together.
Check out JNBridge.
I haven't used it, but I have heard this works: http://jnbridge.com/