Java serialization 🥣

Поділитися
Вставка
  • Опубліковано 16 вер 2024

КОМЕНТАРІ • 144

  • @BroCodez
    @BroCodez  4 роки тому +67

    Java Serialization
    import java.io.*;
    public class SerializeDemo {
    public static void main(String [] args) {

    //Serialization = The process of converting an object into a byte stream.
    // Persists (saves the state) the object after program exits
    // This byte stream can be saved as a file or sent over a network
    // Byte stream can be saved as a file (.ser) which is platform independent
    // (Think of this as if you're saving a file with the object's information)

    // Steps to Serialize
    // ---------------------------------------------------------------
    // 1. Your class should implement Serializable interface
    // 2. add import java.io.Serializable;
    // 3. FileOutputStream fileOut = new FileOutputStream(file path)
    // 4. ObjectOutputStream out = new ObjectOutputStream(fileOut);
    // 5. out.writeObject(objectName)
    // 6. out.close(); fileOut.close();
    // ---------------------------------------------------------------

    //Deserialization = The reverse process of converting a byte stream into an object.
    // (Think of this as if you're loading a saved file)

    // Steps to Deserialize
    // ---------------------------------------------------------------
    // 1. Your class should implement Serializable interface
    // 2. add import java.io.Serializable;
    // 3. FileInputStream fileIn = new FileInputStream(file path);
    // 4. ObjectInputStream in = new ObjectInputStream(fileIn);
    // 5. objectNam = (Class) in.readObject();
    // 6. in.close(); fileIn.close();
    // ---------------------------------------------------------------

    // important notes 1. children classes of a parent class that implements Serializable will do so as well
    // 2. static fields are not serialized (they belong to the class, not an individual object)
    // 3. Fields declared as "transient" aren't serialized, they're ignored
    // 4. the class's definition ("class file") itself is not recorded, cast it as the object type
    // 5. serialVersionUID is a unique version ID

    //SerialVersionUID = serialVersionUID is a unique ID that functions like a version #
    // verifies that the sender and receiver of a serialized object,
    // have loaded classes for that object that are compatible
    // Ensures object will be compatible between machines
    // Number must match. otherwise this will cause a InvalidClassException
    // A SerialVersionUID will be calculated based on class properties, members, etc.
    // A serializable class can declare its own serialVersionUID explicitly (recommended)

    User user = new User();

    user.name = "Bro";
    user.password = "I

    • @sudhanshu7115
      @sudhanshu7115 3 роки тому +4

      I think you can even teach me rocket science & Quantum physics with your teaching skills ❤️

    • @joshuafrancisriin8078
      @joshuafrancisriin8078 2 роки тому

      Bro i get error in deserialization.. In main class it says
      java.Lang.ClassNotFoundException:serializer.user
      I checked everything but i couldn't find out why i get this error..
      Pls help bro 😓😭

    • @lemaaaron9009
      @lemaaaron9009 Рік тому

      Thanks 🤝

    • @phaustinanapunyi8057
      @phaustinanapunyi8057 Рік тому +1

      @@joshuafrancisriin8078 Ensure that the classes for both the serializer and the desializer are organized in the same structure.
      E.g. if your serializer Main and User classes are in a package say org.example ensure you have the same package org.example for your deserializer Main and User classes. Secondly, contents of the User classes have to be identical.

    • @yunanistan2364
      @yunanistan2364 Рік тому

      That is a hard working bro :)

  • @exxzxxe
    @exxzxxe 2 роки тому +60

    By far, Bro Code has the most succinct, and clearest explanations of Java on UA-cam! No more than needed, no less than required. Good job!

  • @lucyl3552
    @lucyl3552 3 роки тому +16

    such an amazing tutorial! I was having some trouble working with SQL databases and had to resort to serialization for my cs project, saved my life!

  • @haramrit09k
    @haramrit09k Рік тому +15

    I have a Software Engineer interview in 2 days, and I never knew what Serializing and Deserializing actually meant in Java, until now. THANKS A TON Bro!

    • @connorwhitedik
      @connorwhitedik 2 місяці тому +1

      Get the job?

    • @haramrit09k
      @haramrit09k 2 місяці тому +5

      @@connorwhitedik yeah, got three interviews, and two offers :)

  • @preraksemwal8768
    @preraksemwal8768 2 роки тому +10

    This is the only channel on UA-cam I literally feel I must comment on every time I watch , else I'm a bad guy XD
    Your videos are great ... Seriously !!

  • @codingletsdoit2746
    @codingletsdoit2746 3 роки тому +5

    This is the guy who needs support! Thanks this tutorial was the best Bro!

  • @renecabuhan1675
    @renecabuhan1675 3 роки тому +7

    You explain it better than my teacher bro. Thank you.

  • @mpelalidiko
    @mpelalidiko Рік тому +5

    Hey bro, thanks a lot for your amazing videos!
    I just want to add another detail: if a class has fields that are other custom-made classes, then these classes ALSO have to implement Serializable

  • @chuanxinjin9301
    @chuanxinjin9301 Рік тому +6

    Guys, make sure your package file need to be the same in both the serialization folder and deserialization, then you won't get ClassNotFoundExpection for this. And bro you your video is fantastic. Love from China

    • @st3v3cR0zz
      @st3v3cR0zz Рік тому +1

      thank god for your comment!!!!

    • @Mohamed_MDJ
      @Mohamed_MDJ 6 місяців тому +1

      I was looking for this for 30min

  • @raderh2o
    @raderh2o Місяць тому +1

    Great tutorial series! I'm enjoying it

  • @alfredhitch9306
    @alfredhitch9306 3 роки тому +19

    Legend. Solo carrying My Butt through advanced programming

    • @amreedoh
      @amreedoh 2 роки тому +1

      I feel that in my soul

  • @seabass6106
    @seabass6106 3 роки тому +5

    Bro, this is getting serioulized
    💕

  • @ducare7218
    @ducare7218 Рік тому +1

    Clear how-to and break down, still technical but not boring! Thanks Bro Code!

  • @bitcoin1532
    @bitcoin1532 3 роки тому +4

    wanted to learn this for a save function, tysm bro

  • @joyceasante8292
    @joyceasante8292 Рік тому +1

    NOTE
    Converting an object into a byte stream = serialization
    Converting a byte stream into an object = deserialization

  • @fanaha282
    @fanaha282 7 місяців тому +1

    Your videos are very very helpful but its been a while that you did not post anything about Java, your community is waiting and thank you for that

  • @fantasy9960
    @fantasy9960 Рік тому

    Absolute the best serialization tutorial video I have ever watched! Thank you

  • @danielmilewski7659
    @danielmilewski7659 2 роки тому

    Best explanation I ever had for this topic! Thank you! Can't believe this is on youtube!

  • @Snowmanver2
    @Snowmanver2 2 роки тому

    Came back to rewatch the video and brush up on that topic. Thanks, Bro!

  • @hansmuller9545
    @hansmuller9545 2 роки тому

    You're a champ bro! Tried to create a savefile through parsing the objects variables and then reread them and create through it the new objects. This is way easier. Thanks!

  • @noah77
    @noah77 4 роки тому +5

    Please, please, please make a video on ML or Neural net, please teach how to make a very simple neural net in *JAVA*
    Even if you suck at those ML things, please figure it out, and make a tutorial on it, pleaseeeeeee

  • @ricardochica4339
    @ricardochica4339 2 роки тому +1

    Thank you so much for these videos!

  • @FukSN
    @FukSN 2 роки тому +1

    Top video. Very informative, and easy to follow as usual.
    Thanks Bro.

  • @girl6994
    @girl6994 4 роки тому +1

    Hey you. If you find this video helpful, pls make sure to like, comment,and subscribe if you want to become a fellow bro. Is that spells right? Because I can speak this sentence in my dream. It’s so familiar.

  • @kristijanlazarev
    @kristijanlazarev 6 місяців тому

    Very complicated, good job

  • @Aditya-fu4jj
    @Aditya-fu4jj 8 місяців тому

    Good work bro

  • @percivalgebashe4376
    @percivalgebashe4376 Рік тому

    Nice

  • @sabermmirza
    @sabermmirza 3 роки тому +2

    Great job bro:)

  • @lucyledezma709
    @lucyledezma709 4 роки тому +1

    Thanks Bro!.. for the new video!

  • @changlim-zp1sv
    @changlim-zp1sv 4 роки тому +2

    I really want to get started into coding, but don’t know where to start! Could I get any pointers?

    • @BroCodez
      @BroCodez  4 роки тому +6

      🤔Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

  • @shaynazoedeguzman7418
    @shaynazoedeguzman7418 2 роки тому

    TYVM Bro code! You are superb!

  • @razvanrusan9319
    @razvanrusan9319 2 роки тому

    Dope tutorial! Helped me for an exam!

  • @nawfalnjm5699
    @nawfalnjm5699 3 роки тому +1

    thanks for this amazing video !

  • @gobikrishnasharma5041
    @gobikrishnasharma5041 Рік тому

    thankz bro amazing way to teaching
    keep it up !!!

  • @kemann3815
    @kemann3815 2 роки тому +1

    Awesomely great

  • @matt-g-recovers
    @matt-g-recovers 3 роки тому +1

    Nice!
    Thanks Bro!

  • @usamanadeem145
    @usamanadeem145 3 роки тому +1

    Great

  • @calebkrauter4027
    @calebkrauter4027 Рік тому

    Helpful video, thank you.

  • @eugenezuev7349
    @eugenezuev7349 3 місяці тому

    good job

  • @horssentc
    @horssentc Рік тому

    great video thank you 👍

  • @user-jq1mp3jc1h
    @user-jq1mp3jc1h 4 місяці тому +1

    13:42 (Part 2)

  • @ikersantana7618
    @ikersantana7618 Рік тому

    Bro, I need a teacher like him in my classes

  • @mrwakacorp
    @mrwakacorp 2 роки тому

    The perfect video for the topic!

  • @made4u363
    @made4u363 2 роки тому

    very detail and easy to understand

  • @tomhowlingmoon2962
    @tomhowlingmoon2962 10 місяців тому

    great stuff, way more complete than what the teacher explained in class lmao

  • @frankjuuh
    @frankjuuh 2 роки тому +1

    Love you, bro

  • @dsdcp
    @dsdcp 3 роки тому +1

    Thanks Bro.

  • @jasper5016
    @jasper5016 2 роки тому

    Great video. All doubts clear.

  • @bix4400
    @bix4400 Рік тому

    Need series on Android app development bro !

  • @benderbg
    @benderbg Рік тому

    Great video as the rest you've made.

  • @hippiestafarii
    @hippiestafarii 2 роки тому

    Another great video as always

  • @cannac6995
    @cannac6995 3 роки тому +3

    13:12
    "To something secure such as *password123* "

  • @shotx333
    @shotx333 2 роки тому

    Nice tutorial

  • @elkay7065
    @elkay7065 3 роки тому +1

    Thanks mate

  • @sector-selector
    @sector-selector 3 роки тому +1

    great

  • @marekmacku3526
    @marekmacku3526 2 роки тому

    U re legend thanks so much 🙏

  • @justswift_1213
    @justswift_1213 2 роки тому +1

    I am getting java.lang.ClassCastException. It says that both the user classes are in an unnamed module of loader 'app'. What does it mean? A solution to my problem would be great. Thanks.

    • @leekbiel
      @leekbiel Рік тому +1

      Hi JustSwift_ ;
      1.Check if the name of the 2 packages are the same;
      2.Check if the name of the 2 class are the same;
      The both has to be the same;

    • @justswift_1213
      @justswift_1213 Рік тому +1

      @@leekbiel I had already solved the issue. But thanks a lot as those are something to keep in mind.

    • @charanraj3180
      @charanraj3180 Рік тому

      @@leekbiel Thanks alot man : )

  • @mikeyyy_xam
    @mikeyyy_xam 27 днів тому

    BRO I LOVE YOU

  • @koppitent
    @koppitent 7 місяців тому +1

    bro doesnt link git but pastes Code into comments. 👌💪

  • @honoredegg
    @honoredegg 2 роки тому

    84th. Thank you, ma Bro Sensei

  • @carloslozan856
    @carloslozan856 2 роки тому

    good tutorial

  • @javierpesaresi311
    @javierpesaresi311 Рік тому

    Tremendo!

  • @KhuongNguyen-sw2ke
    @KhuongNguyen-sw2ke Рік тому

    thank you bro

  • @amulyan1478
    @amulyan1478 3 роки тому +1

    you are the besst!

  • @archaeniac7846
    @archaeniac7846 3 роки тому +1

    thankyouuuu

  • @MrLoser-ks2xn
    @MrLoser-ks2xn 2 роки тому

    Thanks

  • @ASL-np1se
    @ASL-np1se Місяць тому

    I love you bro

  • @babyskeleton7990
    @babyskeleton7990 Рік тому

    Very helpful video, thanks. If I knew about this, i wouldn't have to create .txt files using damn FileWriter and split them using _ and . When I wanted to read them, I split the entire long character string using split() method, which resulted in countless problems and headaches, as you can imagine lol.

  • @ibrahimylmaz8378
    @ibrahimylmaz8378 2 роки тому

    thanks bro

  • @cinemacat4108
    @cinemacat4108 2 роки тому +1

    hey, thanks for the tutorial , however I have a little problem , whenever I use ObjectOutPutStream or InputStream I get an exception wether it was out.writeObject or in.readObject I imported everything and I made sure the error was from those statments when I surrounded them with a try statment please help

    • @Lukas-qy2on
      @Lukas-qy2on 2 роки тому

      "ObjectOutPutStream" output is one word so put is not capitalized
      so its ObjectOutputStream*

    • @cinemacat4108
      @cinemacat4108 2 роки тому +2

      @@Lukas-qy2on thanks, however this wasn't the problem, the class I was serializing didnt implement java.serializable thanks anyway

    • @joshuafrancisriin8078
      @joshuafrancisriin8078 2 роки тому

      @@cinemacat4108 same problem! How did you solve it?

    • @cinemacat4108
      @cinemacat4108 2 роки тому

      @@joshuafrancisriin8078 I forgot to implement Serializable in the class that needs to be saved

  • @VeeGotThePower
    @VeeGotThePower Рік тому

    I had a problem when I was doing this in VS Code. The software makes packages for both serialization and deserialization folder in the code, which if removed I couldn't run in the VS Code. But even after following Bro's code step by step, I faced the error :- Exception in thread "main" java.lang.ClassCastException: class broCode.Serialization.User cannot be cast to class broCode.Deserialization.User (broCode.Serialization.User and broCode.Deserialization.User are in unnamed module of loader 'app'). This was very annoying cause I followed step by step. So Stack said that I can change the medium of file I'm saving on to something like a JSON file. But if it can work for bro, it can for us. Thus did it without VS Code the manual way by notepad and cmd prompt (also removed the part of packages, even tho both the code lay in different folder) it worked. Typing all of this for anyone who faces Class Cast Exception.

    • @vuvanphuc6633
      @vuvanphuc6633 10 місяців тому

      Hi @vishalrai,
      I guess your problem can be cause you're using different names for package and class names on 2 projects. It should be the same on 2 projects. You can solve this issue by that way.
      If you don't want they same the name or package. You can use InputStream instead of FileInputStream as below :
      InputStream is = new FileInputStream("your path file here...");
      ObjectInputStream ois = new ObjectInputStream(is);
      You can solve this issue.

  • @ahmadosama2652
    @ahmadosama2652 Рік тому

    when i try to make deserialization i got this message( class libraryBook cannot be cast to class java.util.ArrayList)

  • @sailorsaturn4693
    @sailorsaturn4693 11 місяців тому

    حرفيا ابونا

  • @Jha_Aditya01
    @Jha_Aditya01 2 роки тому +1

    Getting the Classcastexception in my Deserialization package... IDE says everything is correct tho it is not printing the values.. any solutions? Please🥺

    • @leekbiel
      @leekbiel Рік тому +1

      Hi Aditya Kumar;
      1.Check if the name of the 2 packages are the same;
      2.Check if the name of the 2 class are the same;
      The both has to be the same;

    • @yunanistan2364
      @yunanistan2364 Рік тому

      @@leekbiel thanks I was searching for it since hours

  • @8oniim622
    @8oniim622 11 місяців тому

    beast 🫶

  • @annihae5939
    @annihae5939 2 роки тому

    Oh no how do you know my password?:D Thanks for the video, helps so much with Java test prep:)

  • @Nates2823
    @Nates2823 2 роки тому

    nc one

  • @downhilldreamer5313
    @downhilldreamer5313 2 роки тому

    liked
    commented
    subscribed

  • @aryanmn1569
    @aryanmn1569 3 роки тому

    when u get no thumbs down, u can be sure u did good

  • @azmalshaik1295
    @azmalshaik1295 2 роки тому

    hello Bro code Iam your Subscriber can you please upload a video on Annotations because of iam confusing about it

  • @st3v3cR0zz
    @st3v3cR0zz Рік тому

    keep on getting ClassNotFoundException error.

  • @dolevdo
    @dolevdo 2 роки тому

    saved my life

  • @DamienRoyan
    @DamienRoyan 3 роки тому

    *insert The prophecy is true meme clip*

  • @MrLoser-ks2xn
    @MrLoser-ks2xn Рік тому

  • @quachthetruong
    @quachthetruong 3 роки тому

    Is there anyone here have this problem?
    "Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "user" is null"
    When I try to separate serialize and deserialize into 2 projects like in the video, serialize project works fine but deserialize project gives this error. And when I put serialize and deserialize in the same file, it works perfectly. If you know how to fix this problem, please help me!

  • @gioele33
    @gioele33 3 роки тому +1

    Is it possible to save the file as ".txt" instead of ".ser"?

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому

      Yes it is but there is no point in doing that

    • @frosty4513
      @frosty4513 3 роки тому

      yes it is I just did that

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому

      @@frosty4513 obviosly it is possible but there is no difference in renaming file endings

  • @小江-j1i
    @小江-j1i 3 роки тому

    what is the difference if i store data into json file farmat?
    i found another youtuber said that serialization is a process to convert data from RAM into string format like json, so that it can be stored and send to your friends, etc. Is he correct?

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому

      json isnt exactly the same. Json is more like an Object, that every Programming Language can interpret and is more readable for humans

  • @pesterlig
    @pesterlig 3 роки тому +1

    ywaah!

  • @sachwinikumarkhatri1913
    @sachwinikumarkhatri1913 3 роки тому

    why I am getting error = >Exception in thread "main" java.lang.ClassCastException

    • @helriskor
      @helriskor 3 роки тому

      I have the same problem

    • @justswift_1213
      @justswift_1213 2 роки тому

      I am having the same problem as well. Did you get any solution? If so, please let me know what it is. It would be really helpful.

    • @leekbiel
      @leekbiel Рік тому +1

      Hi Sachwini Kumar Khatri;
      1.Check if the name of the 2 packages are the same;
      2.Check if the name of the 2 class are the same;
      The both has to be the same;

    • @gabecarmichael254
      @gabecarmichael254 Рік тому

      @@leekbiel If I have all the classes in the same package, it won't let me name them the same thing (2 User classes and 2 Main classes)... What should I do?

  • @bogdan_bgp
    @bogdan_bgp 6 місяців тому

    "something secure like... password123" 😆😆

  • @MukulAnand-er8ik
    @MukulAnand-er8ik Рік тому

    bro code

  • @developerjunior446
    @developerjunior446 3 роки тому

    Where do you work Bro ?

  • @lukashusz7659
    @lukashusz7659 3 роки тому +2

    doesn't work :(

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому +1

      If you‘d elaborate I might help

    • @mahirahman3838
      @mahirahman3838 3 роки тому

      @@Simon-yf7fo I got class not found exception

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому

      @@mahirahman3838 You try to invoke a class that is not inside the classpath. This is a very common issue. Since you did not provide much information thats the only thing I can tell you.

    • @mahirahman3838
      @mahirahman3838 3 роки тому

      @@Simon-yf7fo I serialized the objects In a project named 'Serialization' but when I created an different project(Deserialization) and try to read those serialize objects ,, that time ClassNotFoundException occured.. Though I did exactly same as bro code.

    • @Simon-yf7fo
      @Simon-yf7fo 3 роки тому

      @@mahirahman3838 In this case I suspect that your filepath to the serialized Object is wrong (.ser file). Otherwise it could have sonething to do with your run configurations.

  • @srinicnu5283
    @srinicnu5283 3 роки тому

    source code please !!!
    BRO

  • @piotrjaga6929
    @piotrjaga6929 Рік тому

    statistics

  • @puppeteer7929
    @puppeteer7929 Рік тому

    : )

  • @wombozombo
    @wombozombo 8 місяців тому

    Comment

  • @suyashgupta1741
    @suyashgupta1741 3 роки тому

    13:10 update the password to something secure 😂😂

  • @imnithyn4447
    @imnithyn4447 2 роки тому

  • @exitspree
    @exitspree Рік тому

    Thanks so much!