Thứ Hai, 14 tháng 1, 2008

Toán tử (Operator) trong java

Bây giờ bạn sẽ biết được cách khai báo và khởi tạo các biến, làm thế nào để làm điều gì đó với chúng. Việc học các toán tử trong Java có một nơi tốt để bắt đầu. Các toán tử là những biểu tượng đặc biệt để thực hiện các hoạt động cụ thể về một, hai, hoặc ba toán hạng, và sau đó trả lại kết quả.

Khi chúng ta tìm hiểu những toán tử các các ngôn ngữ lập trình Java, nó có thể hữu ích cho bạn biết trước thời gian trong đó toán tử có quyền ưu tiên cao nhất. Những toán tử trong bảng sau đây có liệt kê theo thứ tự ưu tiên. Đến gần hơn với phía trên các bảng toán tử là sẽ xuất hiện, cao hơn nó được ưu tiên. Toán tử với ưu tiên cao hơn được đánh giá trước khi toán tử với quyền ưu tiên tương đối thấp hơn. Toán tử trên cùng một dòng có ưu tiên bằng nhau. Khi toán tử ưu tiên bằng nhau xuất hiện trong cùng một biểu thức, nguyên tắc là phải điều chỉnh trong đó có đánh giá đầu tiên. Tất cả các toán tử trừ các toán tử gán có đánh giá từ trái sang phải; toán tử chuyển nhượng được đánh giá phải sang trái.

Operators                                        Precedence
postfix                                               expr++ expr--
unary                                                 ++expr --expr +expr -expr ~ !
multiplicative                                      * / %
additive                                              + -
shift                                                   << >> >>>
relational                                           < > <= >= instanceof
equality                                             == !=
bitwise AND                                    &
bitwise exclusive OR                        ^
bitwise inclusive OR                         |
logical AND                                    &&
logical OR                                       ||
ternary                                            ? :
assignment                                      = += -= *= /= %= &= ^= |= <<= >>= >>>=

Nói chung, mục đích lập trình, một số toán tử có xu hướng xuất hiện thường xuyên hơn hơn những loại khác, ví dụ, các toán tử gán "=" có phổ biến hơn so với toán tử chuyển đổi bên phải ">>>". unsigned Với ý nghĩ đó, các cuộc thảo luận sau đây tập trung đầu tiên của toán tử mà bạn đang có nhiều khả năng sử dụng một cách thường xuyên, và kết thúc tập trung vào những người ít phổ biến. Mỗi cuộc thảo luận được đi kèm với mã mẫu mà bạn có có thể biên dịch và chạy. Nghiên cứu đầu ra nó sẽ được giúp đỡ củng cố những gì bạn vừa biết được.

Chủ Nhật, 13 tháng 1, 2008

Arrays trong java

Mảng là một đối tượng container chứa một số cố định các giá trị của một kiểu duy nhất. Chiều dài của một mảng được thiết lập khi mảng được tạo ra. Sau khi tạo ra, chiều dài của nó được cố định. Bạn đã nhìn thấy một ví dụ về mảng đã có, trong phương pháp chính của ứng dụng "Xin chào thế giới!". Phần này bàn về các mảng chi tiết hơn.

Mỗi mục trong một mảng được gọi là một yếu tố, và mỗi phần tử được truy cập bằng chỉ số của nó. Như trong hình minh họa ở trên, đánh số bắt đầu bằng 0. Yếu tố thứ 9, ví dụ, do đó sẽ được truy cập tại chỉ số 8.


Chương trình sau đây, ArrayDemo, tạo ra một mảng các số nguyên, đặt một số giá trị trong nó, và in mỗi giá trị đầu ra.

