Một serializer / deserializer (SerDes) là một mạch tích hợp hoặc thiết bị được sử dụng trong truyền thông tốc độ cao để chuyển đổi giữa dữ liệu nối tiếp và giao diện song song theo cả hai hướng. Một SerDes được sử dụng trong một loạt các ứng dụng và công nghệ, nơi mà mục đích chính của nó là cung cấp truyền dữ liệu qua một dòng đơn hoặc khác biệt bằng cách giảm thiểu số lượng I / O pins và các kết nối. Nói tóm lại, nó chuyển đổi dữ liệu song song thành nối tiếp dữ liệu để họ có thể đi du lịch trên phương tiện truyền thông mà không hỗ trợ dữ liệu song song hoặc nó được sử dụng để tiết kiệm băng thông.
Xem thêm: Thuật ngữ công nghệ A-Z
Giải thích ý nghĩa
Một SerDes con chip tạo điều kiện cho việc truyền tải giữa hai điểm có sử dụng dữ liệu song song trên suối nối tiếp, giảm số lượng các đường dẫn dữ liệu cần thiết cho việc truyền tải. Điều này làm giảm số lượng yêu cầu chân kết nối, vì vậy dây và kết nối có thể được giữ nhỏ và mỏng. Về phía truyền, dữ liệu song song được chuyển đổi thành dữ liệu nối tiếp, trong khi đó ở phía bên nhận điều ngược lại sẽ xảy ra. Hầu hết các thiết bị SerDes có đủ năng lực hoạt động full-duplex, vì vậy chuyển đổi dữ liệu diễn ra trong cả hai hướng cùng một lúc. SerDes chip được sử dụng trong các bộ định tuyến không dây, hệ thống gigabit Ethernet, ứng dụng lưu trữ và hệ thống thông tin sợi quang.
What is the Serializer/Deserializer (SerDes)? - Definition
A serializer/deserializer (SerDes) is an integrated circuit or device used in high-speed communications for converting between serial data and parallel interfaces in both directions. A SerDes is used in a variety of applications and technologies, where its primary purpose is to provide data transmission over a single or differential line by minimizing the number of I/O pins and connections. In short, it converts parallel data into serial data so that they can travel over media that does not support parallel data or it is used in order to save bandwidth.
Understanding the Serializer/Deserializer (SerDes)
A SerDes chip facilitates the transmission between two points that use parallel data over serial streams, reducing the number of data paths required for the transmission. This lowers the number of required connecting pins, so wires and connectors can be kept small and thin. On the transmitter side, parallel data are converted to serial data, whereas on the receiver side the opposite happens. Most SerDes devices are fully capable of full-duplex operation, so conversion of data takes place in both directions simultaneously. SerDes chips are used in wireless routers, gigabit Ethernet systems, storage applications and fiber optic communication systems.
Thuật ngữ liên quan
- Serialization
- Modem
- Modulation
- Hacking Tool
- Geotagging
- Mosaic
- InfiniBand
- Snooping Protocol
- Botnet
- Net Send
Source: Serializer/Deserializer (SerDes) là gì? Technology Dictionary - Filegi - Techtopedia - Techterm
Tuần tự hoá trong java hay serialization trong java là một cơ chế để ghi trạng thái của một đối tượng vào một byte stream.
Nó chủ yếu được sử dụng trong các công nghệ Hibernate, RMI, JPA, EJB và JMS.
Hoạt động ngược lại của serialization được gọi là deserialization.
Ưu điểm của Serialization trong java
Nó chủ yếu được sử dụng để truyền trạng thái của đối tượng qua mạng (được biết đến như marshaling).
java.io.Serializable interface
Serializable là một interface (giao diện) đánh dấu, không có thuộc tính và phương thức bên trong. Nó được sử dụng để “đánh dấu” các lớp java để các đối tượng của các lớp này có thể nhận được khả năng nhất định. Cloneable và Remote cũng là những interface đánh dấu.
Nó phải được implements bởi lớp mà đối tượng của nó bạn muốn persist.
Lớp String và tất cả các lớp wrapper mặc định implements interface java.io.Serializable.
Hãy xem ví dụ dưới đây:
package com.gpcoder.bytestream; import java.io.Serializable; public class Student implements Serializable { private static final long serialVersionUID = 1427461703707854023L; private int id; private String name; public Student(int id, String name) { this.id = id; this.name = name; } }Trong ví dụ trên, lớp Student implements giao tiếp Serializable. Bây giờ các đối tượng của nó có thể được chuyển đổi thành stream.
Xem thêm bài viết trong java để hiểu rõ hơn về Serialization trong java.
Deserialization trong java
Deserialization là quá trình tái thiết lại các đối tượng từ trạng thái serialized. Đây là hoạt động ngược lại của serialization.
Xem thêm bài viết trong java để hiểu rõ hơn về Deserialization trong java.
Trong ví dụ đó, các bạn sẽ thấy được một Object có thể được lưu trực tiếp vào một file và có thể đọc từ file để có được một Object hoàn chỉnh như ban đầu chỉ với 2 phương thức đơn giản writeObject() và readObject(). Nếu không có serialization, chúng ta phải lưu từng field của đối tượng vào file như một plain text, sau đó để khôi phục lại giá trị ban đầu của đối tượng, chúng ta phải đọc dữ liệu từ file và tạo một object mới sau đó set giá trị cho từng field của object.
Java Serialization với thừa kế (Mối quan hệ IS-A)
Nếu một lớp implements giao tiếp Serializable thì tất cả các lớp con của nó cũng sẽ được serializable. Hãy xem ví dụ dưới đây:
Person.java
package com.gpcoder.serialize; import java.io.Serializable; class Person implements Serializable { private static final long serialVersionUID = -5917089857953402554L; private int id; private String name; Person(int id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + "]"; } }Engineer.java
package com.gpcoder.serialize; public class Engineer extends Person { private String certificate; public Engineer(int id, String name, String certificate) { super(id, name); this.certificate = certificate; } @Override public String toString() { return "Engineer [certificate=" + certificate + ", " + super.toString() + "]"; } }Ví dụ sử dụng ObjectOutputStream để ghi đối tượng engineer vào file
package com.gpcoder.serialize; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; public class SerializationISExample { public static void main(String args[]) throws Exception { ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("data/engineer.txt")); Engineer engineer = new Engineer(1, "Gp Coder", "Java"); oos.writeObject(engineer); oos.flush(); } catch (IOException ex) { ex.printStackTrace(); } finally { oos.close(); } System.out.println("success..."); } }Ví dụ sử dụng ObjectInputStream để đọc đối tượng engineer từ file
package com.gpcoder.serialize; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; public class DeserializationISExample { public static void main(String args[]) throws Exception { ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream("data/engineer.txt")); Engineer engineer = (Engineer) ois.readObject(); System.out.println(engineer); } catch (IOException ex) { ex.printStackTrace(); } finally { ois.close(); } } }Thực thi chương tình SerializationTransientExample, sau đó thực thi chương trình DeserializationTransientExample. Ta có kết quả như sau: