摘要: 背景需求 生产消费模型是线程协作关系中十分常见的一种。通常,一个(多个)线程负责生产,一个(多个)线程可以从生产的列表中获取并消费;生产的内容可以按需求设计,可以是一个Integer,可以是String,可以Object,也可以是任意类型的对象,只要有生产消费的需求。 例如,厨师负责生产美食,放在桌 阅读全文
posted @ 2019-03-29 23:55 Xinxin_Brian 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 前言: 本文首先介绍强引用StrongReference、软引用SoftReference、弱引用WeakReference与虚引用PhantomReference之间的区别与联系; 并通过一个高速缓存的构建方案,来了解SoftReference的应用场景。 本文参考书籍Thinking in Ja 阅读全文
posted @ 2019-02-09 19:27 Xinxin_Brian 阅读(1329) 评论(1) 推荐(0) 编辑
摘要: 定义 Java中的泛型在JavaSE5中引入。所谓泛型,即参数化类型。就是说,类型是以参数的方式传入泛型类。例如: 那么,类型参数就是Integer。 缘由 为什么要引入泛型呢,得看在没有泛型的情况下会存在什么样的问题。看下面这个非常常见的例子: 点击运行,啊哦,ClassCastException 阅读全文
posted @ 2019-01-13 23:39 Xinxin_Brian 阅读(3075) 评论(0) 推荐(0) 编辑
摘要: 一、用途 程序中记录日志,打印到控制台、文件等方式,记录过程可根据日志级别做筛选,日志格式可以自定义。 大概结构如下所示: 简要说明各个模块: (1) LogManager:管理LoggerContext及Logger,可以添加、获取Logger。 (2) LoggerContext: 保存所有Lo 阅读全文
posted @ 2018-11-04 22:27 Xinxin_Brian 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 设计模式是一些场景下的设计经验的总结。 学习设计模式不应把掌握所有的设计套路为目标,而是应该理会设计的思想,明白为何会有这些设计模式,每个模式是为了解决什么问题,在什么场景下会有什么样的效果。 只有多思考这些设计模式存在的意义,结合设计的方法,再尝试着在合适的场景下应用合适的模式,才是正确的方式。 阅读全文
posted @ 2018-09-19 23:25 Xinxin_Brian 阅读(703) 评论(0) 推荐(0) 编辑
摘要: STEP-1:环境准备 MySQL-8.0.20的编译依赖gcc-5.3+/cmake3.5.2+ gcc-5.3依赖库gmp/mpfc/mpc 安装动态库版本如下: (1) gmp-6.1.0 (2) mpfr-3.1.4 (3) mpc-1.0.3 库源码下载地址: ftp://gcc.gnu. 阅读全文
posted @ 2019-05-19 20:03 Xinxin_Brian 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 前言:笔记本的无线网卡无法连接网络,困扰了一段时间,今天终于解决了。做个记录,给需要的小伙伴参考。 一、发现问题 心爱的笔记本连接家里无线网,发现上不了baidu了......o(╥﹏╥)o 无线网图标显示"有限的访问权限": 然后网页都打不开.... 二、问题定位 无法上网的原因很多,究竟是哪个环 阅读全文
posted @ 2019-02-17 13:56 Xinxin_Brian 阅读(1544) 评论(0) 推荐(0) 编辑
摘要: 本文提供一份递归遍历目录获取所有文件及目录的源代码: 演示效果如下,所有的文件名及目录名都被打印出来了。 基于以上代码,按照自己的需求额外扩展实现(例如获取所有文件、或者所有目录,或者提供Iterator接口,在此不作实现)。 阅读全文
posted @ 2019-02-10 19:41 Xinxin_Brian 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 本文以jdk源码为线索学习几种数据类型实现机制。 【HashMap数据机制】 HashMap提供了key、value存储机制。HashMap是LinkedHashMap的基类,其内部维护一个Node数组用来存储数据: 为了解决hash冲突,每个节点存储链表或者红黑树。当链表长度小于阈值8时,使用链表 阅读全文
posted @ 2019-02-01 22:57 Xinxin_Brian 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 概念 Java中数组属于引用类型。数组使用场合较多,对于数组的操作具有一定重复性,例如:数组拷贝,转换字符串,转换成数组,排序等等。既然重复的操作与需求多,那么对于数组操作的支持就成了JDK中的一大需求。java.util.Arrays中提供了很多对数组操作的支持。 System.arraycopy 阅读全文
posted @ 2019-01-20 20:21 Xinxin_Brian 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 本文主要以简单的String/StringBuilder/StringBuffer操作来看这三个类的实现原理。什么简单操作呢?那就是StringBuilder与StringBuffer的append() && toString()两个方法。示例代码如下: 以上的demo中,涉及到了String的构造 阅读全文
posted @ 2018-12-25 22:31 Xinxin_Brian 阅读(286) 评论(0) 推荐(0) 编辑
摘要: (1)解压压缩包,执行cmd进入mysql文件夹bin目录下执行:mysqld --initialize-insecure --basedir="E:\软件研发\mysql\mysql-5.7.20-winx64_1" -- datadir="E:\软件研发\mysql\mysql-5.7.20-w 阅读全文
posted @ 2018-12-07 23:04 Xinxin_Brian 阅读(1050) 评论(0) 推荐(0) 编辑