class ArrayDemo {
      public static void main(String[] args) {
            int[] anArray; // declares an array of integers
            anArray = new int[10]; // allocates memory for 10 integers

            anArray[0] = 100; // initialize first element
            anArray[1] = 200; // initialize second element
            anArray[2] = 300; // etc.
            anArray[3] = 400;
            anArray[4] = 500;
            anArray[5] = 600;
            anArray[6] = 700;
            anArray[7] = 800;
            anArray[8] = 900;
            anArray[9] = 1000;

            System.out.println("Element at index 0: " + anArray[0]);
            System.out.println("Element at index 1: " + anArray[1]);
            System.out.println("Element at index 2: " + anArray[2]);
            System.out.println("Element at index 3: " + anArray[3]);
            System.out.println("Element at index 4: " + anArray[4]);
            System.out.println("Element at index 5: " + anArray[5]);
            System.out.println("Element at index 6: " + anArray[6]);
            System.out.println("Element at index 7: " + anArray[7]);
            System.out.println("Element at index 8: " + anArray[8]);
            System.out.println("Element at index 9: " + anArray[9]);
     }
}
Kết quả của chương trình này là:
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300
Element at index 3: 400
Element at index 4: 500
Element at index 5: 600
Element at index 6: 700
Element at index 7: 800
Element at index 8: 900
Element at index 9: 1000

Trong một tình huống lập trình thực tế, bạn có thể muốn sử dụng một trong các vòng lặp hỗ trợ xây dựng cho chuyển đổi qua các mỗi phần tử của mảng, thay vì viết từng dòng riêng lẻ như trên. Tuy nhiên, ví dụ đây minh họa rõ cú pháp của mảng. Bạn sẽ tìm hiểu về các vòng lặp khác nhau xây dựng (for, while, và do-while) trong phần Control Flow.

Khai báo một biến cho tham khảo một Array :
Những chương trình trên anArray tuyên bố với các dòng mã sau đây:

int [] anArray; / / khai báo một mảng các số nguyên

Giống như khai báo cho các biến của kiểu khác, một khái báo mảng có hai thành phần: mảng của kiểu và tên của mảng. kiểu của một mảng được viết như kiểu [], trong đó type là kiểu dữ liệu chứa các yếu tố, các dấu ngoặc vuông có ký hiệu đặc biệt chỉ ra rằng biến này giữ một mảng. Kích thước của mảng không phải là một phần của kiểu nó (trong đó có lý do tại sao các ngoặc là trống rỗng). Tên của một mảng có thể là bất cứ điều gì bạn muốn, miễn là nó tuân theo các quy tắc và quy ước như trước đây thảo luận trong phần đặt tên. Như với các biến của các loại khác, việc khai báo không thực sự tạo ra một mảng - nó chỉ đơn giản cho trình biên dịch rằng biến này sẽ được giữ một mảng của các loại chỉ định.

Tương tự, bạn có thể khai báo mảng của các kiểu khác:

byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;
float[] anArrayOfFloats;
double[] anArrayOfDoubles;
boolean[] anArrayOfBooleans;
char[] anArrayOfChars;
String[] anArrayOfStrings;

Bạn cũng có thể đặt dấu ngoặc vuông sau tên của mảng:

float anArrayOfFloats[]; // mẫu đây không được khuyến khích

Creating, Initializing, và Accessing một Array

Một cách để cho tạo ra một mảng với các toán tử new. Những câu lệnh tiếp theo trong chương trình ArrayDemo phân bổ một mảng với bộ nhớ đủ cho các phần tử số nguyên mười và gán mảng vào biến anArray.

anArray = new int [10]; //tạo ra một mảng các số nguyên
Nếu khai báo như ví dụ bên dới trình biên dịch sẽ in một lỗi, và biên dịch sẽ thất bại:

ArrayDemo.java: 4: anArray biến có thể không có được khởi tạo.

Các dòng tiếp theo gán giá trị cho mỗi phần tử của mảng:

anArray [0] = 100; //khởi tạo phần tử đầu tiên
anArray [1] = 200; //khởi tạo phần tử thứ hai
anArray [2] = 300; //vv

Mỗi phần tử mảng có truy cập bằng chỉ số nó:

