深入理解Java基础与网络连接

4星 · 超过85%的资源 需积分: 9 12 下载量 152 浏览量 更新于2024-09-09 收藏 4KB TXT 举报
"java基础笔记" 本笔记主要涵盖了Java语言的基础知识,包括其跨平台特性、网络连接中的UDP与TCP的区别,以及Java语法的关键点。以下是详细的解析: 1. Java跨平台特性: Java的跨平台性源于其“一次编写,到处运行”的理念。这得益于Java虚拟机(JVM)。Java源代码在开发环境中被编译成字节码,这是一种平台无关的中间语言。当在不同操作系统上的JVM上运行时,JVM会将字节码转换为特定平台的机器指令,实现了代码的可移植性。 2. UDP与TCP的区别: UDP(User Datagram Protocol)是无连接的协议,它不保证数据包的顺序、可靠性和错误校验,因此速度快但可能丢失或重复数据。适合实时应用,如音频、视频传输。 TCP(Transmission Control Protocol)则是面向连接的协议,它提供可靠的数据传输,确保数据包按序到达且无错误,但相对UDP速度较慢,适用于需要稳定通信的应用,如网页浏览、文件传输等。 3. Java程序执行流程: Java程序由类(Class)组成,通过主类(包含main方法)启动。程序运行时,JVM会加载类文件并执行其中的方法。类的实例化(new操作)会在堆内存中创建对象,方法调用则在栈内存中进行。 4. 方法重载(Overloading)与覆盖(Overriding): 方法重载发生在同一类内,允许有多个同名方法,但参数列表必须不同(参数数量、类型或顺序)。而方法覆盖发生在子类中,子类对父类已有的方法进行重新定义,要求方法名、返回类型及参数列表完全一致。 5. 数据类型: Java有原始数据类型(如byte、short、int、long、float、double、char和boolean)和引用数据类型(如类、接口、数组)。其中,String是一个特殊的引用类型,不可变且可以使用字面量赋值或new创建对象。 6. 静态(static)关键字: 静态成员属于类而不是类的实例,它们在类加载时被初始化。静态变量由所有实例共享,而静态方法不能访问非静态成员,因为非静态成员依赖于特定的对象实例。 7. 循环控制语句(for、while)与break、continue: break用于跳出当前循环,而continue跳过当前迭代,继续执行下一次循环。在多层循环中,break可以搭配标签(label)来跳出指定的循环。 8. 集合框架(ArrayList、LinkedList): ArrayList是动态数组实现,提供了随机访问元素的高效性能,但在插入和删除元素时效率较低。LinkedList基于链表,适合频繁的增删操作,但遍历速度慢于ArrayList。 9. 网络编程中的UDP与TCP: UDP是无连接的,适合实时数据传输,如VoIP和在线游戏。TCP提供可靠的数据传输,适用于文件传输、HTTP等需要保证数据完整性的场景。 10. 加密算法: 常见的加密算法包括DES、3DES、RC2、RC4和AES。DES已被认为不够安全,现在多使用AES。非对称加密如RSA、DSA和ECC则用于密钥交换和数字签名,保证数据的安全传输。 11. 抽象类(Abstract Class): 抽象类在Java中用来表示具有共同特征的一组对象的模板,它可以包含抽象方法(没有具体实现的方法)和具体方法。抽象类不能被实例化,只能作为其他类的基类。 这些只是Java基础知识的一部分,深入学习Java还需要掌握异常处理、多线程、IO流、反射、设计模式等更多内容。