自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试基础-1-HashMap

jdk1.8 对hash算法与寻址算法的优化hashMap扩容================================================================ 【面试大厂必备】最通俗易懂搞定HashMap的底层原理 ...

2021-01-22 16:36:43 120

原创 面试突击6-分布式会话session

分布式会话(转载自中华石杉)面试题集群部署时的分布式 session 如何实现?面试官心理分析面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式 session。当然了,分布式系统中的问题何止这么一点,非常之多,复杂度很高,这里只是说一下常见的几个问题,也是面试的时候常问的几个。面试题剖析session 是啥?浏览器有个 cookie,在一

2021-01-22 11:50:07 138

原创 面试突击5-分布式锁

zookeeper的使用场景:分布式协调、分布式锁、元数据/配置信息管理、HA高可用分布式锁的实现方式对比redis与zk实现分布式锁的区别zk实现分布式锁的代码解析=============================================使用zookeeper实现分布式锁源码:public class ZooKeeperDistributedLock implements Watcher{ private ZooKeeper zk; private S

2021-01-22 11:19:37 120

原创 面试突击4-RPC框架dubbo

为什么要进行系统拆分?怎么拆分?dubbo工作原理dubbo支持的通信协议dubbo支持的负载均衡策略、集群容错策略、动态代理策略dubbo的spi机制dubbo服务治理、服务降级、失败重试与超时重试分布式系统接口幂等性如何设计分布式系统接口调用的顺序性如何保证如何设计类似dubbo的RPC框架dubbo的相关配置==============================================...

2021-01-21 18:30:06 106

原创 面试突击0-要点简略整理

2021-01-21 11:36:06 129

原创 面试突击3-分布式缓存redis

为什么用缓存?缓存实现高性能、高并发redis与memcached的区别redis单线程模型,效率高redis支持的数据类型,适合什么场景redis的过期策略、内存淘汰;手写一个LRU算法redis的主从复制、哨兵原理redis数据丢失情况及解决方案如何保证redis宕机后重启恢复数据?redis的持久化rdb与aof持久化的优缺点分布式数据存储的核心算法(hash、一致性hash、hash slot)redis cluster缓存雪崩及解决缓存穿透及解决如何保证缓存与数据库双写的

2021-01-21 11:24:11 98

原创 面试突击2-分布式搜索引擎ES

分布式搜索引擎elasticsearch的架构设计?写数据的工作原理删除数据的原理查询数据的原理数十亿级别的数据,如何提高检索效率?(性能优化)你们公司的分布式搜索引擎是如何部署的?...

2021-01-18 20:20:05 104

原创 面试突击1-MQ相关

为什么使用MQ使用MQ的优缺点MQ的技术选型如何保证MQ的高可用如何保证消息不被重复消费(幂等性)如何保证消息的可靠性传输(不丢消息)如何保证消息消费的顺序性如何设计一个消息中间件...

2021-01-17 20:17:45 123 1

原创 nginx学习-3(摘抄自微信公众号-高效运维)

概述什么是 Nginx?Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。使用nginx 的使用比较简单,就是几条命令。常用到的命令如下:nginx -

2021-01-01 15:59:34 190

原创 db2错误代码大全

SQLCode SQLState 状态说明000 00000 SQL语句成功完成01xxx XXX SQL语句成功完成,但是有警告+012 01545 未限定的列名被解释为一个有相互关系的引用+098 01568 动态SQL语句用分号结束+100 02000 没有找到满足SQL语句的行+110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统+111 01590 为2型索引设置了SUBPAGES语句+117 01525 要插入的值的个数不等于被插入表的列数+1

2021-01-01 15:46:34 2158

原创 kafka学习--07(扩展)

1 Kafka与Flume比较在企业中必须要清楚流式数据采集框架flume和kafka的定位是什么:flume:cloudera公司研发:适合多个生产者;适合下游数据消费者不多的情况;适合数据安全性要求不高的操作;适合与Hadoop生态圈对接的操作。kafka:linkedin公司研发:适合数据下游消费众多的情况;适合数据安全性要求较高的操作,支持replication。因此我们常用的一种模型是:线上数据 --> flume --> kafka --> flume(根

2021-01-01 15:44:11 133

原创 kafka学习--06(Kafka Stream数据清洗案例)

0)需求:实时处理单词带有”>>>”前缀的内容。例如输入”atguigu>>>ximenqing”,最终处理成“ximenqing”1)需求分析:2)案例实操(1)创建一个工程,并添加jar包 <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-streams --> <dependency> <groupId>org.apache.kaf