System.out.println ("Element 1 lúc chỉ số 0:" + anArray [0]);
System.out.println ("Element 2 tại chỉ số 1:"+ anArray [1]);
System.out.println ("Element 3 lúc chỉ số 2:"+ anArray [2]);

Ngoài ra, bạn có thể sử dụng các cú pháp tắt để tạo ra và khởi tạo một mảng:

int [] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};

Ở đây, chiều dài của mảng được xác định bởi số lượng các giá trị được cung cấp giữa {và}.

Bạn cũng có thể khai báo một mảng trong mảng (cũng được biết đến như một mảng đa chiều) bằng cách sử dụng hai hay nhiều bộ dấu ngoặc vuông, ví dụ như String[][] names. Mỗi phần tử, do đó, phải được truy cập bởi một số tương ứng với các giá trị index.

Trong ngôn ngữ lập trình Java, một mảng đa chiều có chỉ đơn giản là một mảng mà các thành phần được tự mảng. Điều này là không giống như các mảng trong C hoặc Fortran. Một hệ quả của việc này là các hàng có phép thay đổi chiều dài, như trong các chương trình MultiDimArrayDemo sau đây:

class MultiDimArrayDemo {
     public static void main(String[] args) {
          String[][] names = {{"Mr. ", "Mrs. ", "Ms. "}, {"Smith", "Jones"}};
          System.out.println(names[0][0] + names[1][0]); //Mr. Smith
          System.out.println(names[0][2] + names[1][1]); //Ms. Jones
     }
}

Kết quả của chương trình này là:
Mr. Smith
Ms. Jones

Cuối cùng, bạn có thể sử dụng tích hợp để xác định kích thước của mảng bất kỳ.

System.out.println (anArray.length);

sẽ được in kích thước của mảng cho đầu ra

Những class hệ thống đã có một phương pháp arraycopy mà bạn có thể sử dụng hiệu quả các sao chép dữ liệu từ một mảng vào mãng khác:

public static void arraycopy(Object src, int srcPos, Object dest,
int destPos,
int length)

Hai tham số đối tượng chỉ định từ mảng để sao chép và đến mảng sao chép. Ba tham số int chỉ định các vị trí bắt đầu trong mảng nguồn, và các vị trí bắt đầu trong mảng đích, và số lượng các phần tử của mảng để sao chép.

Chương trình sau đây, ArrayCopyDemo, khai báo một loạt các phần tử kiểu char, lỗi chính tả từ "decaffeinated". Nó sử dụng arraycopy để sao chép một dãy các thành phần mảng thành một mảng thứ hai:

class ArrayCopyDemo {
      public static void main(String[] args) {
           char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e','i', 'n', 'a', 't', 'e', 'd' };
           char[] copyTo = new char[7];
           System.arraycopy(copyFrom, 2, copyTo, 0, 7);
           System.out.println(new String(copyTo));
     }
}
Kết quả của chương trình này là: caffein

DangTrung.

Thứ Bảy, 12 tháng 1, 2008

Primitive Data Types

Các ngôn ngữ lập trình Java là statically-typed, có nghĩa là tất cả các biến đầu tiên phải được khai báo trước khi chúng có thể được sử dụng. Điều này bao gồm việc nêu rõ kiểu của biến và tên, như bạn đã thấy:

int gear = 1;

Thực hiện như vậy cho chương trình của bạn là là một lĩnh vực mang tên "gear" tồn tại, tổ chức dữ liệu số, và có một giá trị ban đầu của "1 ". Kiểu dữ liệu của một biến xác định các giá trị nó có thể chứa, cộng với các hoạt động có thể được thực hiện trên đó. Ngoài int, các ngôn ngữ lập trình Java hỗ trợ bảy loại dữ liệu khác nguyên thủy. Một loại nguyên thủy được định nghĩa trước bởi ngôn ngữ và được đặt tên theo là một từ khoá được bảo lưu. Giá trị Primitive không trạng thái chia sẻ với các giá trị khác primitive. Tám dữ liệu nguyên gốc được hỗ trợ bởi các ngôn ngữ lập trình Java là:

