一个Java专业人员必须有的12个工具

jopen 10年前

1. Notepad++

I have been into multiple companies already for the course of my career, and I have this software wherever I go. This is my best alternative to notepad. I am using this software to edit xml, scripts, or simply just making notes. What I like on this software is that, every document that I open remains there even I close it. So no important notes are wasted because of some stupid microsoft problem. One more thing that I like on notepad++ is the compare plugin which is very useful in comparing codes.

一个Java专业人员必须有的12个工具

Website: http://notepad-plus-plus.org/
License: Free
Pros: Lightweight, has compare plugins, unix2dos conversion
Use for: Editing XML,scripts, or any codes

2. XML Marker

You might not be able to survive java development or administration if you don’t have any XML editor on your sleeve. The XML Marker is my software of choice because it is light-weight, simple and it gets the job done. With the navigation pane on the top left which we can navigate from top level to lowest level  of elements makes it ideal in simplifying xml navigation. Once we click an element on the left side of element, the element or group is highlighted on the right pane. The bottom right pane show the contents of the group or element in tabular form. You better try this software out and you would understand why i fell in love with this tool the moment I downloaded it.

一个Java专业人员必须有的12个工具

Website: http://symbolclick.com/
License: Trial Version available
Pros: Simple, easy to understand, easy to master
Cons: Need to buy
Use for: Editing XML, Schema, JSON

3. SQL Developer

This is a must have on your software arsenal. Definitely one way or another, you need to connect to a database and issue sql statements. This tool might not have some fancy functionality like Toad but it gets the job done and its free. Always remember that in selecting a software to use, its not a general rule to select base on the available functionality but rather you must select which one can make you a better professional.

一个Java专业人员必须有的12个工具
Website: http://www.oracle.com/
License: Free
Pros: Can get the job done, from Oracle, java based, no need install just unzip it, available on multiple platform
Cons: Requires JDK
Use for: Database development and Management

 4. Jad

Not for everyday use but it’s always a nice to have JAD sitting on your PC ready when needed. As a quick background, Jad is use for decompiling java class. Well definitely not everyday you will need to decompile something. Based on my experience if I can’t figure out something, I would just fire jad commands and read the codes in plain text. It might be a little advance but this is how i do things. There is always a case that you will need to use a jar file that lacks documentation or somebody messed up in keeping the source code in inventory. I know, this will rarely happen but I tell you it is happening. I have decompiled a full Backoffice system before because I have to provide a patch and yet the source is nowhere to be found because the original vendor no longer around. That’s where i used JAD and got accustomed to it. For simplicity i will be showing the GUI version of jad instead of the core version.

一个Java专业人员必须有的12个工具

 

Website: http://jd.benow.ca/
License: Free
Pros: simple, zip installation, support multiple platform
Cons: None
Use for: Decompiling java class file

5. Eclipse

Who doesn’t love eclipse? Well some hardcore developer might answer “I don’t use that, notepad is the best”. All i can say is, “Ok use your notepad, I better use eclipse or else I might go crazy finding the missing closing tag”. I love eclipse, the navigation is so simple. There’s a lot of functionality is there, but i only used it for basic stuff. Some way back when I am still starting to learn java, I was hooked in using Netbeans. Sadly i bought a new laptop just to handle the resource hungry Netbeans. And the funny thing is, in corporate world there are no company using Netbeans rather Eclipse is a preferred choice as java IDE.

一个Java专业人员必须有的12个工具

 

Website: https://eclipse.org/
License: Free
Pros:  zip installation, support multiple platform, light weight
Cons: A lot of functionality available which you won’t be needing.
Use for: IDE for Java development

6.  keytool

A lot of people doesn’t know this piece of tool sitting on each and everyone’s machine. Yes, it is part of JDK. This is used for generating certificates and keystore. You must be having a challenging working environment if you are using this tool actively since it’s rarely being used not unless the environment that you are handling enterprise level applications.

一个Java专业人员必须有的12个工具

 

Website: http://www.oracle.com/
License: Free
Use for: Key and Certificate Management Tool

7. OpenSSL

Well my list will not be complete if I will not mention OpenSSL. It is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them. This is my weapon of choice when I am inside a unix box but I rather use keytool if I am on my windows machine.

Website: https://www.openssl.org
License: Free
Use for: Key and Certificate Management Tool

8. JConsole

You want to show something cool to your boss in debugging java performance problem? Use JConsole in tracing out performance metrics of a java program. Its a very nice tool to have and gives a complete profile on how well and how bad a java program runs. Do you know where to download it? Its right sitting on your JDK installation. Please be aware that for some out of the box java programs like TIBCO, there are settings to enable first on the application tra before the jconsole would be able to analyze your java application.
一个Java专业人员必须有的12个工具

 

Website: http://www.oracle.com/
License: Free
Use for: Java Program Profiling

9 . Putty

My long time favorite of all the ssh tools available. Modern ssh tools might be offering a lot of features but nothing beats the simplicity and effectiveness of Putty. For every company that I joined in, they have different tools for SSH connectivity, but I always prefer putty over those tools. How about you?

一个Java专业人员必须有的12个工具

 

Website: http://www.putty.org/
License: Free, Open source
Pros:  simple, no installation required
Use for: PuTTY is an SSH and telnet client

10. Xming

For x-window access, my weapon of choice is x-ming. Easy to use not unlike its expensive counterparts that has a lot of functionality and makes it very confusing like for example HummingBird Exceed. The exceed is high in features but its hard to understand not unlike X-ming wherein the setup is straightforward.

一个Java专业人员必须有的12个工具

 

Website: http://sourceforge.net
License: Free, Open source
Pros:  simple and efficient
Cons:  requires installation
Use for: x-window for windows