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 looking to find bottlenecks in my Java application in Eclipse. I'm thinking this might be useful:
http://www.eclipse.org/projects/project_summary.php?projectid=tptp.performance
Any other good plug-ins to use?
EDIT OK, it doesn't necessarily have to be an Eclipse plug-in. But it would be nice. And, I'm most interested in speed.
If you can, use jvisualvm in the Sun Java 6 JDK (IBM too). It works out of the box and can answer many of the initial questions.
Note that on Windows you need to invoke jvisualvm with the same Java binary as the program you want to investigate for best results.
(visualvm is a stand-alone subset of the Netbeans profiler)
In my experience, TPTP is something to run away from as fast as possible. It's a horribly overengineered mess, almost impossible to get to work, badly documented, and slow as molasses.
I'm not aware of any good and free profiling plugins for eclipse. But then, does it really have to be an eclipse plugin? VisualVM comes with the JDK since Java 6u7, is fast and easy to use. It may not be the most feature-rich of profilers, but has been sufficient for me.
YourKit is an excellent commercial profiler that has good Eclipse integration.
I found JProfiler (commercial) to be really helpful. It has Eclipse integration, although it is not an Eclipse plugin per sa', so you can very easily invoke a profiler instead of a regular execution session. It had very good bottleneck analysis and you can find-tune the settings to lower the overheads of the profiler itself. Highly recommended.
I've also used the Netbeans profiler which is pretty good. It's pretty easy to set it up to profile your Eclipse project while it is running in Eclipse. You don't need to open the project in Netbeans.
The Eclipse Memory Analyser has been helping me a lot recently.
If you are looking for a IBM JDK equivalent for visualvm, try the IBM Java Health Center: http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/. It has some decent profiling capabilities, and is rather fast.
You can always dump call stacks (e.g. Ctrl-Break on command line). It is surprisingly very effective.
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 10 years ago.
I am working on Java for few years but most of the time I work on Windows OS as it is my DEV environment. Now I want to work on Java+Linux environment.
I have installed Ubuntu 12.04, installed Oracle JDK, Eclipse, Netbeans...so far good.
But I am looking for resources/websites/blogs focusing on Java Development On Linux to learn more about how resolve common issues for newbies(like me), any profiling/debugging tools for java apps, tips on log files searching, identifying how many java processes are running, killing a particular java process etc.
By googling I am able to get these details individually... want to know if any websites/blogs exclusively focusing on above mentioned areas?
The good news: Once you are running inside the JVM, Java works in a very similar way on both Windows and Linux - to some degree that is the whole point of a cross-platform language and runtime! So most of your Java experience will be entirely portable.
If you find yourself doing something Linux or Windows specific then you might want to stop and think.... is there a cross-platform way of doing this? In Java there usually is.
As a result the Linux and Windows specific things that you need to know are basically just the stuff that happens outside the JVM, e.g.:
Starting and stopping JVMs
How native libaries are handled
Non-Java-specific stuff like managing the filesystem etc.
Don't have any specific resources for you to follow up, but general Linux sites should help you with most of the above.
The things you are looking for a general purpose UNIX commands and are not specific to Java or even Linux. All the Java command are the same under Windows and Linux and if you use an IDE you don't need to worry about them
any profiling/debugging tools for java apps
Same as Windows. Use the debug button in your IDE for debugging and jvisualvm for profiling or a commercial profiler like YourKit.
tips on log files searching
Use less or grep or both. ;) You can use these in Windows using Cygwin.
identifying how many java processes are running
Use jps -lvm just like in Windows.
killing a particular java process
Use kill {pid}
want to know if any websites/blogs exclusively focusing on above mentioned areas?
I wouldn't imagine there is. Look for common UNIX commands instead.
Actually, There is a lot of tools to debugging java apps on linux.
I have a blog post listing the java related tools that I used for last several years.
http://hunmr.blogspot.com/2012/08/java-performance-tunning.html
and some handy commands:
http://hunmr.blogspot.com/2012/08/handy-commands-for-development.html
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 come from Linux and Windows programming is fairly new to me. On linux, I used to use vim and the command line and everything worked fine, even for large projects. However, on windows, the command line seems a lot more cumbersome and I hear that lots of devs use IDEs. The question is, what do I use (C++ here)? What does everyone usually use? VC++? I've read about Eclipse, how is the C++ support for it? I have used Netbeans for Java and I absolutely love it, is the C++ support upto par? Also, Netbeans seems to need make for windows, which is a pain to set up, is there a good alternative?
I don't think you can get an objective answer to a question as general as this. Different people have different experiences with different IDEs, and opinions are subjective.
My best advice is to be lazy. If the tools you are used to using do a good (or even half good) job, then don't change. The real point of an IDE is to get the job done effectively. Spending lots of time evaluating, setting up, going through the learning curves, switching back and forth doesn't get the job done.
If you are moving to doing development for windows, VC++ is a very good IDE, and arguably the best for pure windows development, I perfer eclipse though, mainly so that I have a single IDE that I use no matter what platform I'm on (Windows, Linux, and Mac).
The C++ support is execlent with the latest eclipse and CDT (C/C++ Development Tools) versions so that shouldn't be much of a problem.
I never have been that happy using Netbeans, but that is personal taste I think.
I generally use Eclipse for Java and love it, have had no problems. The intellisense is great and the automatic formatting works perfectly.
Currently I am using Visual Studio for C# and C++ but it leaves much to be desired in terms of performance, so I too am looking for a new solution there.
I thought Netbeans used Ant for build scripts, but I could be wrong. It's been a long time.
I use Visual Studio and find it's a fairly nice IDE with decent command line for build scripts, etc.
You might want to take a look at CodeBlocks. It is the IDE I used for C++ to make the transition. Worked well for me.
It depends. :-)
Are you moving to Windows "permanently", or just creating a new port? You can continue to use your old tools, if you work on several platforms.
Otherwise, VC++ is the native compiler for Windows. Obviously the one Microsoft uses for compiling Windows itself. The source code debugger is very well integrated with the rest of the IDE, and supports downloading debug info for the system binaries as well. Can be very useful.
For Java irrespective of the OS you are using, I highly recommend IDEA IntelliJ. There is also an open source "Community Edition" now which is quite cool.
i think if you used to use vim and command line in linux u'll find anything in Windows OS is so simple comparing with vim and command line so i thinkmit's so easy for u to convert to any IDE in Windows but i think it's better to use the native IDE for C++ by Microsoft itself not to use any other IDE from any another company because as i think the biggest advantage in Microsoft is its Support for its products and u can find easily tutorials and documentation easily
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 12 years ago.
I've been creating Java programs in a text editor for more than a year and now I want to switch to any IDE for creating Java applications. May I know which IDE should I use first? Eclipse or NetBeans? Which is more preferable for a starter?
I've also done a little work in Visual Studio for creating C# applications. Will working on any IDE gonna be helpful for me?
I've always liked NetBeans for it's simplicity, however I use Eclipse as it has an official plugin for Android, provided by Google. Eclipse is very good but also somewhat complicated - I've used it for years and probably don't know what 60% of the settings or features even do.
So stick to NetBeans, unless you're doing Android development.
Eclipse is definitely closer to the text editor environment you're used to, while NetBeans is more geared towards interface development.
A stock installation of Eclipse is extremely lightweight relative to NetBeans. NetBeans is probably closer to Visual Studio. It depends on what kind of environment you prefer to work in.
If you enjoyed and preferred text editor coding, I'd go with Eclipse. If you preferred Visual Studio-style environments, I'd go with NetBeans.
If your computer is old, I'd go with Eclipse as well.
Eclipse is heavily developed by third parties (google, adobe), netBeans by oracle, so while doing some job with java i felt netBeans to be more "native" for java. Although i do most of the programming in other languages so i use eclipse, since you can bend it to any direction you want.
So, all in all, if you're planing just program in java and have done something with visual studio - use netbeans
When I was learning Java they had us using jGRASP, then had us using Netbeans. Netbeans and Eclipse are very similar if you are just starting.
This is the IDE I use http://www.jetbrains.com/idea/download/
Netbeans is more to Visual Studio, if you are working on GUI app or Jasper reports, Netbeans is also your choice. In all other cases - Eclipse. Eclipse has much more plug-ins, integrated with server-side environment and easier customizable
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 a beginner. I am using Aptana Studio for PHP. Today, I also downloaded Eclipse. I notice most of the features and workings are similar. It seems one is built on the code-base of the other.
If so, what was the need for two similar Open Source IDEs on Java?
Aptana is built on Eclipse.
Eclipse is a general-purpose/Java-focused editor, whilst Aptana offers additional features which are targeted specifically at web development.
There are also other Eclipse plugins that also focus on web development, including the Web Tools Project from the Eclipse team.
Some people like Aptana, finding it a convenient mix of relevant tools. Others find Aptana too intrusive, and prefer to individually select their own plugins for JavaScript, CSS, XML, and so on.
what was the need for two similar
Open Source IDEs on Java.
Variety is the spice of life. There are plenty of other IDEs aside from just these two, and the same situation applies to most software, and tools/technologies in general.
Generally, different tools don't have the same focuses, and therefore provide varying benefits for different users.
This is especially true in the Open Source world, where users can easily customise and re-release products to work in the way they want.
You might wonder why the developers of Aptana built a "new" IDE based on Eclipse rather than simply working on Eclipse plugins.
The reason for this is that there used to be a paid-for Pro version of Aptana. This no longer exists however; you can get all the Aptana features now in the free Community Edition.
If you are searching for an free / open source IDE for PHP development i suggest Eclipse. If you can give some money to some company i suggest you give a try PHP Designer. PHP Designer supports as you guess PHP and debugging, also javascript framework like jQuery.
I have been using Aptana Studio 3 myself and I have to say that I like it so far. Which is odd because after using the IDEs I have used in the past I always ended up back with a text editor to write my code in.
I was curious about Eclipse as well and that is why I ended up at your question. I watched the Eclipse demo at the Eclipse site and I think I'll be sticking with Aptana. Just because it does appear to look and function very similar and I have decided that I do like Aptana. I was just searching to see if that was a certain feature or improvement Eclipse could offer.
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.
Has anybody out there got any real world experience with the H2 database? I'm interested in:
performance
stability
bugs
We use H2 as the storage engine for a very large RCP/Eclipse-based design tool. The tool itself has been in use for over 2 years now on some data-heavy projects so we've stressed H2 pretty thoroughly.
We did a fairly in-depth analysis of other Java embeddable db engines and chose H2. Overall I think we're pretty happy with it. We've had very few stability issues, but, as zvikico says, the development team is VERY responsive.
While the performance is good, sometimes you need to do some optimizations by hand. If you're used to working with enterprise-level databases that do a lot of this optimization for you, it may be a bit of a change. I'd recommend using the EXPLAIN command if you encounter a slow query to see what it's doing. Very often you can switch around the JOIN statements to force it to use indices more efficiently.
So, in short, thumbs up from me!
I'm using it as the base of nWire, which is an Eclipse plugin for Java code exploration. It is working in embedded mode as part of the Java process, not as a server.
Overall, it is very stable. I'm working with H2 for a long time now: I encountered some bugs in the early days, but that hasn't happened in some time now. The response of the developer has been great, too.
Regarding performance: it is very good. You can see the tests on the site. I didn't get a chance to compare it to other tools, but I'm very happy with it. In recent versions, it does tend to take a bit more time to open large databases, but that issue seems to be resolved, too.
Some other strong points:
Very simple distribution: just one JAR.
The embedded web console is very useful for quick access to the database. It proved to be a valuable development tool.
Responsive community support, especially from the development team.
I'm using H2 in some pretty heavy server applications with several millions of records. H2's performance is just phenomenal. As always, you need to think through your use of indices though. I was a long time user of MySQL before and have used several enterprise-class databases, but H2 is just smaller, faster and easier to use than the traditional heavyweights. It's also become our database of choice at Tynamo.org