[Java] - Exception & Loging

December 16, 2017 |

Before Java SE 7 or 8, we don't have any way manage a resource object (BufferReader, FileReader,... ). We must manage them by manually. Sometime, we forget close a resource and make memory leak, low performance. In Java SE 7, 8, 9, we have a way manage them by automatically.

Overview
Within JVM has two types: Check and Uncheck.
- Check exception at compile time.
- Unchecked exception at runtime.
 Error exception cannot catch like: OutOfMemoryError,...


Statement:
    try {
                //body
            } catch (Exception ex) {
                // exception code
            } finally {
                // final code
      }



Handle UncatchException

======
private void start() {
        Thread.setDefaultUncaughtExceptionHandler((Thread t, Throwable e) -> {
            System.out.println("Woa! there was an exception thrown somewhere! " + t.getName() + ": " + e);
        });
        final Random random = new Random();
        for (int j = 0; j < 10; j++) {
            int divisor = random.nextInt(4);
            System.out.println("200 / " + divisor + " Is " + (200 / divisor));
        }
    }
======
    private void startForCurrentThread() {
        Thread.currentThread().setUncaughtExceptionHandler((Thread t, Throwable e) -> {
            System.out.println("In this thread " + t.getName() + " an exception was thrown " + e);
        });
        Thread someThread = new Thread(() -> {
            System.out.println(200 / 0);
        });
        someThread.setName("Some Unlucky Thread");
        someThread.start();
        System.out.println("In the main thread " + (200 / 0));
    }

I. try-with-resource statement
 try-with-resource statement

try (Resource resource 1;
      Resource resourcce 2) {
}