2021-01-01 15:35:11 196

原创 kafka学习--05(拦截器)

1 拦截器原理Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许用户指定多个interceptor按序作用于同一条消息从而形成一个拦截链(interceptor chain)。Intercetpor的实现接口是org.apache.kafka.client

2021-01-01 15:06:57 97

原创 kafka学习--04(消费者低级API)

实现使用低级API读取指定topic,指定partition,指定offset的数据。1)消费者使用低级API 的主要步骤:步骤 主要工作1 根据指定的分区从主题元数据中找到主副本2 获取分区最新的消费进度3 从主副本拉取分区的消息4 识别主副本的变化,重试2)方法描述:findLeader() 客户端向种子节点发送主题元数据,将副本集加入备用节点getLastOffset() 消费者客户端发送偏移量请求,获取分区最近的偏移量run() 消费者低级AP I拉取消息的主要方法findNe

2021-01-01 14:38:29 205

原创 kafka学习--03(消费者API)

1)启动 zk集群、kafka集群[root@192 zookeeper-3.4.10]$ bin/zkServer.sh start[root@k8smaster kafka]$ bin/kafka-console-producer.sh --broker-list 192.168.138.132:9092 --topic first [root@k8smaster kafka]$ bin/kafka-console-producer.sh --broker-list 192.168.138.132

2021-01-01 13:38:13 100

原创 Kafka学习--02(生产者API)

1)启动 zk集群、kafka集群,在kafka集群中打开一个消费者 [root@192 zookeeper-3.4.10]$ bin/zkServer.sh start [root@k8smaster kafka]$ bin/kafka-console-producer.sh --broker-list 192.168.138.132:9092 --topic first [root@k8snode1 kafka]# bin/kafka-console-consumer.sh --

2021-01-01 13:24:05 94

原创 Kafka学习-01(基本概述、搭建及原理)

Kafa1.概述1.1 消息队列Queue(先进先出)(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)(2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者)为什么需要消息队列?解耦、冗余、扩展性、灵活性与峰值处理能力、可恢复性、顺序保证、缓冲、异步通信1.2 Kafka分布式消息队列,集群;由Scala写成 kafka_2.11-0.11.0.2.tgz 2.11是Scale的版本kafka集群、consumer依赖于zookeeper集群保存meta信息,

2021-01-01 12:21:52 181

原创 2020-12-30 k8s常用命令

1、删除rc,即删除该rc控制的所有容器 :$ kubectl delete rc [容器名]2、删除svc,即删除分配的虚拟IP:$ kubectl delete svc [容器名]3、查看创建的pod :kubectl get pod4、查看端口映射:kubectl get svc [容器名]5、使用create 命令来通过这个YAML文件创建pod :kubectl create -f ./hello-world.yaml6、使用validate命令验证YAML文件格式是否正确:kubect

2020-12-30 17:32:08 343

原创 Zookeeper学习-01(入门及安装)

第一章 入门1.概述开源的分布式的,为分布式应用提供协调服务的Apache项目。2.工作机制基于观察者模式而设计的分布式服务管理框架,负责存储和管理大家关心的数据,然后接受观察者的注册,一旦数据状态发生变化,zookeeper就将负责通知已经在zookeeper上注册的那些观察者做出相应反应。总结:zookeeper=文件系统+通知机制3.特点1)一个领导者(Leader),多个跟随者(Follower)组成的集群;2)集群中只要有半数以上节点存活,zookeeper集群就能正常服务;3

2020-12-27 17:04:43 117

