自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Java 随机数 Random VS SecureRandom

https://www.jianshu.com/p/2f6acd169202

2020-04-10 19:20:41 43 0

转载 Linux 安装python3.7.0

我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同,可通过python --V 或 python --version 查看系统自带的python版本 有一些系统命令时需要用到python2,不能卸载 1、安装依赖包 ...

2019-09-02 15:38:01 260 0

转载 “No module named '_ctypes'”/pip install时“ssl module in Python is not available.”的解决

1.下载安装包 https://www.python.org/ftp/python/ 该目录下选择所需要的版本进行下载、解压。 wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz tar-xzvf Python-3.7.1...

2019-09-02 15:35:16 100 0

转载 Linux 下python3.7 安装

我这里使用的是CentOS7,默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装python3和python2共存 1、安装依赖包   1)首先安装gcc编译器...

2019-07-11 18:06:18 190 1

转载 Python入门:Anaconda和Pycharm的安装和配置

子曰:“工欲善其事,必先利其器。”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运行即可,但是对于我这样懒的小白,我喜欢装一些方便的软件来辅助我编写程序。在学习Java时,正常情况选择安装JDK...

2019-07-11 16:45:38 52 0

转载 倒排索引

一、倒排索引 倒排索引(inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或一组文档中存储位置的映射。它是文档检索系统中最常用的数据结构。 有两种不同的倒排索引形式: 一条记录的水平反向索引(或者反向档案索引)...

2019-07-11 15:51:23 55 0

转载 MySQL两种存储引擎: MyISAM和InnoDB 简单总结

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB...

2019-07-09 18:25:49 31 0

转载 从harbor部署到在k8s中使用

一、概述   harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜像仓库使用。官方的说法是:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。 ...

2019-06-25 11:07:40 1276 0

转载 Jenkins+Docker持续集成

本节内容: Jenkins介绍 安装部署Jenkins Jenkins构建maven风格的job Jenkins邮件通知设置 Sonar Jenkins与Docker结合 一、Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续...

2019-06-23 16:29:26 7995 1

转载 Kubernetes使用prometheus+grafana做一个简单的监控方案

前言 本文介绍在k8s集群中使用node-exporter、prometheus、grafana对集群进行监控。 其实现原理有点类似ELK、EFK组合。node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus, prometheus负责存储这些数据...

2019-06-19 18:25:24 225 0

转载 Prometheus-使用Prometheus监控Kubernetes集群

image 部署Prometheus 创建命名空间 新建一个yaml文件命名为monitor-namespace.yaml,写入如下内容 apiVersion: v1 kind: Namespace metadata: name: monitoring 执行如下命令创建mo...

2019-06-19 16:04:06 91 0

转载 kubernetes 1.14安装部署metrics-server插件

简单介绍: 如果使用kubernetes的自动扩容功能的话,那首先得有一个插件,然后该插件将收集到的信息(cpu、memory..)与自动扩容的设置的值进行比对,自动调整pod数量。关于该插件,在kubernetes的早些版本中采用的是heapster,1.13版本正式发布后,丢弃了heapst...

2019-06-19 11:36:26 946 0

转载 where 子句和having子句中的区别

1.where 不能放在GROUP BY 后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以 Where和Having都是对查询结果...

2019-06-18 11:24:03 171 0

转载 ZooKeeper Watch机制

为什么添加Watch ZooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调内核,用户可以在此之上构建更多复杂的分布式协调功能。 多个分布式进程通过ZooKeeper提供的API来操作共享的ZooKeeper内存数据对象ZNode来达成某种一致的行为或结果,这种...

2019-06-18 11:20:27 775 0

转载 如何正确地停止一个线程?

停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。 在java中有以下3种方法可以终止正在运行的线程: 使用退出标志,...

2019-06-18 11:19:11 80 0

转载 kafka安装教程

1.下载 下载地址:http://kafka.apache.org/downloads 以键头所指版本为例 2.安装 下载的版本已经编译,直接解压到想要的目录就算安装好了 tar -zxf kafka_2.11-0.11.0.1.tgz -C /usr/myapp 3.配...

2019-06-18 11:13:55 66 0

转载 使用Docker-compose编排容器

在《Docker入门》中,我们使用了5个容器,3个使用已有镜像,两个使用的dockerfile构建的镜像,一个个启动很麻烦。今天我们使用Docker集群管理三剑客之一的Docker-compose来编排容器。   Compose是Docker集群管理的工具。你可以在一个文件中定义一个多容器的应用...

2019-06-18 11:11:33 147 0

转载 Docker入门

部署一个Django应用,要使用nginx、uwsgi、redis和mysql;nginx、redis和mysql都有现成的docker镜像、只需要一个python2.7的镜像安装uwsgi启动项目,然后这几个docker连起来,就OK啦。 实现步骤: 安装docker,下载需要的镜像 启动...

2019-06-18 11:10:09 48 0

转载 k8s dashboard认证及分级授权

Dashboard官方地址:https://github.com/kubernetes/dashboard dashbord是作为一个pod来运行,需要serviceaccount账号来登录。 先给dashboad创建一个专用的认证信息。 先建立私钥: 1 2 ...

2019-06-18 11:00:35 978 0

转载 JENKINS登录后页面显示为空的问题

1.然后再打开一个新的窗口,输入网址http://localhost:8080/jenkins/pluginManager/advanced,输入网址打开后滑动到页面下方,最底下有个【升级站点】,把其中的链接改成这个http的链接 http://updates.jenkins.io/update-...

2019-05-29 15:27:46 1317 0

原创 Filebeat+Kafka+Logstash+ElasticSearch+Kibana+Springboot二次部署笔记

带着三年前分分钟搞定环境的优越感,在新的系统环境里重新搭建一套分布式日志采集系统,着实给自己坑了一把,今天把踩到的坑和经验总结一下,希望帮到后来的小伙伴。 先上一张成功的截图,喜悦一把:) ==================================华丽丽的分割线====...