In Java SE 6 with Resource Management.
        // Java SE 6 or later
        BufferedReader bufferReader1 = null;
        try {
            bufferReader1 = new BufferedReader(new FileReader("Test.txt"));
            System.out.println(bufferReader1.readLine());
        } catch (Exception e) {
            // TODO: handle exception
        } finally {
            try {
                bufferReader1.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }


 In Java SE 7 or later with Resource Management.
         // Java SE 7 & 8
        try (BufferedReader bufferReader2 = new BufferedReader(new FileReader("Test.txt"))) {
            System.out.println(bufferReader2.readLine());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


II. Create a new Resource
 When you create a resource class that use to try-with-resource, those class must be implement close method  from java.lang.AutoCloseable .

Example:
ReadFile.java
package javaone.core.learning;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile implements AutoCloseable {
    private BufferedReader buff;
    private FileReader fileReader;

    public void printContentOfFile(String path) {
        try {
            fileReader = new FileReader(path);
            buff = new BufferedReader(fileReader);
            String line = buff.readLine();
            System.out.println(line);
            while (line != null) {
                System.out.println(line);
                line = buff.readLine(); 
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /** {@inheritDoc} */
    @Override
    public void close() throws Exception {
        buff.close();
        System.out.println("Close Read File");
    }
}

MainTest.java
public static void main(String[] args) {
         // test new Resource
        System.out.println("test new Resource");
        try (ReadFile readFile = new ReadFile();) {
            readFile.printContentOfFile("Test.txt");
        } catch (Exception e) {
            System.out.println();
        }
    }

Result:
test new Resource
Try With Resource line 1
Try With Resource line 1
Try With Resource line 2
Try With Resource line 3
Try With Resource line 4
Try With Resource line 5
Close Read File 


When the point jump out try-with-resource statement, the resource auto close ReadFile resource. We don't need to manually close resource.
Read more…

[Tips] - How to use jconsole tool.

December 03, 2017 |

jconsole help you monitor and manage Java applications.

Step 1: Type following the command line with administator.
jconsole

Step 2:  At New Connection -> choose Local Process or Remote Process

Overview Tab


Memory Tab
Thread Tab

Read more…

[English] - How use to V or V-ing

December 03, 2017 |
I. Gerund ( V-ing)

1. The subject of the sentence.
Example:
- Walking must carefully.

2. Complement of the verb
Example:

3. is Complement
Example:

4. after preposition.
 Example:

5. after some special verbs:
- admit (/əd'mit/ thừa nhận),
- avoid( /ə'vɔid/ tránh),
- delay ( /di'lei/),
- enjoy,
- excuse( /iks'kju:z/),
- consider ( /kən'sidə/),
- deny,
- finish,
- imagine,
- forgive,
- keep,
- mind,
- miss,
- postpone,
- practise,
- resist,
- risk,
- propose,
- resent,
- try,
(sau các động từ phía trên thì động từ sau nó phải Ving, để dễ nhớ cần phải hiểu ý nghĩa của từng từ vì các động từ phía trên cần một động từ khác bổ nghĩa cho nó.)

Example: I enjoy working here.

II. To V Infinitive

III. The verbs both To V-infintive, V-ing
1. Stop
- Stop +  V-ing: dừng hẳn một việc làm gì đó
Example:
I stop developing .Net programming language.

- Stop + to Vinfinitive : dừng làm một việc gì đó
Example:
I stop to work on Apache Server because it happened some errors.

2. Remember / forget / regret
- remember/ foget / regret + to + V:  nhớ/quên/tiếc sẽ phải làm (dùng ở hiện tại hoặc tương lai)
- remember / foget / regret + V-ing : nhớ/quên/tiếc đã làm (dùng ở quá khứ)

3. Try
- Try + to + V: cố gắn làm gì đó ~ attempt to
- Try + V-ing: thử làm gì đó

4. Prefer
- prefer v-ing to v-ing: nói chung chung
- prefer to + V + rather than V:

5. Mean
- mean to + V: có ý định làm gì
- mean + V-ing: có nghĩa là gì
 Example:
 I mean to deploy a website for client on sunday this week.
 That mean restarting  the server before Sunday this week.

6. Need
- Need to V: cần làm gì
- Need + V-ing: cần được làm gì (= need to be done): tương tự thể bị động

7. Used to
- Used to V-ing: đã từng lam gì trong quá khứ (bây giờ không làm nữa)
- Be/Get used to + V-ing: đã quen với làm gì (ở hiện tại)

Read more…

[Java Swing] - How to create a Menu Bar in Java UI.

November 29, 2017 |

Note: Some resources I get from Oracle: https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html

Before create a menu in Java UI, we need to know the menu component hierarchy as below:


We must be created three objects: JMenuBar, JMenuItem, JMenu.
This section I use WindowBuilder tool on Eclipse Market.My purpose is convenience on control UI but I think you should handle fundamental about Java UI before use tool.

I. Install WindowBuilder

1. Go to menu bar > Help > Eclipse Market
2. Search "WindowBuilder" keyword
3. Choose WindowBuilder x.x.x and install it.
4. Project > New > WindowBuilder > Swing Designer > Application Window

II. Examples About Menu on Java UI.

 1. Create simple menu

MenuOneDemo.java

package com.parentralcontrol.ui;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

/**
 * DESCRIPTION GOES HERE<br>
 * @author Tri Ho
 * @created Oct 28, 2017
 * @version $Revision$
 */
public class MenuOneDemo {

    private JFrame frmSimpleMenu;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MenuOneDemo window = new MenuOneDemo();
                    window.frmSimpleMenu.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public MenuOneDemo() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmSimpleMenu = new JFrame();
        frmSimpleMenu.setTitle("Simple Menu 1");
        frmSimpleMenu.setBounds(100, 100, 450, 300);
        frmSimpleMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frmSimpleMenu.getContentPane().setLayout(null);
       
        JPanel panel = new JPanel();
        panel.setBounds(0, 0, 434, 55);
        frmSimpleMenu.getContentPane().add(panel);
        panel.setLayout(null);
        

        //create a menu bar
        JMenuBar menuBar = new JMenuBar();
        menuBar.setBounds(0, 0, 97, 21);
        panel.add(menuBar);
        

        //create  main menu
        JMenu menu1 = new JMenu("Menu1");
        JMenu menu2 = new JMenu("Menu3");


        
        //add menu to menu bar
        menuBar.add(menu1);
        menuBar.add(menu2);
        

        // create menu item
        JMenuItem menuItem1 = new JMenuItem("Menu Item 1");
        JMenuItem menuItem2 = new JMenuItem("Menu Item 2");
        JMenuItem menuItem3 = new JMenuItem("Menu Item 3");
        JMenuItem menuItem4 = new JMenuItem("Menu Item 4");
       
        menu1.add(menuItem1);
        menu1.add(menuItem2);
        menu1.add(menuItem3);
        menu2.add(menuItem4);
    }
}

Results:



Read more…

[English] - Peppa Pig Season 3 Episodes 27 - 39 Compilation in English

November 09, 2017 |

Peppa Pig Season 3 Episodes 27 - 39 Compilation in English


I. Chapter 1 - Freddy Fox
New Words
1.hide and seek: trò chơi trốn tìm
2. fence /fens/ (n): hàng rào
3. bush /buʃ/ (n): bụi cây
4. sniffing  /snif/ (v): đánh hơi, hít...
5. biscuits /'biskit/ (n):   bánh qui
6. jam /dʤæm/ (n): mứt
7. jelly /'dʤeli/ (n): thạch

The sentences
1. What do I smell of ?
- You smell of toothpaste.
- You smell of we grouse and biscuit.

II. Chapter 2 - Whistling
New words
1. whistle /'wisl/ (n): sự huýt sáo,
2. wiggle /'wigl/ (v): lung lây, đưa ra đưa lại
3.
4.

The sentences
1.  What are you doing?
- I'm reading newspaper.
- I learning to whistle.
- I'm whistling.
2. Can you whistle yet?
- it's no.
- I'm never going to whistle ever.
3.You're making the funny sound.

III. Chapter 3 - Doctor Hamster's Tortoise
New Words
1. a vet /vet/ (n): bác sĩ thú y
2. scaly /'skeili/ (n): vảy
3. tongue /tʌɳ/ (n): lưỡi

The sentences.
1. He feels fluffy.
2. She's scaly like a dragon.
3. She has a very long tongue.

IV. Chapter 4 - Sun, Sea and Snow
New Words
1. grit /grit/ (v): rải

The sentences.
IV. Chapter 5 - Grandpa Pig's Computer
New Words
1. Mended (v) ~ repair

VI. Chapter 6 - Hospital
New Words
1. plaster cast (n): miếng thạch cao băng chân

The sentences.

Read more…

[Microsoft Office] - Tải Video Từ Youtube Và Chèn Vào Powpoint 2016

October 22, 2017 |

Microsoft Power Point 2016


Bài viết này chỉ cách bạn làm sao để tải một video trên Youtube và sau đó bạn chèn vào bài thuyết trình của mình để cho trở nên sinh động hơn.

I. Các tải một video trên Youtube về máy của mình.
Bước 1: Bạn truy cập vào trang: https://keepvid.com


Bước 2: Bạn vào Youtube (https://www.youtube.com/) để tìm kiếm một video mà bạn cần tải về

Bước 3: Bạn Copy địa chỉ URL của youtube và past vào mục nhập url của trang Keepvid. Sau đó bạn nhấn Download.

Bước 4: Sau khi chờ vài giây thì kết quả từ trang Keepvid sẽ hiện như sau:

Sau đó bạn nhấn vào nút Download để tải video về. Tùy theo bạn muốn chất lượng video như thế nào thì bạn chọn tùy mục tương ứng như Max 720p, 420p. Có những videos hỗ trợ lên đến Full HD 1080p.

Chú ý: Các bạn chỉ nên chọn các mục có Format MP4 để download về.

II. Cách chèn video vào Microsoft Powerpoint

      Có 2 loại để bạn chèn video đó là chèn video online và chèn video dạng offline (khi bạn có video sẵn).

Cách 1: Chèn Online Video (Với cách này bạn phải kết nối internet khi thuyết trình)
Bước 1: Từ thanh Menu Bar chọn Insert > Video > Video Online
Bước 2: Nếu bạn muốn chèn video từ nguồn Youtube bạn search videos. Kết quả sẽ hiện ra và bạn chọn video mà mình cần chèn vào. Nhấn Insert để chèn vào.

OneDrive - Personal: Chèn video từ OneDrive - lưu trữ trực tuyến do microsoft cung cấp giống như Google Drive, MediaFire,...
Youtube : Lấy video từ nguồn youtube.
From a Video Embed Code: thường thì các trang web video trực tuyến có một Embed Code (Mã Nhúng) cung cấp cho bạn để bạn sử dụng chèn vào các nguồn khác nhau.

Cách 2: Chèn Video Offline.
Bạn làm tư tượng cách 1. Bạn chọn Video on My PC... và sau đó đến nơi video mà bạn cần chèn vào trên máy.

Chúc các bạn làm thành công!
Read more…

[Java Design Pattern] - Abstract class

October 22, 2017 |





Abstract class

An abstract class is a class that is declared abstract—it may or may not include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed.

abstract void moveTo(double deltaX, double deltaY);

Note: If a classes included a abstract method, the class itself must be declared abstract, as in:

public abstract class GraphicObject {
   // declare fields
   // declare nonabstract methods
   abstract void draw();
}



Example: 
 
Bank
package com.designpattern.learn.section3.chapter4.pratice1;

import java.math.BigDecimal;


public abstract class Bank {

 private BigDecimal amount;

 public Bank(BigDecimal initializeAmount) {
  this.amount = initializeAmount;
 }

 public void deposit(BigDecimal drawAmount) {
  this.amount = this.amount.subtract(drawAmount);
 }

 public void setDeposit(BigDecimal addDeposit) {
  this.amount = this.amount.add(addDeposit);
 }

 public BigDecimal getDeposit() {
  return this.amount;
 }

 public void balanceEnquires() {
  System.out.println("Your deposit: " + this.amount);
 }

 public abstract void checking();

 public abstract void chargeServiceFee(BigDecimal giveInterest);

 public abstract void giveInterest(BigDecimal amount);

}
 

SavingAccount

package com.designpattern.learn.section3.chapter4.pratice1;

import java.math.BigDecimal;


public class SavingAccount extends Bank {

 /**
  * Constructs a <code>SavingAccount</code>.
  * 
  * @param initializeAmount
  */
 public SavingAccount(BigDecimal initializeAmount) {
  super(initializeAmount);
 }

 /** {@inheritDoc} */
 @Override
 public void checking() {
  System.out.println("Saving Account don't checking fee.");
 }

 /** {@inheritDoc} */
 @Override
 public void chargeServiceFee(BigDecimal giveInterest) {
  System.out.println("Saving Account don't charge Service Fee.");
 }

 /** {@inheritDoc} */
 @Override
 public void giveInterest(BigDecimal amount) {
  System.out.println("You give interest: " + amount);
  setDeposit(getDeposit().add(amount));

  System.out.println("Your deposit change:" + getDeposit());
  chargeServiceFee(amount);
 }

}

CheckingAccount

package com.designpattern.learn.section3.chapter4.pratice1;

import java.math.BigDecimal;

public class CheckingAccount extends Bank {

 // assume 5% fee of depositAmount
 private static final BigDecimal FIVE_SERVICE_FEE = new BigDecimal(0.05);

 /**
  * Constructs a <code>CheckingAccount</code>.
  * 
  * @param initializeAmount
  */
 public CheckingAccount(BigDecimal initializeAmount) {
  super(initializeAmount);
 }

 /** {@inheritDoc} */
 @Override
 public void checking() {
  balanceEnquires();
 }

 /** {@inheritDoc} */
 @Override
 public void chargeServiceFee(BigDecimal giveInterest) {
  // calculator amount of service fee.
  BigDecimal serviceFee = BigDecimal.ZERO;
  serviceFee = giveInterest.multiply(FIVE_SERVICE_FEE);

  // subtract fee into deposit.
  System.out.println("Service Fee: " + serviceFee);
  setDeposit(getDeposit().subtract(serviceFee));

 }

 /** {@inheritDoc} */
 @Override
 public void giveInterest(BigDecimal amount) {
  System.out.println("Your account don't use Give Interest.");
 }

} 
 
Read more…

[Database] - JOIN Table

October 12, 2017 |
We can JOIN table so that select records that having matching value in both tables.We can use so that replaced FROM statement.
It has four join type: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
INNER JOIN









Get the common element of two table. The same with many tables.


LEFT JOIN









Get all elements of table 1 and matched the element of table 2.

RIGHT JOIN

 Get matched elements of table 1 and all elements of table 2.

FULL JOIN

Get all elements of 2 tables when there are matched both tables.

Syntax:
SELECT column1, column2, …
FROM table 1
INNER JOIN/LEFT JOIN/RIGHT JOIN/ FULL JOIN table2 ON table1.column1 = table2.column1 AND ….

is updating...
Read more…

[Tips] Eclipse A->Z

October 08, 2017 |

1. How to show perspective in eclipse
In someday, Your eclipse disappear Perspective and take time find, show them again as Show Whitespace Character, Web browser,.. . This section how to show/disable Perspective in Eclipse.

1. Go to Menu bar > Window > Perspective > Customize Perspective…
2. Customize Perspective window > choose Tool bar visibility > choose element which you want to display and then click OK button.
















Note: Click “Filter by action set” you will find perspective elements which you expected, is easier.
3. If the perspective isn’t set Action Availability, click “Action Set Avaikability” tab and choose perspective you want to show.














2. Update Eclipse new versions

Step 1: Window > Reference > Install/Updates > Add

Name: Eclipse 2020 -03
Location: https://download.eclipse.org/releases/2020-03

Eclipse releases: https://download.eclipse.org/releases/
Step 2:  Help > Check for update
 
Read more…

[Java Design Pattern] - Interface

October 08, 2017 |




Interface


"An interface is a reference type in Java. It is similar to class. It is a collection of abstract methods. A class implements an interface, thereby inheriting the abstract methods of the interface." - tutorialspoint

Read more…

[Download] - Softwares

October 04, 2017 |

SOFTWARES
1. Microsoft Office 2016:
http://www.mediafire.com/file/apapv7hj0dsukro/Microsoft_Office_2016.iso/file
2. UtraISO
http://www.mediafire.com/file/w84qys284d0ykeg/Vforum.vn__uiso9_pe.zip/file
3. Foxit Reader
http://www.mediafire.com/file/4185q92ce9er52w/FoxitReader901_enu_Setup_Prom.exe/file
4.IDM Final
http://www.mediafire.com/file/9n9lkrz2ic6cslt/6.15_IDM_Final.rar/file
5. Crack Win 7
http://www.mediafire.com/file/7k8zn84u68zoikz/Crack_Win_7.rar/file
6. PIXresier
http://www.mediafire.com/file/6g238g6v0548z28/PIXresizer.exe/file
7. Smart Defrag Portable
http://www.mediafire.com/file/xndu0e5912reaam/SmartDefragPortable.rar/file
8. Unikey
 http://www.mediafire.com/file/ymt01xol3z4yi2f/Unikey.rar/file
9. USB Show
http://www.mediafire.com/file/q0mj3ss5ttrc2ix/USB_Show.rar/file

Read more…