摘要:
InetAddress类,此类表示Internet协议(IP)地址。具体使用方法查看文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetAddress.html InetSocketAddress, 阅读全文
摘要:
返回的地址一样 说明只创建了一个对象 线程局部变量:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ThreadLocal.html ReentrantLock的原理就是内部设置一个计数器,每次加锁的时候的 阅读全文
摘要:
具体参见JDK文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Timer.html 定时调度框架:Quartz https://www.w3cschool.cn/quartz_doc/quartz_d 阅读全文
摘要:
线程间通信的方法: 经典模型:生产者消费者模式 1.管程法: 输出: 生产的第0杯奶茶 消费的第0杯奶茶 消费的第1杯奶茶 生产的第1杯奶茶 生产的第2杯奶茶 消费的第2杯奶茶 生产的第3杯奶茶 消费的第3杯奶茶 消费的第4杯奶茶 生产的第4杯奶茶 生产的第5杯奶茶 生产的第6杯奶茶 生产的第7杯奶 阅读全文
摘要:
线程不安全举例,存钱取钱 账户余额有时为负数。 会出现以上两种结果,都是错误的。 并发:指同一个对象被多个线程同时操作。 并发可能会导致数据不一致,存在线程安全等问题。 解决此问题可以使用synchronized关键字修饰方法(锁的是this对象) 或者 代码块 如下解决上面的不同步问题 采用的是s 阅读全文
摘要:
sleep 变为阻塞态 但不释放锁 休眠指定毫秒时间 yield 变为就绪态 可能立即被执行 也可能不立即被执行 join 插队 暂停当前执行的线程 让调用join的线程先执行 线程的run方法可以写的比较复杂,可以在其中启动另一个线程。 线程状态:JDK文档中的 线程的优先级:1-10 设置优先级 阅读全文
摘要:
java实现多线程有三种方式:继承Thread类,重写run方法,启动使用start;实现runnable接口,重写run方法;实现callable接口,重写call方法(可以有返回值,也可以抛出异常) 1.多线程实现文件下载 利用FileUtils.copyURLtoFile() 模拟抢票(同步问 阅读全文
摘要:
工程创建成功后,构建本项目的层次结构。 本工单系统采用的是mapper(dao)层+service层+controller层来进行实现。 mapper层主要是利用mybatis与数据库进行交互,创建数据访问接口。 service层主要用于调用mapper层的数据访问接口,并可对返回的数据进行适当的处 阅读全文
摘要:
本项目后端采用的是SpringBoot+Mybatis进行开发,为REST风格。前端采用的Vue.js框架,组价使用的是Element。数据库使用的是Mysql。部署采用的是nginx+docker。 本博客只用于记录开发思路,具体的实现细节可参考本人的GitHub。 数据库的表结构实现细节省略。 阅读全文
摘要:
本工单系统具有如下功能: 用户登录进去之后,会有热点问题推荐,避免用户重复提交类似的问题 用户可以查看提交的历史工单,并可以通过工单编号、提交时间、关键字进行检索,也可以通过工单状态进行筛选 用户可以一直追踪工单的状态,并在工单处理过程中一直与维护工程师进行交流,保持沟通 用户可以对已完结的工单进行 阅读全文