byte: là một kiểu dữ liệu 8-bit và bổ sung hai của số nguyên. Nó có một giá trị tối thiểu là -128 và giá trị tối đa 127. Các kiểu dữ liệu byte có thể hữu ích để tiết kiệm bộ nhớ trong mảng lớn, nơi mà thực sự việc tiết kiệm bộ nhớ. Họ cũng có thể được sử dụng thay cho int nơi giới hạn của họ giúp đỡ để làm rõ mã của bạn, một thực tế là phạm vi của biến là giới hạn có thể dùng như một dạng tài liệu.

short: Là kiểu dữ liệu ngắn gọn 16-bit. Nó có một giá trị tối thiểu của -32.768 và giá trị tối đa 32767. Cũng như các byte, các nguyên tắc áp dụng: bạn có có thể sử dụng một đoạn ngắn với tiết kiệm bộ nhớ trong mảng lớn, trong trường hợp tiết kiệm bộ nhớ thực sự là vấn đề.

int: Là kiểu dữ liệu 32-bit. Nó có một giá trị tối thiểu -2147483648 và giá trị tối đa 2147483647. Đối với các giá trị tích phân, loại dữ liệu thường là lựa chọn mặc định trừ khi có một lý do khác với lựa chọn khác. Kiểu dữ liệu này rất có thể sẽ đủ rộng để cho các số chương trình của bạn sử dụng, nhưng nếu bạn cần là một phạm vi rộng hơn các giá trị, bạn thay thế để sử dụng.

long : Là kiểu dữ liệu 64-bit. Nó có một giá trị tối thiểu của -9.223.372.036.854.775.808 và giá trị tối đa 9223372036854775807. Sử dụng kiểu dữ liệu khi bạn cần một loạt các giá trị rộng lớn so với những người cung cấp bằng kiểu int.

float : Là kiểu dữ liệu đơn lẻ có độ chính xác 32-bit. Phạm vi của nó giá trị có nằm ngoài phạm vi của cuộc thảo luận này. Như với các khuyến nghị cho các byte và Short. Kiểu dữ liệu này không bao giờ được sử dụng cho các giá trị chính xác, chẳng hạn như tiền tệ. Tôi cho rằng, bạn sẽ cần sử dụng với lớp java.math.BigDecimal thay thế. Số lượng và Strings bao gồm BigDecimal và các class hữu ích được cung cấp bởi các nền tảng Java.

double :Làkiểu dữ liệu đúp có độ chính xác 64-bit. Đối với các giá trị thập phân, loại dữ liệu thường là lựa chọn mặc định. Như đã đề cập ở trên, kiểu dữ liệu này không bao giờ được sử dụng cho các giá trị chính xác, chẳng hạn như tiền tệ.

boolean: Những kiểu dữ liệu boolean chỉ có hai giá trị có thể: true và false. Sử dụng kiểu dữ liệu cho cờ để theo dõi điều kiện đúng/sai. Kiểu dữ liệu này đại diện cho một bit.

char: Những kiểu dữ liệu char 16-bit ký tự Unicode duy nhất. Nó có một giá trị tối thiểu là '\u0000' (hoặc 0) và một giá trị tối đa là '\uffff' (hoặc 65.535).

Ngoài tám dữ liệu nguyên gốc được liệt kê ở trên, ngôn ngữ lập trình Java cũng cung cấp hỗ trợ đặc biệt cho các chuỗi ký tự thông qua các lớp java.lang.String. Kèm theo chuỗi ký tự của bạn trong dấu ngoặc đúp sẽ tự động tạo một đối tượng String mới, ví dụ, String s = "này là một chuỗi";. Chuỗi các đối tượng là không thay đổi, có nghĩa là một khi tạo ra, giá trị của họ không thể thay đổi. Lớp String có kỹ thuật không phải một kiểu dữ liệu primitive, nhưng xem xét hỗ trợ đặc biệt dành cho nó bằng ngôn ngữ, bạn có thể sẽ có xu hướng nghĩ về nó như vậy. Bạn sẽ tìm hiểu thêm về lớp String trong Wikipedia Data Objects.

