自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stars永恒的博客

It is difficult to adhere to

  • 博客(128)
  • 问答 (1)
  • 收藏
  • 关注

原创 主流消息中间件优缺点

主流消息中间件架构模式Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。架构模式依赖zookeeperRocketMQ是阿里开源的消息中间件,目前也已经 孵化为Apache顶级项目,它是纯Java开发,具有高吞.

2020-07-06 17:16:12 527

原创 大白话学习HTTP请求

三次握手客户端发起一个我要创建的连接数据包的请求发送到服务端,这里面有个标志位syn=1(创建请求的数据包),seq=X 服务端接收到数据包之后知道了我有一个客户要跟我创建连接了,创建连接之后呢,开启TCP Socket的端口,端口开启之后呢,返回给客户端,返回给客户端数据里也是一个syn的标志位,返回ack=X+1,seq=Y再发送一个seq,服务端的seq 客户端拿到了之后说服务端允许我创建这个TCP连接了,它再去发送它的ack=Y+1,seq=Z(seq又等于一个新的数字)这就是创建...

2020-06-15 01:15:47 318

原创 网络模型介绍

物理层主要作用是定义物理设备如何传输数据数据链路层在通信的实体间建立数据链路连接网络层为数据在结点之间传输创建逻辑链路传输层向用户提供可靠的端到端(End-to-End)服务传输层向高层屏蔽了下层数据通信的细节应用层为应用软件提供了很多服务构建与TCP协议之上屏蔽网络传输相关细节...

2020-06-14 00:59:21 408

原创 Java内存区域

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有的区域则是依赖用户线程的启动和结束而建立和销毁。根据Java虚拟机规范的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器,在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控

2020-06-14 00:02:20 171

原创 Redis常见面试题

redis都有哪些数据类型String hash list set sorted setString是最简单的类型,就是普通的set和get,做简单的KV缓存hash类似map的一种结构,这个一般就是可以将将结构化的数据,比如一个对象给缓存在Redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段list有序列表,存储列表型的数据结构,类似粉丝列表,文章评论列表set是无序集...

2020-03-24 18:03:13 405

原创 接口与抽象类的区别

Java中接口与抽象类的区别?抽象类:如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。如果一个类继承抽象类,那么就必须为基类中的抽象方法提供定义。如果不这么做,那导出类也为抽象类...

2020-03-20 19:43:12 116

原创 剑指offer1-7题

