自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java Socket通信的序列化和反序列化代碼介紹

開發(fā) 后端
Java Socket通信如何才能熟練的掌握序列化和反序列化呢?在以往的學習中有不少的經(jīng)驗告訴我們,只有在關鍵代碼中才能找到自己想要的。

Java Socket通信要如何才能把序列化和反序列化做好呢?這個問題需要我們不斷的進行學習有關代碼,在以往的使用中有很多的經(jīng)驗值得我們學習。下面我們就詳細的學習下有關的代碼。#t#

Java Socket通信中,我們要在客戶端和服務端中傳輸數(shù)據(jù),傳輸?shù)臄?shù)據(jù)有各種類型,int,short,long以及String,甚至是自定義的各種Object,我們?nèi)绾文軌虮WC在服務端和客戶端之間的數(shù)據(jù)能夠使得兩端都能理解,這就是所謂的“應用協(xié)議”;在通信的“管道”中,流的都是二進制數(shù)據(jù),所以,雙方如何約定好“解析規(guī)則”,則就必須要求通信雙方都預先制定好協(xié)議;

序列化和反序列化

在Java Socket通信中,有一個借口Serializable接口,這個接口不需要實現(xiàn)實現(xiàn)任何方法,只是一個標識,Java 序列化技術可以使你將一個對象的狀態(tài)寫入一個Byte 流里,并且可以從其它地方把該Byte 流里的數(shù)據(jù)讀出來。重新構造一個相同的對象。這種機制允許你將對象通過網(wǎng)絡進行傳播,并可以隨時把對象持久化到數(shù)據(jù)庫、文件等系統(tǒng)里。

代碼如下:

  1. Person:  
  2. import java.io.Serializable;  
  3. import java.util.Date;  
  4. public class Person implements Serializable {  
  5. private String name;  
  6. private int tall;  
  7. private transient Date birthday;  
  8. private Address address;  
  9. public String getName() {  
  10. return name;  
  11. }  
  12. public void setName(String name) {  
  13. this.name = name;  
  14. }  
  15. public int getTall() {  
  16. return tall;  
  17. }  
  18. public void setTall(int tall) {  
  19. this.tall = tall;  
  20. }  
  21. public Date getBirthday() {  
  22. return birthday;  
  23. }  
  24. public void setBirthday(Date birthday) {  
  25. this.birthday = birthday;  
  26. }  
  27. public Address getAddress() {  
  28. return address;  
  29. }  
  30. public void setAddress(Address address) {  
  31. this.address = address;  
  32. }  
  33. }  
  34. Address:  
  35. package stream.demo;  
  36. import java.io.Serializable;  
  37. public class Address implements Serializable{  
  38. private String city;  
  39. private String street;  
  40. public Address() {  
  41. }  
  42. public Address(String city, String street) {  
  43. this.city = city;  
  44. this.street = street;  
  45. }  
  46. public String getCity() {  
  47. return city;  
  48. }  
  49. public void setCity(String city) {  
  50. this.city = city;  
  51. }  
  52. public String getStreet() {  
  53. return street;  
  54. }  
  55. public void setStreet(String street) {  
  56. this.street = street;  
  57. }  
  58. }  
  59. Person:  
  60. import java.io.Serializable;  
  61. import java.util.Date;  
  62. public class Person implements Serializable {  
  63. private String name;  
  64. private int tall;  
  65. private transient Date birthday;  
  66. private Address address;  
  67. public String getName() {  
  68. return name;  
  69. }  
  70. public void setName(String name) {  
  71. this.name = name;  
  72. }  
  73. public int getTall() {  
  74. return tall;  
  75. }  
  76. public void setTall(int tall) {  
  77. this.tall = tall;  
  78. }  
  79. public Date getBirthday() {  
  80. return birthday;  
  81. }  
  82. public void setBirthday(Date birthday) {  
  83. this.birthday = birthday;  
  84. }  
  85. public Address getAddress() {  
  86. return address;  
  87. }  
  88. public void setAddress(Address address) {  
  89. this.address = address;  
  90. }  
  91. }  
  92. Address:  
  93. package stream.demo;  
  94. import java.io.Serializable;  
  95. public class Address implements Serializable{  
  96. private String city;  
  97. private String street;  
  98. public Address() {  
  99. }  
  100. public Address(String city, String street) {  
  101. this.city = city;  
  102. this.street = street;  
  103. }  
  104. public String getCity() {  
  105. return city;  
  106. }  
  107. public void setCity(String city) {  
  108. this.city = city;  
  109. }  
  110. public String getStreet() {  
  111. return street;  
  112. }  
  113. public void setStreet(String street) {  
  114. this.street = street;  

以上就是對Java Socket通信的詳細介紹,希望大家找到自己問題的答案。

責任編輯:張浩 來源: 博客園
相關推薦

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-24 17:14:08

C#序列化

2009-06-14 22:01:27

Java對象序列化反序列化

2011-05-18 15:20:13

XML

2018-03-19 10:20:23

Java序列化反序列化

2009-08-06 11:16:25

C#序列化和反序列化

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2023-12-13 13:49:52

Python序列化模塊

2021-11-18 07:39:41

Json 序列化Vue

2009-09-09 16:10:11

.NET序列化和反序列

2009-08-25 14:43:26

C#序列化和反序列化

2009-09-09 14:45:41

XML序列化和反序列化

2009-09-09 15:47:27

XML序列化和反序列化

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2011-06-01 14:50:48

2012-04-13 10:45:59

XML

2023-12-26 07:26:07

Java序列化反序列化機制

2016-09-21 00:15:27

點贊
收藏

51CTO技術棧公眾號