Giá trị mặc định
Nó không phải luôn luôn cần thiết với gán một giá trị khi trường được công bố. Những lĩnh vực được tuyên bố nhưng không được khởi tạo sẽ được đặt mặc định hợp lý bằng trình biên dịch. Nói chung, đây sẽ được mặc định bằng không hoặc vô giá trị, tùy thuộc vào loại dữ liệu. Dựa trên các giá trị mặc định như vậy, phong cách tuy nhiên, thường được coi là chương trình xấu.

Những biểu đồ sau đây tóm tắt các giá trị mặc định cho các kiểu dữ liệu ở trên.

Data Type                             Default Value (for fields)
byte                                                      0
short                                                     0
int                                                         0
long                                                      0L
float                                                      0.0f
double                                                  0.0d
char                                                      '\u0000'
String (or any object)                          null
boolean                                                false

Các biến local có một chút khác nhau, trình biên dịch không bao giờ gán một giá trị mặc định cho một biến local khi chưa được khởi tạo. Nếu bạn không thể khởi tạo biến local của bạn, nơi nó có khai báo, đảm bảo rằng nó một giá trị trước khi bạn cố gắng sử dụng nó. Truy cập vào một biến local khi chưa được khởi tạo sẽ được gây ra một lỗi trong thời gian biên dịch.

Literals

Bạn có thể đã nhận thấy rằng các từ khoá mới không được sử dụng khi khởi tạo một biến của một kiểu primitive. Các loại dữ liệu Primitive có loại đặc biệt được xây dựng trong ngôn ngữ, chúng không phải là đối tượng được tạo ra từ một lớp. Chữ A có mã nguồn đại diện của một giá trị cố định; literals có đại diện trực tiếp trong mã của bạn mà không cần tính toán. Như hình dưới đây, nó có thể chỉ định một chữ cho một biến của một kiểu primitive:

boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000; 

Các kiểu nguyên (byte, short, int, và dài) có thể được thể hiện bằng cách sử dụng số thập phân, bát phân, hoặc các hệ thống số thập lục phân. Thập phân có hệ thống số bạn đã sử dụng hàng ngày, nó dựa trên 10 chữ số, đánh số từ 0 đến 9. Hệ thống số bát phân có cơ sở 8, bao gồm các chữ số 0 đến 7. Hệ thống thập lục phân có căn cứ 16, có chữ số là những con số 0 đến 9 và các chữ cái từ A đến F. Đối với đa năng lập trình, hệ thống thập phân có thể sẽ là hệ thống chỉ số mà bạn từng sử dụng. Tuy nhiên, nếu bạn cần bát phân hay thập lục phân, ví dụ sau đây cho thấy cú pháp chính xác. Những tiền tố 0 chỉ bát phân, trong khi chỉ 0x thập lục phân.

int decVal = 26; // The number 26, in decimal
int octVal = 032; // The number 26, in octal
int hexVal = 0x1a; // The number 26, in hexadecimal

Các kiểu float (float và double) cũng có có thể được thể hiện bằng cách sử dụng điện hoặc điện tử (đối với ký hiệu khoa học), F hoặc f (32-bit chữ float) và D hoặc d (64-bit double literal, đây là mặc định và bằng quy ước được bỏ qua).

double d1 = 123.4;
double d2 = 1.234e2; // same value as d1, but in scientific notation
float f1 = 123.4f;

Literals các loại kiểu char và String có thể chứa bất kỳ Unicode (UTF-16) ký tự. Nếu trình biên tập của bạn và hệ thống tập tin cho phép nó, bạn có thể sử dụng các kí tự này trực tiếp trong mã của bạn. Nếu không, bạn có thể sử dụng một "escape Unicode" chẳng hạn như '\ u0108' (vốn C với circumflex), hoặc "S u00ED se \ \ u00F1or" (Sí Sir tiếng Tây Ban Nha). Luôn luôn sử dụng 'một dấu ngoặc kép "cho literals char và" dấu ngoặc kép "cho literals String. Trình tự Unicode thoát có thể được sử dụng ở nơi khác trong một chương trình (chẳng hạn như trong tên trường, ví dụ), không chỉ ở literals char hoặc String.

