自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Java 线程池+分布式

PoolInit:线程池初始化和任务管理ThreadPool:线程池核心类,管理工作线程WorkThread:工作线程类,执行具体任务初始化线程池,创建指定数量的工作线程并启动工作线程启动后进入等待状态,等待接收任务用户输入任务,添加到任务队列线程池查找空闲线程,分配任务并唤醒线程线程执行任务,完成后回到空闲状态重复步骤 3-5,直到程序结束。

2025-09-28 00:15:23 435

原创 Java 常用类+克隆机制

String、StringBuffer、StringBuilder 比较String 是不可变的,适合存储不变的字符串StringBuffer 是可变的,线程安全,适合多线程环境StringBuilder 是可变的,线程不安全,单线程环境下性能优于 StringBuffer克隆克隆是创建对象的一种方式,不会调用构造函数浅克隆只复制基本类型字段和引用类型字段的引用深克隆会复制基本类型字段和引用类型字段指向的对象实现克隆需要实现 Cloneable 接口并重写 clone () 方法。

2025-09-28 00:13:39 1215

原创 Java 字节流与字符流+文件操作+分布式缓存+多线程下载

对象流ObjectInputStream、ObjectOutputStream用于实现对象的序列化(将对象转换为字节序列)和反序列化(将字节序列恢复为对象)。文件字节流FileInputStream、FileOutputStream是操作文件的基础流,直接以字节为单位读写文件。字符流专为处理文本文件设计,以字符为单位操作,避免了字节流处理文本时可能出现的乱码问题。对于固定或周期性变化的数据,使用文件缓存可以减少数据库访问次数,提高系统性能。第二次查询:缓存存在 → 直接从缓存文件反序列化获取数据。

2025-09-28 00:12:13 840

原创 Java集合框架

需要重写hashCode和equals方法。

2025-09-28 00:10:07 772

原创 Java —JUC并发、SPI机制与分布式通信RMI

