
JAVASE学习笔记
文章平均质量分 86
JAVASE学习笔记,写一些JAVASE学习过程中的笔记。
牧羊人_myr
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java网络编程:从基础到实战
Java网络编程核心要点 网络编程主要分为BS(浏览器/服务器)和CS(客户端/服务器)两种架构,各有优缺点。网络通信依赖三要素:IP地址(设备标识,分IPv4/IPv6)、端口号(应用标识,0-65535范围)和通信协议(UDP/TCP)。Java提供InetAddress类处理IP地址,DatagramSocket类实现UDP通信(无连接、高效但不可靠),适合实时应用。TCP则通过Socket类实现可靠连接通信。实际开发中需根据需求选择合适协议和架构。原创 2025-09-20 20:22:40 · 829 阅读 · 0 评论 -
Java Lambda表达式,简化代码的函数式编程
Java Lambda 表达式是 Java 8 引入的重要特性,它通过简洁的语法(参数)->{方法体}简化了函数式接口的实现。相比传统匿名内部类,Lambda 大幅减少了模板代码,提高了可读性。它必须配合仅含一个抽象方法的函数式接口使用,支持方法引用、变量捕获等高级特性。典型应用包括线程任务(Runnable)、数据处理(Consumer)等场景,能有效提升开发效率和代码质量。原创 2025-09-15 16:51:29 · 889 阅读 · 0 评论 -
抽象类与多态与模板方法设计模式
本文介绍了Java抽象类的基础概念和使用场景。主要内容包括:1)抽象类定义,使用abstract关键字修饰,可包含抽象方法和具体方法;2)子类继承规则,必须实现所有抽象方法或声明为抽象类;3)抽象类可包含构造方法;4)无抽象方法的抽象类可用于限制实例化;5)多级继承示例。重点阐述了抽象类实现多态的优势,以及模板方法设计模式的应用,通过定义算法框架,将可变部分延迟到子类实现,实现代码复用和扩展性。文章还提供了银行办理业务和饮料制作等实际应用场景。原创 2025-09-11 17:19:11 · 307 阅读 · 0 评论 -
Java多线程编程指南
Java多线程编程摘要 Java多线程编程通过Thread类、Runnable接口和Callable接口实现并发执行。继承Thread类需重写run()方法,调用start()启动线程;实现Runnable接口更灵活,可共享资源;Callable接口可返回结果并抛出异常。三种方式各有特点:Thread简单但单继承受限,Runnable推荐使用,Callable适合需要返回值的场景。代码示例展示了线程创建、启动、休眠等基本操作,以及Lambda表达式简化写法。多线程编程能提高程序效率,但需注意线程安全等问题。原创 2025-09-20 19:35:20 · 762 阅读 · 0 评论 -
Java Stream流:高效集合处理利器
Java 8引入的Stream流提供了一种声明式处理集合数据的方式,结合lambda表达式极大简化了集合操作。Stream流使用分为三步:获取流(通过集合、Map或数组)、中间操作(过滤、排序、映射等)和终结操作(遍历、统计、收集等)。其核心优势包括代码简洁、功能丰富、可读性强,并支持并行处理提高效率。文章详细介绍了各种操作方法,如filter()、map()、sorted()等,以及如何将结果收集到集合中。原创 2025-09-18 16:59:21 · 504 阅读 · 0 评论 -
Java 方法引用详解:类型、场景与实例
Java方法引用是Lambda表达式的语法糖,通过::符号简化代码。主要有四种类型: 静态方法引用(类名::静态方法) - 直接引用类的静态方法 实例方法引用(对象名::方法) - 引用特定对象的实例方法 特定类型方法引用(类名::实例方法) - 第一个参数作为方法调用者 构造方法引用(类名::new) - 引用类的构造方法 典型应用场景包括集合排序、流式操作等,如String::compareTo排序字符串、Math::abs计算绝对值等。方法引用能显著提升代码简洁性和可读性,但需确保参数匹配函数式接口要原创 2025-09-15 17:18:50 · 608 阅读 · 0 评论 -
Java 集合框架详解:从基础概念到实战应用 Collection(List)部分
本文介绍了Java集合框架的核心概念和Collection部分,主要分为单列集合(Collection)和双列集合(Map)两大体系。重点解析了Collection接口的通用方法如add、remove、contains等,以及三种遍历方式:迭代器遍历(唯一支持安全删除)、增强for循环和Lambda表达式遍历。通过示例代码演示了各种方法的实际应用,帮助开发者理解Java集合框架的基础特性和使用方法。原创 2025-09-17 16:19:03 · 865 阅读 · 0 评论 -
Java异常处理
Java异常处理详解 Java异常处理是保证程序健壮性的关键机制。异常分为Error(系统级错误)和Exception(可处理异常),后者又分为RuntimeException(运行时异常)和Checked Exception(编译时异常)。通过try-catch-finally或throws/throw机制处理异常。最佳实践包括:底层异常上抛、外层统一处理;具体异常优先捕获;避免空catch块;合理使用try-with-resources自动管理资源;自定义异常增强可读性。异常处理应平衡程序健壮性与代码简原创 2025-09-17 15:23:19 · 669 阅读 · 0 评论 -
Java文件操作与递归遍历实战
本文系统梳理了Java中File类的核心概念与用法。File类是对文件/目录路径的抽象表示,提供创建、删除、遍历等基础操作。文章详细介绍了三种构造方法、元数据查询(如存在性、文件类型、大小等)和路径操作方法,并强调了跨平台路径处理的重要性。通过代码示例展示了如何获取文件属性及路径信息,为后续文件操作和递归遍历奠定基础。原创 2025-09-19 16:31:23 · 657 阅读 · 0 评论 -
Java内部类:成员、静态、局部与匿名
Java内部类分为四种类型:成员内部类(直接访问外部类成员,需通过外部实例创建)、静态内部类(仅访问外部类静态成员,可直接创建)、局部内部类(方法内定义,访问final局部变量)和匿名内部类(无显式名称,实现接口/抽象类)。它们分别适用于不同场景,如紧密关联功能、工具类、临时实现和快速回调,通过合理使用能提升代码封装性和组织性。原创 2025-09-15 16:14:35 · 486 阅读 · 0 评论 -
Java IO流与字符集全解析
本文摘要: Java IO流与字符集是数据交互的核心技术。文章重点解析了字符集编码原理(ASCII、GBK、UTF-8等)及Java中的字符集转换方法,强调UTF-8作为国际通用编码的重要性。详细介绍了IO流体系,包括字节流(InputStream/OutputStream)和字符流(Reader/Writer)的差异与应用场景,提供了文件复制和文本读写的实用代码示例。特别指出字节流适合所有文件类型,而字符流专为文本文件优化,包含自动字符集转换功能。原创 2025-09-19 16:37:32 · 733 阅读 · 0 评论 -
Java动态代理:原理与实战应用
本文详细介绍了Java动态代理的两种实现方式:JDK动态代理和CGLIB动态代理。JDK动态代理基于接口实现,通过反射机制生成代理类,而CGLIB通过字节码技术生成目标类的子类作为代理类。文章对比了两者的核心差异,包括底层原理、目标类要求、性能和依赖关系。通过完整代码示例展示了两种代理的实现步骤:JDK动态代理需要定义接口、实现InvocationHandler,并使用Proxy创建代理对象;CGLIB动态代理则需引入依赖、实现MethodInterceptor,并通过Enhancer生成代理类。原创 2025-09-21 08:45:02 · 1040 阅读 · 0 评论 -
Java 单元测试(JUnit)与反射机制深度解析
本文深入解析了Java单元测试框架JUnit和反射机制。JUnit通过注解(如@Test、@Before等)控制测试流程,提供断言验证方法正确性。文章演示了计算器类的测试示例,包括测试生命周期、异常处理和忽略测试。反射机制部分介绍了Class对象的三种获取方式(类名.class、对象.getClass()、Class.forName()),以及如何动态操作构造方法(包括私有构造器)。二者结合使用可提升代码质量和灵活性,反射尤其适合框架开发等需要动态处理类的场景。原创 2025-09-21 08:36:17 · 667 阅读 · 0 评论 -
Java泛型:类型安全的编程利器
Java 泛型是Java 5引入的重要特性,允许在类、接口和方法中使用类型参数(如<T>),实现代码的类型安全性和重用性。泛型类通过类型变量定义(如GenericBox<T>),泛型接口可被实现为具体类型或保留参数化,而泛型方法则在方法头声明类型变量。通配符(?)增加了灵活性,配合extends和super可限定类型范围。但泛型存在限制:不支持基本类型(需使用包装类如Integer)、运行时类型擦除以及无法直接创建泛型数组。原创 2025-09-17 15:23:43 · 564 阅读 · 0 评论 -
Swing简单布局管理指南
Java提供了AWT和Swing两套GUI工具包,其中Swing作为主流解决方案,提供了丰富的跨平台组件。摘要重点介绍了Swing中常用的窗口容器(JFrame)、面板(JPanel)、按钮(JButton)、文本输入框(JTextField)和表格(JTable)组件的使用方法,以及流式布局(FlowLayout)等布局管理器的概念。这些组件通过代码示例展示了创建基本图形界面元素的方法,包括设置属性、添加事件监听器等核心功能,为Java桌面应用开发提供了基础框架。原创 2025-09-15 20:14:21 · 909 阅读 · 0 评论 -
Java Map 集合框架深度解析
Java Map集合详解:键值对存储与操作 摘要: Map是Java集合框架中用于存储键值对的核心接口,其特点包括键唯一性、值可重复和键值一一对应。主要实现类有HashMap(无序高效)、LinkedHashMap(保持插入顺序)和TreeMap(按键排序)。Map提供put、get、remove等常用方法,支持三种遍历方式:键找值、键值对遍历和Lambda表达式。不同实现类适用于不同场景,如HashMap适合高效查询,TreeMap适合有序存储。原创 2025-09-18 16:31:14 · 589 阅读 · 0 评论 -
Java注解详解:从基础到实践
本文全面介绍了Java注解的概念与应用。首先解释了注解作为元数据的作用,不会直接影响代码逻辑但能提供额外信息。然后详细讲解了注解的三大应用场景:代码标记(如@Override)、编译检查(如@SuppressWarnings)和运行时处理(如Spring的@Autowired)。文章还展示了如何自定义注解,包括定义语法、成员变量设置和使用方法,并特别强调了四种元注解(@Retention、@Target、@Documented、@Inherited)的功能和区别。最后通过示例代码演示了如何利用反射API在运原创 2025-09-21 08:41:35 · 355 阅读 · 0 评论 -
Java常用API用法指南
Java常用API摘要 String类提供字符串处理功能,包括创建、比较、拼接、截取等操作,常用方法如equals()、substring()、replace()等。ArrayList是动态数组实现,支持添加、删除、修改元素,提供size()、get()、iterator()等方法遍历集合。Integer是int的包装类,支持自动装箱/拆箱,提供parseInt()、toString()等类型转换方法。这些核心API广泛应用于Java开发中,是处理字符串、集合和数值的基础工具。原创 2025-09-15 19:55:28 · 831 阅读 · 0 评论 -
Java 集合框架中的Collection(Set)体系
Java Set接口是集合框架中确保元素唯一性的核心组件,包含三个主要实现类:HashSet(基于哈希表,无序高效)、LinkedHashSet(维护插入顺序)和TreeSet(红黑树实现,自动排序)。HashSet通过哈希值和equals方法实现去重,要求自定义类必须重写hashCode和equals。LinkedHashSet在HashSet基础上增加双向链表保持顺序。TreeSet则使用红黑树实现元素自动排序,自定义类需实现Comparable接口或提供Comparator。原创 2025-09-17 17:12:04 · 545 阅读 · 0 评论 -
Java多态核心:动态绑定与类型转换
多态是面向对象编程的核心特性,允许不同对象对同一消息做出不同响应。通过父类引用指向子类对象和方法重写实现,具有提高代码扩展性、增强灵活性的优势。实现多态需要继承关系、父类引用指向子类对象以及子类重写父类方法。Java示例展示了多态的动态绑定特性,同时强调类型转换时需使用instanceof进行安全检查以避免异常。多态广泛应用于集合框架等场景,通过抽象接口降低耦合度,使系统更易扩展和维护。原创 2025-09-11 16:12:36 · 229 阅读 · 0 评论 -
Java构造器调用规则
Java子类构造器必须调用父类构造器:默认调用无参构造器super(),若父类无无参构造器则需显式调用。调用顺序形成构造器链,确保父类成员先初始化。构造器中可通过this()调用兄弟构造器,但this()和super()不能共存且必须位于第一行。正确调用规则能避免编译错误,保证对象完整初始化。示例展示了继承关系中构造器的正确调用方式及常见错误情况。原创 2025-09-10 17:24:41 · 238 阅读 · 0 评论