Những ngôn ngữ lập trình Java cũng hỗ trợ một dãy thoát đặc biệt cho các chữ số và ký tự String: \b (backspace), \t (tab), \n (line feed), \f (form feed), \r (carriage return), \" (double quote), \' (single quote), và \\ (backslash)..

Có còn một null đặc biệt literal có thể được sử dụng như một giá trị cho bất kỳ kiểu tài liệu tham khảo. null có thể được chỉ định cho biến bất kỳ, trừ các biến của các loại primitive. Có ít bạn có thể làm với một giá trị null ngoài thử nghiệm cho sự hiện diện của nó. Vì vậy, vô thường được sử dụng trong các chương trình như là một dấu hiệu để cho biết rằng một số đối tượng có không có.

Cuối cùng, có cũng là một dạng đặc biệt của literal gọi là một lớp học literal, được hình thành bằng cách lấy một tên kiểu và phụ thêm "lớp.", ví dụ, String.class. Điều này nói đến đối tượng (của kiểu Class) đại diện cho kiểu chính nó.

DangTrung.

Thứ Sáu, 11 tháng 1, 2008

Những kỹ thuật cộng nghệ trong Java

Java SE : Java Platform, Standard Edition (Java SE) cho phép bạn phát triển và triển khai các ứng dụng Java trên máy tính để bàn và máy chủ, cũng như là ngày nay đòi hỏi Embedded và Real-Time môi trường.

Java for Business : Java cho doanh nghiệp là một mô hình đăng ký sản phẩm được thiết kế để tăng hơn gấp đôi thời gian hỗ trợ của Oracle cho phát hành, cung cấp truy cập nhanh hơn để cập nhật công nghệ và triển khai cung cấp các tính năng doanh nghiệp cho khách hàng sử dụng công nghệ Java SE.

Java Embedded : Sử dụng Công nghệ Java Embedded cho phép bạn để phát triển các ứng dụng cao, chức năng, đáng tin cậy, di động và bảo mật cho ngày hôm nay mạnh hơn các hệ thống nhúng. Oracle cung cấp đầy đủ các sản phẩm, dịch vụ và hỗ trợ mà làm cho nó dễ dàng cho bạn với phát triển sử dụng Java Công nghệ trong dự án của bạn.

Java EE : Java Platform, Enterprise Edition (Java EE) 6 là chuẩn công nghiệp cho máy tính doanh nghiệp Java. Tận dụng những, mới nhẹ Java EE 6 Web Profile cho tạo ra các ứng dụng web thế hệ mới, và sức mạnh đầy đủ của nền tảng Java 6 EE cho các ứng dụng doanh nghiệp. Các nhà phát triển sẽ được hưởng lợi từ cải thiện năng suất với các chú thích nhiều hơn, POJOs nhiều hơn, đóng gói đơn giản, và ít cấu hình XML.

Java ME : Java Platform, Micro Edition (Java ME) cung cấp một môi trường, mạnh mẽ linh hoạt cho các ứng dụng chạy trên điện thoại di động và các thiết bị nhúng: điện thoại di động, trợ lý kỹ thuật số cá nhân (PDA), hộp set-top truyền hình, và máy in. Java ME bao gồm giao diện người dùng linh hoạt, bảo mật mạnh mẽ, tích hợp giao thức mạng, hỗ trợ và cho các ứng dụng mạng và diễn đàn có thể được tải tự động. Ứng dụng dựa trên Java ME có trên nhiều thiết bị di động, nhưng vẫn tận dụng bản năng của mỗi thiết bị.

