摘要: 我们将生产者、消费者、库存、和调用线程的主函数分别写进四个类中,通过抢夺非线程安全的数据集合来直观的表达在进行生产消费者模型的过程中可能出现的问题与解决办法。 我们假设有一个生产者,两个消费者来共同抢夺库存里的资源,而生产者和消费者都以线程来实现。 库存对象只有是唯一的才会出现抢夺一个资源的可能,所以为了... 阅读原文
2019-10-04 08:22:03 阅读(2395) 评论(0)
摘要: vue实现选择图片文件后预览 利用h5的api可以实现选择文件并实现预览 readAsDataURL 方法会读取指定的 Blob 或 File 对象。读取操作完成的时候,readyState 会变成已完成DONE,并触发 loadend 事件,同时 result 属性将包含一个data:URL格式的字符... 阅读原文
2019-10-04 07:52:02 阅读(2352) 评论(0)
摘要: 工程pom中公共依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.out... 阅读原文
2019-10-04 07:09:03 阅读(2774) 评论(0)
摘要: 背景 在没有泛型前,一旦把一个对象丢进集合中,集合就会忘记对象的类型,把所有的对象都当成 Object 类型处理。当程序从集合中取出对象后,就需要进行强制类型转换,这种转换很容易引起 ClassCastException 异常。 定义 程序在创建集合时指定集合元素的类型。增加了泛型支持后的集合,可以记住集合中... 阅读原文
2019-10-04 06:36:02 阅读(2347) 评论(0)
摘要: 1、准备工作 PS:为了偷懒,每个pom文件都要依赖的公共依赖配置放在下面: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta... 阅读原文
2019-10-04 06:00:03 阅读(2423) 评论(0)
摘要: [学习笔记] 6.Oracle DataSource and SingleTon:  import oracle.jdbc.pool.OracleDataSource;import java.sql.Connection;import java.sql.*;public class OracleSingl... 阅读原文
2019-10-04 00:28:02 阅读(2412) 评论(0)
摘要: # 1. 示例 构造器注入类,分别有三个构造器,一个是无参构造器,一个是注入一个Bean的构造器,一个是注入两个Bean的构造器: public class ConstructorAutowiredTest { private User user; private Role role; public Co... 阅读原文
2019-10-03 22:37:01 阅读(2725) 评论(0)
摘要: # 前言 开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措。对于RabbitMQ和Kafka,到底应该选哪个?   # RabbitMQ架构 ## 概念 RabbitMQ是一个分布式系统 **broker**:每个节... 阅读原文
2019-10-03 21:36:04 阅读(2465) 评论(0)
摘要: List 集合 List 集合中元素有序、可重复,集合中每个元素都有其对应的索引顺序。 List 判断两个对象相等,只要通过 equals 方法比较返回 true 即可。 看个例子: public class A { public boolean equals(Object obj) { ... 阅读原文
2019-10-03 20:16:02 阅读(2375) 评论(0)
摘要: 问题 (1)zookeeper如何实现分布式锁? (2)zookeeper分布式锁有哪些优点? (3)zookeeper分布式锁有哪些缺点? 简介 zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它可以为分布式应用提供一致性服务,它是Hadoop和Hbase的重要组件,同时也可以作为配置中... 阅读原文
2019-10-03 18:39:03 阅读(2726) 评论(0)