原创 20201223 idea快捷键

Ctrl快捷键 介绍Ctrl + F 在当前文件进行文本查找 (必备)Ctrl + R 在当前文件进行文本替换 (必备)Ctrl + Z 撤销 (必备)Ctrl + Y 删除光标所在行 或 删除选中的行 (必备)Ctrl + X 剪切光标所在行 或 剪切选择内容Ctrl + C 复制光标所在行 或 复制选择内容Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再

2020-12-23 19:26:32 61

原创 kubernetes(k8s)学习-01(k8s概述)

第一部分1、k8s概述和特性kubernetes,简称 k8s,是用 8 代替 8 个字符“ubernete”而成的缩写。谷歌2014年开源的容器化集群管理系统使用k8s进行容器化应用部署使用k8s利于应用扩展k8s目标实施让部署容器化应用更加简洁和高效。特性:(1)自动装箱,即自动部署应用容器(2)自我修复(3)水平扩展 弹性扩容(4)服务发现 负载均衡 Service 入口(5)滚动更新(6)密钥和配置管理(7)版本回退(8)存储编排(9)批处理2、k8s架构组件**

2020-12-22 21:48:28 97

原创 2020-12-21 git命令

Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库在当前目录新建一个Git代码库$ git init新建一个目录,将其初始化为Git代码库$ git init [project-name]下载一个项目和它的整个代码历史$ git clone [url]二、配置Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。显示当前的Git配置$ git

2020-12-21 09:34:04 106

原创 2020-12-21 linux命令

持续更新————-lsof -i:port 查端口占用lsof -p pid 确定具体文件读写情况netstat -ano windows命令 查进程占用df 磁盘占用free 内存占用ps -ef|grep java,tomcat… 查看进程tail -200f xxx.log 倒叙查日志cd 打开sh xxxxx.sh / ./xxxx.sh & 启动cat 查看vi / vim 编辑 i-进入编辑 esc-退出编辑 :wq!-保存退出/sss-查找sss n-向下查找

2020-12-21 09:06:27 88

原创 docker学习-08(docker本地镜像发布到阿里云)

流程:本地创建1.4版本的mycentos:[root@192 jzd]# docker commit -a jzd -m “new mycentos1.4 with vim and ifconfig” 3ed1b9703d07 mycentos:1.4sha256:8e96192effcf266039fb65378ed6dd9c348e4bc6fe4cd0177cec4eb19d093866[root@192 jzd]# docker images mycentosREPOSITORY T

2020-12-20 16:10:02 251 1

原创 docker学习-07(安装mysql|redis)

docker常用安装总体步骤:搜索镜像-拉取镜像-查看镜像-启动镜像-停止容器-移除容器1.安装tomcat:docker search tomcatdocker pull tomcatdocker run -it -p 8888:8080 tomcat2.安装mysqldocker search mysqldocker pull mysql:5.6docker run -p 12345:3306 --name mysql-v /jzd/mysql/conf:/etc/mysql/co

2020-12-20 15:31:23 137 1

原创 linux Apache Httpd常用命令

2020-12-20 14:56:39 109

原创 docker学习-06(dockerFile详解)

dockerFile解析步骤:1.手动编写一个dockerFile文件,必须要符合file规范2.直接docker build命令只需,获得一个自定义的镜像3.docker run即:编写-构建-执行dockerFile是用来构建docker镜像的构建文件,由一系列命令和参数构成的脚本scratch 源镜像 类似于java的ObjectdockerFile基础知识:1.每条保留字指令都必须大写字母且后面要跟随至少一个参数2.指令按照从上到下 顺序执行3.#表示注释4.每条指令都会创建一个

2020-12-20 14:55:10 133

原创 docker学习-05(docker容器数据卷)

docker容器数据卷目的:将docker容器产生的数据持久化,容器间(或容器与主机间)共享数据,类似redis里的rdb和aof卷中的更改可以直接生效、卷中的更改不会包含在镜像的更新中、卷的生命周期一直持续到没有容器使用它为止数据卷–容器内添加1.直接命令添加docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名docker run -it -v /myDataVolume:/dataVolumeContainer centos1.1 查看数据卷是否挂载成功 dock