JavaFX Technology : Xây dựng trên nền tảng Java, JavaFX cung cấp một kết hợp hấp dẫn của các mặt khắp nơi, diễn cảm, khả năng và hiệu suất. JavaFX SDK có các thiết lập cần thiết của các công nghệ, công cụ và nguồn lực cần thiết cho phát triển và thiết kế cho tạo ra và triển khai các nội dung diễn cảm và mạnh mẽ trên trình duyệt, máy tính để bàn, TV, điện thoại di động và các thiết bị kết nối khác.

Java DB : DB được phân phối Java của Sun hỗ trợ của mã nguồn mở Apache Derby cơ sở dữ liệu 100% công nghệ Java. Nó hoàn toàn được transactional, bảo mật, dễ sử dụng, tiêu chuẩn dựa trên SQL, JDBC API, và Java EE nhưng vẫn nhỏ, chỉ 2,5 MB.

Java Card Technology : Card công nghệ Java cung cấp một môi trường bảo mật cho các ứng dụng chạy trên thẻ thông minh và các thiết bị khác với bộ nhớ rất hạn chế và khả năng xử lý. Nhiều ứng dụng có thể được triển khai trên một thẻ duy nhất, và những người mới có thể được thêm vào nó, ngay cả sau khi đã được cấp cho người dùng cuối. Ứng dụng viết bằng ngôn ngữ lập trình Java có thể được thực hiện an toàn trên các thẻ từ nhà cung cấp khác nhau

Java TV : java TV đề cập cho JSR-927, các Java Community Process (JCP) đặc điểm kỹ thuật cung cấp API cho các khả năng kỹ thuật số TV-liên quan cho các hộp set-top, Blu-ray, và các phương tiện truyền thông kỹ thuật số thiết bị khác. Java truyền hình là một gói tùy chọn mà nằm trên đỉnh cấu hình thiết bị kết nối, cơ sở hồ sơ, và cá nhân Cơ sở Profile (CDC / FP và PBP).

DangTrung

Thứ Năm, 10 tháng 1, 2008

Tìm hiểu về Java

Java (đọc như "Gia-va") là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như Python, Perl, PHP,...
Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn.

Lịch sử

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay cho C++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C. Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. 

Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác. Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS.

Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Sun quản lý). Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm ông James Gosling, một phần của Dự án Xanh(Green Project). Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java.

Java được sử dụng chủ yếu trên môi trường mạng, internet.subby.

Phiên bản

Các phiên bản Java đã phát hành:
  • JDK 1.1.4 (Sparkler) 12 tháng 9, 1997
    • JDK 1.1.5 (Pumpkin) 3 tháng 12, 1997
    • JDK 1.1.6 (Abigail) 24 tháng 4, 1998
    • JDK 1.1.7 (Brutus) 28 tháng 9, 1998
    • JDK 1.1.8 (Chelsea) 8 tháng 4, 1999
  • J2SE 1.2 (Playground) 4 tháng 12, 1998
    • J2SE 1.2.1 (none) 30 tháng 3, 1999
    • J2SE 1.2.2 (Cricket) 8 tháng 7, 1999
  • J2SE 1.3 (Kestrel) 8 tháng 5, 2000
    • J2SE 1.3.1 (Ladybird) 17 tháng 5, 2001
  • J2SE 1.4.0 (Merlin) 13 tháng 2, 2002
    • J2SE 1.4.1 (Hopper) 16 tháng 9, 2002
    • J2SE 1.4.2 (Mantis) 26 tháng 6, 2003
  • J2SE 5 (1.5.0) (Tiger) 29 tháng 9, 2004
  • Java SE 6 (còn gọi là Mustang), được công bố 11 tháng 12 năm 2006, thông tin chính tại http://java.sun.com/javase/6/ . Các bản cập nhật 2 và 3 được đưa ra vào năm 2007, bản cập nhật 4 đưa ra tháng 1 năm 2008.
  • JDK 6.17,2010
Phiên bản dự kiến tiếp theo:
  • Java SE 7 (còn gọi là Dolphin), được bắt đầu từ tháng 8 năm 2006 và dự kiến công bố vào năm 2008.
DangTrung.