/**在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:选定一个维度(行或列)先找到需要查找的元素所在的行(列),再从该行(列)找到该元素的该元素具体的列(行)位置。复杂度O(n)。优化:因为数列是递增有序的,可以进行二分查找进行优化,但是...

2020-03-05 17:24:07 137

原创 分布式搜索引擎的架构是怎么设计的?

业内目前来说事实上的一个标准,就是分布式搜索引擎一般大家都用elasticsearch(1)es的分布式架构原理能说一下么(es是如何实现分布式的啊)面试官心里分析在搜索这块,lucene是最流行的搜索库。几年前业内一般都问,你了解lucene吗?你知道倒排索引的原理吗?现在早已经out了,因为现在很多项目都是直接用基于lucene的分布式搜索引擎--elasticsearc...

2020-01-20 11:53:20 566

原创 JVM内存布局

JVM中将内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器 程序计数器:该区域是内存中较小的一块区域---是当前线程在执行的字节码的行号指示器。程序计数器是线程私有的,每个线程都有一个程序计数器,线程之间的程序计数器相互独立,互不干扰。是java虚拟机规范中唯一一个没有规定任何OutOfMemoryError情况的区域 ...

2020-01-07 17:23:13 122

原创 操作系统的 概念(定义) 功能和目标

​一台电脑的诞生~Step 1:厂家组装一台裸机Step 2:出售前安装操作系统Step 3:用户安装应用程序(eg:QQ)Step 4:使用QQ 聊天操作系统的功能和目标——向上层提供方便易用的服务联机命令接口实例(Windows系统) 联机命令接口=交互式命令接口Step 1...

2019-12-25 17:49:29 640

原创 SpringCloud

单体应用存在的问题● 随着业务的发展,开发变得越来越复杂。● 修改、新增某个功能,需要对整个系统进行测试,重新部署。● 一个模块出现问题,很可能导致整个系统崩溃。● 多个开发团队同时对数据进行管理,容易产生安全漏洞。● 各个模块使用同一种技术进行开发,各个模块很难根据实际情况选择更合适的技术框架,局限性很大。● 模块内容过于复杂,如果员工离职,可能需要很长时间才能完成工作交...

2019-12-14 00:39:23 106

原创 计算机操作系统

计算机操作系统1、简单说下你对并发和并行的理解?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生; 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件;2、同步、异步、阻塞、非阻塞的概念同步:当一个同步调用发出后,调用者要一直等待返回结果。通知后,才能进行后续的执行。异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调...

2019-11-28 00:23:05 201

原创 HDFS的实现思想

1、hdfs是通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式,就是一个虚拟的目录结构2、文件存储到hdfs集群中去的时候是被切分成block的3、文件的block存放在若干台datanode节点上4、hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理5、每一个block在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量...

2019-11-25 19:19:44 251

原创 设计模式

1、说下你知道的设计模式有哪些?下面 3 种类型中各挑几个常见的或者你用过的说就可以了。2、工厂方法模式和抽象工厂模式有什么区别?工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。一个抽象工厂类,可以派...

2019-11-18 17:32:44 152

原创 Java集合类

1、Java 中常用的容器有哪些?常见容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。CollectionSet1.SetTreeSet:基于红黑树实现,支持有序性操作,例如:根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),...

2019-11-18 11:01:52 121

原创 hadoop2.4.1伪分布式搭建

1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.1.0 子网掩码:255.255.255.0 -> apply -> ok 回到windows --> 打开网络和共享中心 -&gt...

2019-08-30 16:45:55 124

原创 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效

public class ValidParentheses{ public boolean isValid(String s) { Stack<Character> stack= new Stack<Character>(); for(char c:s.toCharArray()){ if(c=='(') ...

2019-07-27 02:00:35 2566

原创 二分查找 ---实现一个函数来查找第一个坏版本

您是产品经理,目前领导团队开发新产品。不幸的是,您产品的最新版本未通过质量检查。由于每个版本都是基于以前的版本开发的,因此糟糕版本之后的所有版本也都很糟糕。假设您有n版本,[1, 2, ..., n]并且您想找出第一个坏版本,这会导致以下所有版本都不好。您将获得一个APIbool isBadVersion(version),它将返回是否version为坏。实现一个函数来查找第一个坏版本。...

2019-06-23 02:48:15 179

原创 算法刷题

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class...

2019-06-21 17:22:45 565

原创 C语言程序设计复习指导

1)程序结构是三种:顺序结构、循环结构、选择结构(if和switch)2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)3)计算机的数据在电脑中保存是以二进制的形式,数据存放的位置就是他的地址。4)bit 是位 是指为0或者1。byte是指字节,一个字节=八个位。1、编译预处理不是C语言的一部分,不再运行时间...

2019-05-14 11:00:29 569

原创 数据结构

什么是数据结构1、数据数据是描述客观世界的数字、字符以及一切能够输入到计算机中,并且能够被计算机程序处理的符号集合。简言之,数据就是计算机加工处理的原料,是信息的载体。2、数据元素数据元素是能够独立、完整地描述问题世界中的实体的最小单位,它是数据这个集合中的一个一个的元素,数据元素也成为数据结点,或者简称结点3、数据对象一个数据对象被定义为具有相同性质的数据元素的集合。4、结构...

2019-03-25 14:42:05 175

原创 Nginx快速上手下篇

Nginx快速上手根据实际的应用需要,学习要用到的Nginx的知识,以快速上手、理解并掌握Nginx六:学习反向代理、动静分离、负载均衡、Geo和GeoIP模块七:学习Rewrite模块和更多其它模块的功能八:学习更多常见功能的片断配置九:Nginx的配置优化建议Http反向代理Nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离,以及负载均衡,从而...

2019-03-20 20:29:04 121

原创 Nginx快速上手

Nginx快速上手根据实际的应用需要,学习要用到的Nginx的知识,以快速上手、理解并掌握Nginx一:Nginx简介包括:Nginx是什么、能干什么、特点二:Nginx安装和基本使用包括:源码安装、安装配置选项、基本使用三:Nginx基本配置包括:结合示例的配置文件,熟悉Nginx的基本配置四:学习核心模块、日志模块和事件模块的常用指令五:学习Http模块...

2019-03-12 01:07:19 180

原创 JDBC

1.1JDBC概述1.1.1什么是JDBCJDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口(大部分)和类组成。1.1.2什么是数据库驱动JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数...

2019-02-24 22:31:02 120

原创 MySQL基础

本单元目标一、为什么要学习数据库二、数据库的相关概念          DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQL    MySQL产品的介绍            MySQL产品的安装          ★            MySQL服务的启动和停止     ★    MySQL服务的登录和退出     ★          MySQL的常见命...

2019-02-12 21:18:08 153

原创 Java NIO

微信公众号:菜鸟永恒1.Java NIO 简介2.Java NIO 与IO 的主要区别3.缓冲区(Buffer)和通道(Channel)4.文件通道(FileChannel)5.NIO 的非阻塞式网络通信选择器(Selector)SocketChannel、ServerSocketChannel、DatagramChannel面向流 面向缓冲区...

2019-02-03 22:56:30 162

原创 认识docker

一、Docker工作原理二、Docker容器和虚拟机对比三、镜像容器管理1、Docker关键组件2、Docker架构3、Docker内部组件镜像(Image)——一个特殊的文件系统Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)容器(Container...

2019-01-30 16:49:44 432

原创 Java面试

线程池首先要明确为什么要使用线程池,使用线程池会带来什么好处?• 线程是稀缺资源,不能频繁的创建。• 应当将其放入一个池子中,可以给其他任务进行复用。• 解耦作用,线程的创建于执行完全分开,方便维护。线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次...

2019-01-26 22:04:51 147

原创 数据库条件查询

排序查询/*排序查询:对查询结构进行排序关键字:order by 字段名 [ASC|DESC]ASC:升序(从小到大),默认的DESC:降序(从大到小) */# 查询所有记录的name和price,结构按照价格 从大到小进行排序SELECT pname,price FROM product ORDER BY price DESC; #1.查询所有商品信息...

