- 博客(28)
- 资源 (85)
- 收藏
- 关注
转载 解决 docker run 报错 oci runtime error
在部署新服务器运行docker镜像的时候遇到了报错,记录下解决方法。docker 启动容器报错:Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup config...
2019-12-31 16:40:27 5596
转载 SELinux 引起的docker启动失败
问题描述:有一台使用中的docker突然发生了故障,然后启动docker失败。机器的系统版本:CentOS Linux release 7.3.1611 (Core)最后将这台机器的docker卸载后重装,但是docker还是起不来,启动docker报“Error starting daemon: SELinux is not supported with the overlay2 g...
2019-12-31 16:16:00 2354 1
转载 Java NIO使用技巧
通道间直接传输数据transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中。RandomAccessFile fromFile = new RandomAccessFile("fromFile.txt", "rw");FileChannel fromChannel = fromFile.getCh...
2019-12-27 17:24:52 181
转载 真正理解NIO
目录前言什么是NIOIO和NIO的区别NIO的核心实现通道Channel缓存Buffer缓冲区常用的操作Selector参考文章前言高并发量引起的问题。一个使用传统阻塞I/O的系统,如果还是使用传统的一个请求对应一个线程这种模式,一旦有高并发的大量请求,就会有如下问题:线程不够用, 就算使用了线程池复用线程也无济于事; 阻塞I/O模式下,会...
2019-12-27 11:48:44 610
转载 Buffer之position,limit,capacity
一、前言熟悉NIO的人想必一定不会陌生buffer中position,limit,capacity这三个属性吧,之前在学习的时候遇到一个问题:就是当你先往缓冲区写入一部分数据,然后调用flip()方法,再全部读取完数据,然后再调用flip()方法,此时这三个值的变化是怎样的,研究了一下,决定写下来分享一下。二、正文1、介绍position: 它指的是下一次读取或写入的位置。 li...
2019-12-27 11:27:11 637
转载 并发编程-NIO使用
前言上文《从入门到放弃-SpringBoot》SpringBoot源码分析-请求过程中我们了解到,tomcat接收、返回请求的过程都是基于NIO实现的。日常工作中有很多基于NIO的使用,我们知道NIO可以提高系统的并发度,接下来的系列我们来深入学习下NIO,本文先从使用上简单概述。NIO概述NIO即non-blocking(New IO),是指jdk1.4 及以上版本里提供的新api。...
2019-12-27 10:55:49 285
转载 ReentrantLock中公平锁和非公平锁的区别
目录背景知识ReentrantLock的组成概述公平锁示意图非公平锁示意图源码解读非公平锁公平锁代码对比问题知识扩展tryLock方法参考资料背景知识ReentrantLock的组成首先看下ReentrantLock的组成结构。公平锁和非公平锁主要是通过内部类FairSync和NonFairSync中的tryAquire()方...
2019-12-26 17:51:02 1487
转载 Java多线程 -- 公平锁和非公平锁的一些思考
在java的锁机制中,公平和非公平的参考物是什么,个人而言觉得是相对产生的结果而立,简单的来说,如果一个线程组里,能保证每个线程都能拿到锁,那么这个锁就是公平锁。相反,如果保证不了每个线程都能拿到锁,也就是存在有线程饿死,那么这个锁就是非公平锁。本文围绕ReenTrantLock来讲。实现原理那如何能保证每个线程都能拿到锁呢,队列FIFO是一个完美的解决方案,也就是先进先出,java的...
2019-12-26 17:38:28 360
转载 Java中的Unsafe
目录获取Unsafe主要功能普通读写读写一个Object属性的相关方法Unsafe还可以直接在一个地址上读写volatile读写有序写入直接内存操作CAS相关偏移量相关线程调度类加载内存屏障Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我...
2019-12-26 17:07:43 163
转载 图解悲观锁和乐观锁
目录这篇文章讲什么一、什么是悲观锁,什么是乐观锁锁(Lock)悲观锁(Pessimistic Concurrency Control)乐观锁(Optimistic Concurrency Control)二、怎么实现悲观锁,怎么实现乐观锁悲观锁解决乐观锁解决三、乐观锁和悲观锁的优缺点悲观锁乐观锁四、乐观锁和悲观锁的应用场景参考资料这篇文章讲什...
2019-12-26 15:33:44 294
原创 CentOS上安装Clustershell
环境准备下载安装包下载 clustershell-1.7.3.tar.gz 和 setuptools-1.1.6.tar.gz网盘地址:https://pan.baidu.com/s/1x105a1cj0qTOkxRXs-oyjw安装PythonPython安装:https://blog.csdn.net/pengjunlee/article/details/89100730...
2019-12-23 18:11:59 842
转载 运维利器--ClusterShell
一、优点它的优点很多,我最看重的有三点: 安装简单。在CentOS 7下一条命令搞定。 配置简单。我们只需要配置管理服务器可以通过SSH免密登录其他客户端。 使用方便。ClusterShell指令只有简单的2~3条,其他就像在本地操作一样。 二、安装sudo yum install clustershell三、配置ClusterShell的配置文件都...
2019-12-23 17:41:40 291
原创 CentOS上安装部署Kafka
环境准备安装JDK在安装Kafka之前需要先安装JDK,JDK的安装与配置,请参考文章:https://blog.csdn.net/pengjunlee/article/details/53932094下载安装包官网下载:http://kafka.apache.org/downloads单节点安装Kafka当前的稳定版本是 2.4.0,下载其二进制安装包kafka_2.1...
2019-12-19 17:29:22 726
转载 Kafka学习之路 (二)Kafka的架构
目录一、Kafka的架构二、Topics和Partition三、Producer消息路由四、Consumer Group五、Push vs. Pull六、Kafka delivery guarantee一、Kafka的架构如上图所示,一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Mem...
2019-12-19 15:29:50 139
转载 Kafka学习之路 (一)Kafka的简介
目录一、简介1.1 概述1.2 消息系统介绍1.3 点对点消息传递模式1.4 发布-订阅消息传递模式二、Kafka的优点2.1 解耦2.2 冗余(副本)2.3 扩展性2.4 灵活性&峰值处理能力2.5 可恢复性2.6 顺序保证2.7 缓冲2.8 异步通信三、常用Message Queue对比3.1 RabbitMQ3.2 ...
2019-12-19 11:43:03 202
原创 LeetCode刷题笔记(验证二叉搜索树)
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 ...
2019-12-17 18:48:56 288
转载 Java并发编程--volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来...
2019-12-16 11:03:03 277
转载 一套图 搞懂“时间复杂度”
写在前面:这篇文章是在公众号: 程序员小灰 中发布的。是我到目前为止所看到的关于时间复杂度介绍的最好的文章,简介 清晰 明了。所以拿来po出来 仅供学习交流,如侵则删。现已将此文收录至:《数据结构》C语言版 (清华严蔚敏考研版) 全书知识梳理正文:时间复杂度的意义究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个...
2019-12-13 16:08:22 153
原创 LeetCode刷题笔记(三)
11. 有效的括号给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"...
2019-12-12 09:33:04 177
原创 LeetCode刷题笔记(二)
6. 字符串转换整数请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存...
2019-12-11 14:02:18 215
原创 LeetCode刷题笔记(一)
1.两数之和给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:# 给定 nums = [2, 7, 11, 15], target = 9# 因为 nums[0] + nums[1] = 2 + 7 = 9#所以...
2019-12-10 10:51:33 229
原创 Docker容器跨主机访问
在《Docker容器间互联》一文中,我们了解了如何实现同一宿主机下的Docker容器互联。本章将继续之前的话题,接着介绍当容器部署在不同的主机上时,容器之间如何互联。使用Weave实现容器互联Weave是什么?Weave,原义为编织。在这里喻指建立一个虚拟网络,用于将运行在不同主机的 Docker 容器连接起来。官网:https://www.weave.worksGithu...
2019-12-06 11:25:52 2011
转载 CentOS 7 安装Open vSwitch
最近在研究Docker网络方案,需要安装OVS,记录下安装配置过程1. 关闭SELINUX#永久关闭SELINUX编辑/etc/selinux/config文件,并设置SELINUX=disabled,然后重启生效 #临时关闭SELINUXsetenforce 0 #临时打开SELINUXsetenforce 1 #验证SELINUX状态(Permis...
2019-12-06 11:01:14 520
原创 Docker容器的数据管理
什么是数据卷(Data Volume)数据卷是经过特殊设计的目录,可以绕过联合文件 UFS,为一个或者多个容器提供访问。其设计目的在于数据的永久化,数据卷是存在于宿主机中的文件或者目录,因此它与Docker容器的生命周期是完全分离的,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。数据卷的特点:数据卷在容器启动时初始化,如果...
2019-12-05 18:23:28 393
原创 Docker容器间互联
允许所有容器互联默认情况下,同一宿主机下的所有Docker容器相互之间是能够进行网络访问的。例如,分别启动两个Nginx容器,然后通过其中任意一个Nginx(IP地址:172.17.0.2)可以访问到另一个Nginx(IP地址:172.17.0.3):# 启动两个 Nginx 容器 nginx_server1、nginx_server2[root@localhost dockerf...
2019-12-05 11:44:44 1164
原创 Docker网络基础
目录修改docker0地址自定义虚拟网桥更换网桥Docker守护进程在启动时会自动创建一个docker0网卡(Linux虚拟网桥),用来为各个Docker容器的网络连接提供支持。用户每启动一个Docker容器都会在运行Docker守护进程的宿主机上创建一个名称以veth开头的网络接口,Docker容器正是通过这个这个网络接口来实现与docker0之间的网络连接。以...
2019-12-04 15:52:32 459
原创 Docker构建镜像
目录使用容器构建镜像启动容器安装JDK安装Tomcat退出容器构建镜像Tomcat容器内部署应用使用DockerFile构建镜像DockerFile指令镜像构建过程构建基于CentOS的Nginx镜像下载Nginx安装包编写DockerFile构建镜像使用镜像启动Nginx通过构建 Docker 镜像,可以帮助我们实现如下功能:保...
2019-12-02 18:47:24 480
转载 CentOS7下解决ifconfig command not found的办法
注:本办法仅限于可联网的机器,即在安装时设置了IP地址和DNS可正常上网。解决办法如下:1、输入ip addr 确认IP地址是否设置正常,设置好如下所示,如果没有获取到IP地址则设置一个即可。2、确认sbin目录是否存在。cd /sbin3、确认ifconfig命令是否未安装在sbin目录下输入ls,可见下图所示,并没有ifconfig。4、安装net-...
2019-12-02 10:33:00 372
Quartz Job Scheduling Framework 中文版
2017-12-03
Java中使用Quartz进行任务调度常用操作
2017-12-03
Spingboot+Quartz基于数据库的作业任务调度
2017-12-03
mybatis+log4j+mysql.rar
2017-09-24
JSONObject所需Jar包合集
2017-09-14
commons-dbcp-1.4.jar+commons-pool1.56.jar
2017-09-14
Gson解析Json示例源码
2017-09-13
gson-2.6.2.jar+API+源码
2017-09-13
大黄蜂网络下载助理
2017-09-07
kafka-demo.zip
2020-01-07
bootstrap风格zTree组件
2018-12-19
微信公众平台开发教程(含java代码)
2018-05-23
Springboot中使用JPA操作数据库
2018-04-22
spring-boot-initializer
2018-04-09
SpringBoot中使用@Conditional示例代码
2018-03-26
spring-boot读取配置文件示例
2018-03-21
微信公众号开发--消息与事件处理
2018-02-24
MyBatis从入门到精通
2018-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人