2019-05-17 14:52:13 1182 0

原创 Jenkins远程发布笔记2

  由于工作变动,再次搭建Jenkins环境,本次环境为Jenkins + maven + github + git + Springboot + 阿里云服务器;前期准备还是预装Jenkins,并且安装好相关的插件;由于本地使用了ssh免密登录传输的方式,所以前期准备过程中增加个个相关主机生成秘钥...

2019-05-14 10:57:57 33 0

转载 ConcurrentHashMap 从Java7 到 Java8的改变

一、关于分段锁 1.分段锁发展概况 集合框架很大程度减少了java程序员的重复劳动。在Java多线程环境中,以线程安全的方式使用集合类是一个首先考虑的问题。 能够保证线程安全的哈希表中,ConcurrentHashMap是大家都熟知的,也知道它内部使用了分段锁。然而,进入到Java8时代,分...

2019-03-17 19:33:00 161 0

转载 浅析Oracle和Mysql分页的区别

Mysql使用limit分页而Oracle使用rownum分页,下面通过本文给大家介绍Oracle和Mysql分页的区别,需要的的朋友参考下吧 一、Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSiz...

2019-03-17 19:30:00 436 0

转载 HTTP与TCP的区别和联系

相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 一、基本概念 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使...

2019-03-17 19:22:38 251 0

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某...

2019-03-17 19:18:03 61 0

转载 mybatis中批量插入的两种方式(高效插入)

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。这篇文章主要介绍了mybatis中批量插入的两种方式(高效插入)的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧 MyBatis简介 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层...

2019-03-17 19:10:23 4555 0

转载 ReentrantLock的使用

ReentrantLock(重入锁) public class MyService { private Lock lock = new ReentrantLock(); public void testMethod() { lock.lock(); ...

2019-03-17 19:08:46 280 0

转载 RPC原理及RPC实例分析

在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 public class Test { public static void main(String[] args) { ...

2019-03-13 12:28:24 141 0

转载 分布式系统的接口幂等性设计

在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景: 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次 ...

2019-03-13 12:19:49 80 0

转载 浅谈,分布式事务与解决方案

前言 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务...

2019-03-13 12:17:49 130 0

转载 Java学习者需懂得的20道线程题

无论你是一个新程序员还是老手,你一定在面试中遇到了一个问题。java语言的一个重要特征是并发的内置支持,使得企业和java程序员流行。大多数的高薪职位要求开发商在开发java多线程技术熟练,有丰富的经验,在开发、调试和优化java程序,所以线程相关的问题往往在访谈中提到。 在一个典型的java面...

2019-02-28 18:25:16 75 0

转载 常见的50道java基础面试题

1、作用域public,private,protected,以及不写时的区别 答:区别如下: 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的...

2019-02-28 18:24:35 67 0

转载 从阿里巴巴的面试题考考你对TCP 中序列号和确认序列号的理解

前言 关于TCP的序列号与确认序列号的知识我们这里不说,我们看看具体到TCP相关的笔试中是怎么考察TCP的序列号与确认序列号的。。 关于TCP序列号与确认序列号的说明 TCP报文的首部字段中确认序列号是期望收到对方下一个报文段的第一个数据字节的序号。 如果确认序列号为N,则表明...

2019-02-28 18:23:42 292 0

转载 让面试官颤抖,HTTP2.0协议之你应该要准备的面试题

Http协议,对于拥有丰富开发经验的程序员来说简直是信手拈来,家常便饭。虽然天天见,但是对于http协议的问题,可能很多人在没有积极准备的情况下,不一定能很好的回答出来。 今天,我们就来讲讲http 2.0和之前版本的区别。 HTTP定义 HTTP协议(HyperTextTransferPr...

2019-02-28 18:22:54 148 0

转载 怎样快速高效学习多线程/线程池?跟着我做完这50道面试题就够了

22) Thread类中的yield方法有什么作用? Yield方法可以暂停当前正在执行的线程对象,让其它有相同优先级的线程执行。它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证使其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂停状态后马上又被执行。 23) Jav...

2019-02-28 18:22:01 122 0

转载 lvs,nginx,HAproxy 三者的各自的优势(区别),工作中如何选择

LVS的优点: 1、抗负载能力强、工作在第4层仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的;无流量,同时保证了均衡器IO的性能不会受到大流量的影响; 2、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat; 3、应用范围比...

2019-02-27 15:08:07 745 0

转载 文件传输协议FTP、SFTP和SCP

网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transfer Protocol) SFTP(SSH File Transfer Protocol...

2019-02-26 17:16:51 130 0

转载 ftp、sftp、scp、ssh、openssh

FTP(File Transfer Protocol):是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。相比于HTTP,FTP协...

2019-02-26 17:13:51 97 0

转载 JVM源码分析之堆外内存完全解读

摘要: 概述 广义的堆外内存 说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指...

2019-02-26 16:51:41 54 0

提示
确定要删除当前文章?
取消 删除