2019-01-24 22:26:54 1097

原创 操作数据库表

/*DML:数据库操作语言主要对表中的数据库进行 增删改****增:插入一条记录insert into 表名 (列名1,列名2..) values (值1,值2..)注意: 1.列名可以在表中选择一列或者几列2.后面的值 必须和前面的列 一一对应3.在SQL中除了int类型的数据,其他数据必须用''或者""引起来我们推荐用单引号4.如果要插入的数据所有字段都有,...

2019-01-23 17:24:01 165

原创 面向对象接口多态

第3天 面向对象今日内容介绍 接口 多态 笔记本案例今日学习目标 写出定义接口的格式 写出实现接口的格式 说出接口中成员的特点 接口和抽象类的区别 能够说出使用多态的前提条件 理解多态的向上转型 理解多态的向下转型 能够完成笔记本电脑案例(方法参数为接口)第1章 接口1.1 接口概念类:具有相同属性和功能的事物集合接口是功能的集合,...

2019-01-22 22:49:55 233

原创 面向对象继承

微信公众号:菜鸟永恒第1章 面向对象1.1 知识回顾1.Java中的数据类型2.引用数据类型String中的方法3.IO流_读写文件1.2 面向对象概念回顾什么叫面向对象编程?有人是这么理解的 也有人说不对,面向对象编程是你要编程你对象也要编程. 面向对象简称:“OOP” 面向对象编程使用类映射现实生活中的事物,其功能封装为方法,属性封装为成...

2019-01-22 21:25:23 271

原创 多表查询

微信公众号:菜鸟永恒第1章 多表关系实战1.1 实战1:省和市 方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系1.3 实战3:角色和权限 (比如公司职位和开除等权限)  多对多关系1.4 实战4:客户和联系人(可选)  一对多:一个客户服...

2019-01-21 23:58:41 216

原创 SQL语句查询

微信公众号:菜鸟永恒第1章 SQL语句查询1.1 排序通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。格式:SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC;ASC 升序 (默认)DESC 降序1.查询所有商品信息,使用价格排序(降序)SELECT * FROM product ORDER BY pri...

2019-01-20 23:53:51 57490 1

原创 数据库篇多表操作

微信公众号:菜鸟永恒第1章 多表操作实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系,接下来我们将在单表的基础上,一起学习多表方面的知识。 1.1 表与表之间的关系有3类表关系:一对多(多对一)、多对多、一对一(了解) 一对...

2019-01-20 00:18:54 336

原创 数据库篇一

微信公众号:菜鸟永恒第1章 数据库介绍1.1 数据库概述 什么是数据库(DB:DataBase)数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 什么是数据库管理系统数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据...

2019-01-20 00:16:49 270

原创 XML

微信公众号:菜鸟永恒学习目标 能够说出XML的作用 能够编写XML文档声明 能够编写符合语法的XML 能够通过DTD约束编写XML文档 能够通过Schema约束编写XML文档 能够通过Dom4j解析XML文档第1章 xml基本使用1.1 XML概述1.1.1 什么是XMLXML全称为Extensible Markup Language,意思是可扩展的标记语言...

2019-01-17 23:25:12 279

原创 网络编程【Socket网络编程】

微信公众号:菜鸟永恒第14天 网络编程今日内容介绍 网络通信协议 UDP通信 TCP通信今日学习目标 能够辨别UDP和TCP协议特点 能够说出UDP协议下两个常用类名称 能够说出TCP协议下两个常用类名称 能够编写UDP协议下字符串数据传输程序**  能够编写TCP协议下字符串数据传输程序*** 能够理解TCP协议下文件上传案例第1章 网络通信协议...

2019-01-17 00:22:41 696

原创 多线程【Thread、线程创建】

微信公众号:菜鸟永恒第13天 多线程今日内容介绍 Thread 线程创建 线程安全 线程状态今日学习目标 能够描述Java中多线程运行原理 能够使用继承类的方式创建多线程 能够使用实现接口的方式创建多线程 能够说出实现接口方式的好处 能够解释安全问题的出现的原因 能够使用同步代码块解决线程安全问题 能够使用同步方法解决线程安全问题 能够说...

2019-01-15 22:56:39 448

原创 IO【File、递归】

微信公众号:菜鸟永恒 欢迎关注第10天 File,递归今日内容介绍 File 递归今日学习目标 能够说出File对象的创建方式 能够说出File类获取名称的方法名称 能够说出File类获取绝对路径的方法名称 能够说出File类获取文件大小的方法名称 能够说出File类判断是否是文件的方法名称 能够说出File类判断是否是文件夹的方法名称 能够辨别相对...

2019-01-12 21:25:20 96

空空如也

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

TA关注的人

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