摘要: Apache Ranger是什么,它是一个为Hadoop平台提供了全面的数据安全访问控制及监控的集中式管理框架,Apache顶级项目。不废话了,其实本篇没那么高大上,就是一步步教你如何将Ranger源码导入到IDEA,并运行调试其web模块。 阅读全文
posted @ 2018-08-06 21:55 还是搬砖踏实 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 前言 一般情况下使用线程池都是通过Executors的工厂方法得到的,这些工厂方法又基本上是调用的ThreadPoolExecutor的构造器。也就是说常用到的线程池基本用到的是ThreadPoolExecutor。ThreadPoolExecutor的大概原理是先规定一个线程池的容量,然后给提交过 阅读全文
posted @ 2018-08-05 10:16 还是搬砖踏实 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: Exchanger应该算并发包中工具使用相对少的,因为它主要用于线程之间交换数据,它的用法比较简单在不同线程之间使用exchange方法交换数据,但是内部实现比较巧妙,使用了unsafe的CAS原子操作、自旋来解决冲突问题,下面我们通过源码一探究竟。 阅读全文
posted @ 2018-07-29 22:17 还是搬砖踏实 阅读(1075) 评论(0) 推荐(0) 编辑
摘要: 前言 这次分析信号量Semaphore,为什么称之为信号量呢?是因为它可以控制同时访问某个资源的操作数量或是同时执行某个指定操作的数量。就好比它像一个租赁汽车的公司,租赁公司的汽车的数量是固定的,用完需要归还,用之前需要去租借(acquire 前提是还有可用的汽车),如果汽车都被租出去了,那只能等到 阅读全文
posted @ 2018-07-27 02:02 还是搬砖踏实 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 前言 CountDownLatch是一个闭锁实现,它可以使一个或者多个线程等待一组事件发生。它包含一个计数器,用来表示需要等待的事件数量,coutDown方法用于表示一个事件发生,计数器随之递减,而await方法等待计数器为0之前一直阻塞。它是基于AQS的共享锁来实现的,其中使用了较多的AQS的方法 阅读全文
posted @ 2018-07-26 23:33 还是搬砖踏实 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 前言 CyclicBarrier它是什么?一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点。类似于朋友之间联系要在中午聚个会,几个朋友全部到齐后才开始喝酒吃菜。 它内部维护了一个计数值count,每当一个线程就绪时该计数值就减小一次,当count为0时表示所有线程就绪,此时唤醒所有线程 阅读全文
posted @ 2018-07-25 00:01 还是搬砖踏实 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 前言 ReentrantLock和synchronized一样是一个可重入的互斥锁,但ReentrantLock功能更强大,它提供了非公平和公平两种锁争用策略供使用者选择,而synchronized只有非公平一种。ReentrantLock提供了可中断的锁等待机制以及可用于多组线程需要分组唤醒的条件 阅读全文
posted @ 2018-07-24 16:57 还是搬砖踏实 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 前言 AQS是并发包的核心基础类,它是构建阻塞锁和相关同步器(信号量、事件,等等)的框架,可以毫不夸张的说整个java.util.concurrent包中除了原子类都与其相关(比如我们常见的显示锁ReentrantLock、闭锁CountDownLatch、信号量 Semaphore、线程池Thre 阅读全文
posted @ 2018-07-22 22:32 还是搬砖踏实 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 前言 众所周知ThreadLocal提供了线程局部变量,独立于变量的初始化副本。ThreadLocal设计初衷是用来存放与当前线程绑定的对象,其它线程不应该去访问也不能访问。文末会用例子来举例说明不当使用会破坏这种设计。 通过源码深入理解 ThreadLocal 通过set方法设置的变量并非是放在T 阅读全文
posted @ 2018-07-20 02:10 还是搬砖踏实 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 前言 String为不可变,StringBuilder、StringBuffer都为可变。 下面是它们之前的关系 为什么String是不可变的? StringBuilder、StringBuffer 两者都继承于AbstractStringBuilder 其中StringBuffer为线程安全,ap 阅读全文
posted @ 2018-07-19 00:21 还是搬砖踏实 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 前言 最近出于习惯问题,顺手点开了String的源码,意外发现String在JDK 8中新增了join方法。(实在惭愧,JDK 8都发布多久了。。。) 源码 String重载了join方法,两个方法的异同点在于,第一个方法使用的可变参数,第二个方法使用的可迭代参数,这样设计主要是为了方法适用性更广。 阅读全文
posted @ 2018-07-18 22:38 还是搬砖踏实 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 前言 当Nginx配置https后通常需要将用户http请求强制跳转到https,下面教你如何在默认端口以及非默认端口下配置nginx.conf http非默认端口强制跳转https配置 当需要使用非默认端口时,按如下配置即可,示例中端口号为8000 http默认端口强制跳转https配置 阅读全文
posted @ 2018-04-26 15:09 还是搬砖踏实 阅读(1532) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL命令行常用命令(psql) 一般我们使用 psql来和数据库交互,方括号中为可选项参数,不带任何参数表示连接本机 psql [option…] [dbname [username]] PostgreSQL命令行常用命令(psql) 登录数据库 导入SQL脚本 常用命令 展示数据库 阅读全文
posted @ 2018-04-19 17:03 还是搬砖踏实 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 操作系统:Centos 下载源码包 http://download.redis.io/releases/redis-4.0.9.tar.gz 解压 编译安装 指定安装路径编译安装 更改配置使其后台启动 修改redis.conf 将daemonize 改为yes 指定端口运行 下图即为指定端口后台运行 阅读全文
posted @ 2018-04-18 17:57 还是搬砖踏实 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 操作系统:Centos 下载源码包 https://www.postgresql.org/ftp/source/v10.3/ 解压 编译安装 指定安装路径 可能出现错误configure: error: readline library not found 执行 编译安装 用户权限 添加用户和用户组 阅读全文
posted @ 2018-04-17 18:00 还是搬砖踏实 阅读(3785) 评论(1) 推荐(0) 编辑
摘要: 操作系统:Centos 下载源码包 http://nginx.org/en/download.html 解压 编译安装 指定安装路径及添加SSL模块功能 可能出现的问题: ./configure: error: the HTTP rewrite module requires the PCRE li 阅读全文
posted @ 2018-04-17 16:40 还是搬砖踏实 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 操作系统:Centos 下载源码包 下载地址 https://www.python.org/downloads/release/python-365/ 解压 安装需要的依赖 编译安装 指定安装路径 如未安装gcc 编译安装 配置环境变量 编辑/etc/profile 添加 使其生效 如果不想使用此方 阅读全文
posted @ 2018-04-17 15:55 还是搬砖踏实 阅读(388) 评论(0) 推荐(0) 编辑
摘要: docker: Error response from daemon: OCI runtime create failed: container_linux.go:348 解决方法 阅读全文
posted @ 2018-04-11 17:31 还是搬砖踏实 阅读(73059) 评论(0) 推荐(0) 编辑
摘要: 操作系统:Centos 目前官方文档提到有两种方式开启PostgreSQL开机启动方法 方式一、使用源码提供的脚本 1、Linux脚本路径为源码包解压后contrib/start-scripts/linux ; 2、将linux文件复制到/etc/init.d或者/etc/rc.d 3、根据安装路径 阅读全文
posted @ 2018-04-11 11:00 还是搬砖踏实 阅读(2033) 评论(1) 推荐(0) 编辑
摘要: 介绍二种跳过单元测试的配置方式 使用maven-surefire-plugin,修改pom文件 执行以下命令即为跳过测试,如不想跳过测试将执行命令skipTests赋值为false或者不带skipTests命令参数即可 使用profile中的配置,修改pom文件 阅读全文
posted @ 2017-02-27 09:04 还是搬砖踏实 阅读(2269) 评论(0) 推荐(0) 编辑