获取的验证码为:1357获取的验证码为:2468获取的验证码为:0987...应用类通过CodeServiceFactory.createCode(ICode.class) 动态获取验证码,无需关心具体实现类。若需切换为中文验证码,只需修改META-INF/services/com.lj.interfaces.ICode文件,将com.lj.interfaces.impl.ChineseCodeImpl放在最后一行即可,无需修改代码。/*** RMI远程接口,定义可远程调用的方法。

2025-09-27 15:46:40 898

原创 Java多线程应用场景—交替打印

交替打印是多线程编程中的经典问题,指多个线程按照特定顺序轮流执行任务。

2025-09-27 10:00:00 563

原创 Java 线程通信机制

锁的一致性:使用wait()和notify()时,线程必须持有同一个对象的锁,否则无法实现通信,甚至可能导致死锁。异常处理:在调用wait()、sleep()等方法时,要妥善处理InterruptedException异常。锁的释放:在同步块或Lock的使用中,要确保锁能正确释放,避免死锁。例如,使用Lock时,应在finally块中释放锁。通知的及时性:notify()或signal()应在合适的时机调用,确保等待的线程能及时被唤醒,避免线程长时间等待。

2025-09-27 02:05:49 1126

原创 Java 多线程同步安全机制

在 Java 多线程编程中,有多种同步安全机制可供选择:synchronized 是简单易用的同步锁,自动管理锁的获取和释放,适合简单的同步场景。Lock接口提供了更灵活的锁操作,支持手动控制锁的获取和释放,还能实现公平锁等特性,适用于复杂的同步需求。ThreadLocal以空间换安全,为每个线程提供独立的变量副本,避免了线程同步的开销,适合线程本地变量的场景。volatile主要用于保证变量的可见性,对于简单的变量读写操作能提供高效的可见性保证,但无法保证复合操作的原子性。

2025-09-27 00:08:15 1023

原创 Java 多线程之 synchronized 锁、邮件爬虫案例以及数据库备份

在 Java 多线程编程中,关键字是实现线程同步的重要工具,能有效解决多线程竞争共享资源时的线程安全问题。同时,结合多线程技术,我们可以实现如邮件发送、网页数据爬取等实用功能。

2025-09-26 21:37:28 659

原创 Java多线程的基本创建方式、线程控制

线程是操作系统能够进行调度的最小单位,每个线程都有自己的执行路径和资源。线程池是一种管理和复用线程的技术,通过预先创建一定数量的线程来处理任务,避免了频繁创建和销毁线程的开销。线程池可以有效控制并发线程的数量,提高系统资源的利用率和程序的稳定性。要获取TimerTask的执行总时长,可以通过记录任务开始和结束的时间来计算。如果implements Runnable,可以再继承其它的类,通过实现角度也可以实现其它的接口,功能的扩展不受限制。在TimerTask的run()方法中,记录任务开始执行的时间。

2025-09-26 17:02:08 833

原创 Java异常:从编译错误到运行时异常

编译时错误是指在源代码编译成字节码过程中发现的错误。这些错误阻止了.java文件成功编译为.class文件,通常是由于语法违规或基本的语义问题导致的。逻辑错误是最难以发现的错误类型,程序能够正常运行且不抛出异常,但产生的结果与预期不符。典型场景数据处理算法错误业务逻辑条件判断错误数据清洗规则错误数据库查询条件错误// 逻辑错误示例:字符串处理// 错误逻辑:忽略了空格处理// 如果输入是"123 4567 8901"就会验证失败// 修正版本// 移除所有空格后再验证编译时错误。

2025-09-15 01:28:57 1048

原创 Java设计模式:单例模式、工厂模式、模板模式、策略模式、代理模式

设计模式是软件设计中常见问题的典型解决方案,它们是经过验证的最佳实践,能够帮助开发者构建更加灵活、可维护和可扩展的软件系统。设计模式不是具体的代码实现,而是解决特定问题的模板和思路,可以根据实际需求进行调整和应用。所有设计模式的核心主线都是基于动态绑定方法重写和组合这三个面向对象的基本特性。

2025-09-15 00:12:32 796

原创 Java的抽象类与接口

抽象类是用abstract关键字修饰的类,它代表一种未完成的类结构。抽象类的核心特征在于它不能直接实例化,必须通过子类来完成具体的实现。简化:使用abstract修饰的类就是抽象类// 抽象方法:只有声明没有实现// 普通方法:可以有具体实现System.out.println("这是一个普通方法");// 抽象类中可以有构造函数System.out.println("抽象类构造函数,参数: " + a);// 静态方法。

2025-09-15 00:12:14 251

原创 java的三大核心特征(封装、多态、继承)(3)

throws关键字用于在方法签名中声明异常,表示该方法可能会抛出指定类型的异常。异常分为两大类:检查异常(Checked Exception):继承于Exception类,编译时错误: 不能编译成功,没有产生.class文件非检查异常(Unchecked Exception):继承于类运行时异常: 编译成功,运行出现异常。

2025-09-13 01:19:27 573

原创 java的三大核心特征(封装、多态、继承)(2)

基于已有类创建新类,新类继承父类的属性和方法,并可以添加新的功能或修改现有功能。

2025-09-13 01:15:07 564

原创 java的三大核心特征(封装、多态、继承)(1)

super是 Java 中的一个关键字,用于在子类中访问父类的成员(属性、方法、构造函数)。在构造函数中的super()表示调用父类的构造函数。5.2 为什么需要 super?"先有爸爸,才有儿子"在创建子类对象时,必须先初始化父类的部分,然后再初始化子类的部分。5.3 super 的使用规则规则 1:隐式调用(无参构造函数)public Base() { // 父类有无参构造函数System.out.println("Base无参构造");public Son() { // 子类构造函数。

2025-09-05 04:33:58 648

原创 Java的值传递机制+return关键字+this关键字+块执行顺序

本文详细解析了Java编程中的关键概念:1. 值传递机制:基本类型传递值副本,引用类型传递引用副本,修改引用对象会影响原对象但重新赋值不会影响原引用。2. 构造方法特性:不能使用return返回值,但允许空return语句。3. this关键字的三种核心用法:区分成员/局部变量、构造函数间调用、传递当前对象实现链式调用,并强调static上下文中不能使用this。4. 代码块执行顺序:静态块(类加载时)>匿名块(对象创建时)>构造方法,继承关系中遵循父类到子类的执行顺序。通过实例代码演示了这些概

2025-09-04 18:00:51 337

原创 Java类的组成

Java语言作为现在主流的编程语言之一,核心特征就是Java是纯面向对象的语言,主要关注对象能独立完成哪些功能。这里主要介绍Java的组成,作为Java的第一课。第一步,我们先在eclipse中新建一个Java 项目。输入project name项目名称点击finish现在我们成功新建了一个Java项目,在src目录创建包package。src目录下可以创建多个不同名的包,不同包之间可以创建同名文件。包目录下创建Java作为编程输入的容器。

2025-08-04 01:21:34 1013

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除