Tuesday, June 19, 2012

How to get RAM size using java?

package com.demo.memoryheap;

import java.lang.management.ManagementFactory;

/**
 * @author abdul
 *
 */
public class FreeMemoryUsingMxBean {

    /**
     * @param args
     */
    public static void main(String[] args) {
        com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
       
        System.out.println("Total Memory in MB: " + mxbean.getTotalPhysicalMemorySize()/(1024*1024));
       
        System.out.println("Free Memory in MB: " + mxbean.getFreePhysicalMemorySize()/(1024*1024));
    }
}

Note : If you get access restriction error while working on Eclipse , check this :
Access Restriction issue

Access restriction on class due to restriction on required library rt.jar for OperatingSystemMXBean ?

Its work for me :
  1. Go to the Build Path settings in the project properties.
  2. Remove the JRE System Library
  3. Add it back; Select "Add Library" and select the JRE System Library. The default worked for me

Wednesday, June 13, 2012

How to convert InputStream to String in Java?

/**
 *
 */
package convert.stream.to.string;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * @author abdul
 *
 */
public class StreamToString {

    /**
     * @param args
     */
    public static void main(String[] args) {
        StreamToString streamToString = new StreamToString();
     
        //intilize an InputStream
        InputStream is = new ByteArrayInputStream("file content:\nData1\nData2".getBytes());
     
        /*
         * Call the method to convert the stream to string
         */
        System.out.println(streamToString.convertStreamToString(is));
    }

    private String convertStreamToString(InputStream is) {
        /*
         * To convert the InputStream to String we use the BufferedReader.readLine()
         * method. We iterate until the BufferedReader return null which means
         * there's no more data to read. Each line will appended to a StringBuilder
         * and returned as String.
         */
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }
}



Output:
file content:
Data1
Data2



How to find exact version of Red Hat Linux


[root@localhost ]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.2 (Tikanga)


For others:

Slackware: /etc/slackware-version
Mandrake: /etc/mandrake-release
Red Hat: /etc/redhat-release
Fedora: /etc/fedora-release

Tuesday, June 12, 2012

How to configure session timeout for putty

Click on the upper left hand corner of your putty screen, then click on 'Change Settings', then 'Connection'. I have my 'keepalive' set to 300.
Now It will time out after 5 minutes.

How TOPT Works: Generating OTPs Without Internet Connection

Introduction Have you ever wondered how authentication apps like RSA Authenticator generate One-Time Passwords (OTPs) without requiring an i...