2020-12-20 12:27:28 210 1

原创 docker学习-04(docker镜像)

docker镜像是什么:轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件、包含(代码、运行时、库、环境变量、配置文件)UnionFS(联合文件系统):分层、轻量级并且高性能的文件系统,支持对文件系统的修改作为一次提交来一层层的叠加,同时将不同目录挂在到同一个虚拟文件系统下。docker镜像加载原理:bootfs,包含bootloader和kernel。bootloader主要是引导加载kernel,linux刚启动时会加载bootfs文件系统。docker镜像

2020-12-16 22:04:09 84

原创 docker学习-03(docker命令下)

启动交互式容器: docker run -it centos 会打开交互终端docker run -d centos 通过docker ps 发现关闭了容器,说明必须有一个前台进程,若没有,容器后台启动后悔立即自杀docker run -d centos /bin/sh -c “while true;do cheo hello zzyy;sleep 2;done”查看容器日志:docker logs -f -t --tail 容器ID-f 跟随最新的日志打印-t 加入时间戳–tail

2020-12-16 20:48:36 110

原创 docker学习-02(docker命令上)

docker是一个client-server结构的系统,docker守护进程运行在主机上,,然后通过socket连接从客户端房屋,守护进程从客户端接收命令并管理运行在主机上的容器。容器,是一个运行时环境,集装箱。docker比虚拟机快:1.docker有更少的抽象层,不需要hypervisor实现硬件资源虚拟化,cpu、内存利用率有明显优势2.docker利用的是宿主机的内核,不需要guestOS3.移植性更好,秒级部署鲸鱼背上有集装箱蓝色的大海里面—宿主机系统Windows10鲸鱼----d

2020-12-15 21:28:47 94

原创 docker学习-01(docker简介)

是什么?基于go语言实现的云开源项目,主要目标:一次封装,到处运行 (构建、安装、运行在任何app任何地方)解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术能干嘛? 虚拟机是带环境安装的一种解决方案,虚拟机缺点(资源占用多、冗余步骤多、启动慢)linux容器不是模拟一个完整的操作系统,是对进程进行隔离DevOps:开发自运维 一次构建、随处运行(快速应用交付部署、便捷升级扩容、简单系统运维、高效计算资源利用)去哪下?https://www.docker-cn.co

2020-12-13 19:45:34 251

原创 linux-centOS7 镜像下载

CentOS 7镜像下载官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/

2020-12-06 12:01:03 123

原创 nginx学习-2

2020-12-05 15:54:01 90

原创 nginx学习-1

2020-12-05 12:52:51 68

原创 k8s—容器交付流程

2020-12-01 22:33:58 241

原创 java基础面试题(1)

1、面向对象的特征有哪些方面(1).抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细 节。抽象包括两个方面,一是过程抽象,二是数据抽象。(2).继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了 原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基

2020-11-30 21:45:13 99

原创 SpringCloud学习笔记-20201130

pringMVC+spring/springBoot+mybatis+maven+gitspringcloud大概21种技术cloud技术的五大神兽:eureka服务注册与发现、ribbon(feign)负载均衡、hystrix断路器、zuul路由网关、springCloud config分布式配置中心1.从面试题开始什么是微服务?微服务之间如何独立通讯?springcloud与dubbo有哪些区别?dubbo是RPC cloud是http的restfulspringboot与springcl

2020-11-30 21:37:31 186

原创 java学习网站地址

周立的博客:http://www.itmuch.com/springCloud中文网:https://www.springcloud.cc/持续增加

2020-11-30 21:36:00 89

java 小工具

private JPanel panel; private JLabel bird; private int birdY; private boolean isStart = false; private static FlappyBird flappyBird; private Graphics2D g2; private Map<Integer, Integer> maxTop; private Map<Integer, Integer> maxInt;

2014-04-27

java 第一章

该课程由学长整理而成 ,对我们对java学习有了良好的起步

2013-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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