自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 搜索引擎 ElasticSearch(一)之安装、核心概念及索引和映射的基本使用

目录1、Elasticsearch安装及目录结构介绍1.1.Centos7安装Elasticsearch7.2版本1.2.目录结构介绍2、Elastic Search核心概念介绍3、ElasticSearch的基本语法3.1.RESTful风格的介绍3.1.获取elasticsearch 状态4、索引的介绍和使用4.1.新增4.2.获取4.3.删除4.4.批量获取4.5.获取所有4.6.关闭4.7.打开5.映射的介绍和使用5.1.新增5

2020-09-14 23:37:42 249

原创 全文检索基本概念,与结构化数据库对比及常见搜索引擎

目录1、什么是全文搜索引擎?1)数据分类2)顺序扫描3)全文搜索4)什么是全文搜索引擎?5)搜索引擎2、为什么不用mysql做全文搜索1)数据类型2)搜索性能3)灵活的搜索4)索引的维护5)适合全文索引引起的场景3、常见的搜索引擎1)Lucene2)Solr3)Elastic Search1、什么是全文搜索引擎?1)数据分类结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等;对于结构化数据,我们一般都是可以通过关系型数据

2020-09-13 22:44:28 1964

原创 面试题:javase基础语法之运算符

1、面试中 短路运算符 和 位运算1.1、你知道 运算符 & 和 &&、| 和 || 的区别吗?& 按位与操作,只有对应的两个二进制位1时,结果才为11&1 = 11&0 = 00&1 = 00&0 = 0| 按位或操作,有一个为1的时候结果就为11|1 = 11|0 = 10|1 = 10|0 = 0& 和 && 都可以实现 “和” 这个功能;区别:&两边都运算,而 &amp

2020-09-13 10:22:04 249

原创 MySQL 之 explain

使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySql是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。如下图,包含explain执行计划包含的信息:其中最重要的字段为:id,type、key、rows、Extra1、各字段详解id(*):select查询的序列号,包含一组数字,表示查询中执行select字句或操作表的顺序三种情况:1)id相同:执行顺序由上至下2)id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越

2020-09-10 17:46:22 310

原创 Nginx相应原理及简单使用和配置

1、什么是NginxNginx 是一个高性能的 Web 和反向代理服务器,它具有很多非常优越的特性:作为 WEB 服务器:相比Apache,Nginx 使用更少的资源,支持更多的并发链接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎,能够支持高达 5W 个并发连接数的响应。作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为HTTP代理服务器对外进行服务。Nginx 用C语言编写,不论是系统资源开销还是 CPU 使用效率都比 Perlb

2020-08-31 17:43:20 229

原创 微服务之SpringCloud-Zuul 网关

接上一篇“微服务之SpringCloud-负载均衡Ribbon、Hystrix熔断器、Feign服务调用”1.Zuul网关通过前两篇文章了解,使用 SpringCloud 实现微服务的架构基本形态:我们使用Spring Cloud Netfix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过 Ribbon 或 Feign 实现服务的消费以及负载均衡;通过Spring Cloud Config 实现了应用多环境的外部化配置以及版本管理。为了使得服务集群更为健壮,使用 Hyst

2020-08-20 00:04:45 198

原创 微服务之SpringCloud-负载均衡Ribbon、Hystrix熔断器、Feign服务调用

接上一篇 “微服务之SpringCloud简介及Eureka注册中心”1.负载均衡Ribbon1.1.什么是Ribbon官方解释:Ribbon 是 Netflix 发布的负载均衡器,它有助于控制HTTP和TCP 客户端的行为。为Ribbon配置服务提供地址列表后,Ribbon就可基于某种负载均衡算法,自动的帮助服务消费者去请求。Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等,当然,我们也可以为Ribbon实现自定义的负载均衡算法。1.2.代码使用Ribbon实现负载均衡首

2020-08-18 23:31:48 411

原创 springboot自定义注解实现参数验证

效果演示:1.创建自定义注解类@Target(ElementType.PARAMETER)// 表示该注解是加载参数上的; @Target: 定义放在什么位置,这个是放在参数中@Retention(RetentionPolicy.RUNTIME)// 注解保留到运行阶段; @Retention: 定义了该Annotation被保留的时间长短,有些只在源码中保留,有时需要编译成的class中保留,有些需要程序运行时候保留。即描述注解的生命周期public @interface Param

2020-08-17 16:18:10 1687

原创 微服务之SpringCloud简介及Eureka注册中心

1.初始SpringCloud微服务是一种架构方式,最终需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于SpringCloud。1.1.简介SpringCloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/;Spring最擅长的就是集成,把好的框架拿过来,集成到自己的项目中。SpringCloud也是一样,它将显著流行的一些技术整合到一起,实现了诸如:配置管理、服务发现、只能路由、负载均衡、熔断器、控制总线、集群

2020-08-12 23:07:06 274

原创 微服务之系统架构演变、远程调用(RPC与Http)、Http客户端工具

1.系统架构的演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上要。系统架构也因此也不断的演进、升级、迭代。从单一应用到垂直拆分、到分布式服务、到SOA、以及现在火热的微服务架构。1.1.集中是架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。如下图:存在的问题:1)代码耦合,开发维护困难;2)无法针对不同模块进行针对性优化;3)无法水平扩展;4)单点容错率低,

2020-08-11 23:13:51 846

原创 JVM之GC原理、对象存活判断方法、回收算法及垃圾收集器

目录1.GC原理及对象存活判断方法1.1.GC原理1.1.1.为什么要垃圾回收1.2.对象是否存活判断1.2.1.原理1.2.2.引用计数法1.2.3.可达性分析(又叫根搜索法,HotSpot就是用的这个)2.回收算法2.1.标记清除2.2.复制算法2.2.1.为什么出现复制算法2.2.2.特点2.2.3.工作原理2.2.4.缺点2.3.标记整理2.3.1.原理2.4.分代收集算法(新生代和老年代选择不同的回收算法)3.垃圾收集器3

2020-08-11 00:05:26 282

原创 JVM之JVM内存模型、Java对象创建流程

1.JVM运行时数据区1.1.程序计数器(线程私有)1.1.1.是什么?1)程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器;2)线程是一个独立的执行单元,是由CPU控制执行的;3)字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。注意:为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储。我们

2020-08-02 23:49:55 258

原创 Springboot基础与java配置注入的比较以、自动配置原理及SpringBoot启动类中Main方法源码解析

1.了解SpringBoot1.1.什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework同属于Spring的产品。官方介绍:Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get y

2020-07-30 23:49:39 1552

原创 MySql事务简介、锁机制及底层原理

MySql事务简介数据库事务是指一组sql语句组成的数据库逻辑单元,在这组的sql操作中,要么全部执行成功,要么全部执行失败;例如:转账,事务A中要进行转账,那么转出的账号要扣钱,转入的账号要加钱,这两个操作必须同时执行成功,为了确保数据的一致性。ACID简介MySql中事务的四大特征:原子性(Atomicity)、一致性(Consistent)、隔离性(Isalotion)、持久性(Durable),简称为ACID。原子性:指事务的原子性操作,对数据的修改要么全部执行成功,要么全部失败

2020-07-16 11:54:35 888

原创 动态语言基本概念,Java反射原理及相应api的使用

目录1.动态语言2.反射机制概念3.反射的应用场合3.1 编译时类型和运行时类型3.2编译时类型无法获取具体方法4.Java反射API4.1 Class类4.2 Filed类4.3 Method类4.4Constructor 类5.反射使用步骤6.获取Class对象的3种方式6.1调用某个对象的getClass()方法6.2调用...

2020-04-26 10:18:57 311

原创 图解HTTP-第1章(Web及网络基础)笔记

1.1 使用HTTP协议访问Web 1.2 HTTP诞生1.2.1 为知识共享而规划Web1989年3月份,HTTP诞生了。CERN(欧洲核子研究组织)的蒂姆·伯纳斯 - 李博士突出了一种能让远隔两地的研究者们共享知识的设想。最初设想的基本理念是:借助多文档之间相互关联形成的超文本(HyperText),连成可相互参阅的WWW(Wo...

2019-07-09 23:31:54 150

原创 Think in java:第一章(对象导论)笔记

第1章    对象导论任何语言都有自己的规则和表达方式,除非赞成这个协定中规定的有关语言信息的组织和分类,否则我们根本无法交谈。计算机并非只是简单的机器。计算机是头脑延伸的工具。1.1    抽象过程所有编程语言都提供抽象机制。人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。所谓的“类型”是指“所抽象的是什么?”汇编语言是对底层机器的轻微抽象。程序员必须奖励起在机器模型(位于“解空间”内,...

2018-07-08 23:49:49 160

原创 关系型数据库基础及应用(五)——视图、序列、索引、约束

视图什么是视图· 视图(view)也被称作虚表,即虚拟的表,是一组数据的逻辑表示;· 视图对应于一条SELECT语句,结果集被赋予一个名字,即视图名字;· 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化;类似于一个引用,指向一个具体的对象;· 创建语法CREATE [OR REPLACE]VIEW view_name[(alias[,alias....

2018-07-05 09:14:23 451

原创 关系型数据库基础及应用(四)——SQL查询(以Oracle为主)

SQL(高级查询)子查询子查询在where中的应用· 在SELECT查询中,在WHERE查询条件中的限制条件不是一个确定值,而是来自于另一个查询的结果;· 为了给查询提供数据而首先执行的查询语句叫做子查询;· 子查询是嵌入在其他SQL语句中的SELECT语句,大部分时候出现在WHERE子句中;· 子查询嵌入的语句称为主查询或者父查询;· 主查询可以是SELECT语句,也可以是其他类型的语句,比如:...

2018-05-08 17:31:29 304

原创 关系型数据库基础及应用(三)——SQL查询(以Oracle为主)

SQL(基础查询)基本查询语句from子句SELECT * FROM DUAL;· SELECT用于指定要查询的列;FROM指定要从那个表中查询;· 如果查询所有字节用*;如果只查询特定的,可以直接在SELECT后面指定列名,用逗号隔开;使用别名· 在SQL语句中可以通过使用列的别名改变标题的显示样式,或者表示计算结果的含义;· 使用语法是列的别名跟在列名后,中间可以加或者不加一个“AS”关键字;...

2018-05-07 18:25:01 297

原创 关系型数据库基础及应用(二)——Oracle操作

Oracle字符串操作字符串操作CHAR和VARCHAR2类型· 表示字符串数据类型,用来在表中存放字符串信息,比如姓名、职业、地址等;· CHAR存放定长字符,即存不满补空格;VARCHAR2存放变长字符,存多少占用多少;· 举例:保存字符串“HELLOWORLD”,工10个英文字母;  - CHAR(100):10个字母,补齐90个空格,实际占用100个;浪费空间、节省时间;  - VARCH...

2018-05-07 15:58:59 198

原创 关系型数据库基础及应用(一)

数据库原理数据库简介1、DB和DBMS· 数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库;· 数据库管理系统(Database Managerment System,简称DBMS):管理数据库的软件;2、关系型数据库的简介· 关系:描述两个元素间的关联或对应关系· 使用关系模型把数据组织到二维数据表(Table)中· 产品化:Oracle、DB2、Sybase、SQ...

2018-05-07 11:34:22 3365

原创 过滤器和监听器

过滤器什么是过滤器· 过滤器是Servlet2.3规范中定义的一种小型的、可插入的Web组件。用来拦截Servlet容器的请求和响应过程,以便查看、提取或以某种方式操作正在客户机和服务器之间交换的数据;· 过滤器通常是封装了一些功能的Web组件,这些功能很重要,但对于处理客户端请求或发送响应来说不是决定性的;· 典型的应用包括记录请求和响应的数据、管理会话属性等;如何编写过滤器(1)编写Java类...

2018-05-04 16:25:14 400

原创 状态管理(Cookie、Session)

状态管理为什么需要状态管理· Web应用程序使用HTTP协议通信,而HTTP协议是“无状态”协议,即服务器一旦响应完客户的请求之后,就断开连接,而同一个客户的下一次请求将重新建立连接;· 服务器应用程序有时需要判断是否为同一个客户发出的请求,比如客户多次选购商品。因此,有必要跟踪同一个客户发出的一系列请求;什么是状态管理· 将客户端(浏览器)与服务器之间多次交互(一次请求,一次响应)当做一个整体来...

2018-05-04 15:04:01 1180 1

原创 JSP基础以及九大内置对象

JSP的由来为什么有JSP规范Servlet技术产生后,在使用时最麻烦的是使用大量的out.print语句输出页面,这样的形式字系统变更、维护、预览效果时都不能方便快捷的完成任务,于是推出了JSP这种技术,用来将Servlet中负责显示的语句抽取出来。什么是JSPSun公司指定的一中服务器端动态页面技术的组件规范。JSP是以一个.jsp为后缀的文件,在改文件中,主要是HTML和少量的Java代码。...

2018-05-03 18:15:18 310

原创 Servlet

Servlet基础1.web应用演变:从单机向网络;从CS向BS (1)两层CS架构:客户端+DB 特点:数据库作为Server,使用数据库特定的编程语言编写业务逻辑,客户端提供操作界面和少量的业务逻辑处理; 缺点:移植性差(更换数据库需要重新编程),不适合大型应用; (2)三层CS架构:客户端+应用服务器(任何支持TCP编程的语言)+DB 特点:1.数据库只负责数据管理;2.应用服务器提供所有的...

2018-05-03 14:51:03 138

原创 Spring整合Struts2

1.导包2.配置web.xml:Struts2前端控制器<!-- 配置Listener 用于初始化Spring容器 --> <!-- 在web容器启动时候自动初始化Spring容器 --> <listener> <listener-class> org.springframework.web.context.ContextLoa...

2018-05-02 16:50:24 117

原创 Struts2使用步骤及值得传递

Struts2发展史Struts1是Apache软件基金会(ASF)赞助的一个开源项目。它通过javaServlet、jsp技术,实现基于javaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品;Struts1结构简单小巧,十分易用,一度市场占有率超过20%,但是由于与JSP/Servlet耦合太紧密了,以至于被后来的框架陆续赶超。WebWork是有OpenSymph...

2018-04-01 23:50:31 225

原创 HTTP协议(浅谈)

HTTP是什么HyperText Transfer Protocol:是由w3c(万维网联盟)指定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。HTTP如何通信1.建立连接;2.打包,发送请求;3.打包,发送响应;4.关闭连接注意:一次请求一次连接,Web服务器可以利用有限的连接为尽可能多的客户端服务。HTTP数据格式请求数据:1.请求行:请求方式+请求资源路径+版...

2018-04-01 17:23:32 521

转载 大型网站架构演化历程(读后感)

本文是阅读微型公众号:码农有道,之后的读后感。大型网站的技术挑战主要来着于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手。大型网架构主要解决这类问题。初级阶段的网站架构再大型的网站都是从小型网站发展而来,小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,这时的网站架构如下图所示:特点:应用程序、数据库、文件等所有资源都...

2018-03-30 16:59:09 240

转载 JAVA开发必须掌握的5中加密策略

本文是阅读Hollis的文章之后的总结。加密策略主要分为:1.数字摘要;2.对称加密;3.非对称加密;4.数字签名;5.数字证书,这5种策略一、数字摘要数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了。...

2018-03-30 12:19:40 1215

原创 Spring容器、Spring对象及SpringIOC

Spring:是一个开源的轻量级的应用框架,其目的是用于简化企业级应用程序开发,降低侵入性;其本质是管理软件中的对象,及创建对象和维护对象之间的关系。Spring容器:用来管理对象;本身也是对象;是IOC的核心在spring中,任何的Java类和JavaBean都被当做Bean处理,这些Bean通过容器管理和使用;Spring容器实现了IOC和AOP机制,这些机制可以简化Bean对象创建和Bean...

2018-03-29 10:36:22 611

原创 事件(浅谈)

事件概述:指页面元素状态改变,用户在操作鼠标或键盘时触发的动作事件属性:通过一个事件属性,可以在某一个事件发生时对某个元素进行某种操作鼠标事件:onclick(单击事件);ondblclick(双击事件);onmousedown(事件会在鼠标按键被按下时发生);键盘事件:onkeydown(事件会在用户按下一个键盘按键时发生);onkeyup(当用户释放键盘按钮时执行);状态事件:onload(事...

2018-03-26 15:56:16 210

原创 JS和JQuery对DOM的操作

查询节点:js:1.根据ID查询;2.根据标签名查询;3.根据name查询;4.根据层次查询;详情如下:<script> //1.根据ID查询节点 var ul = document.getElementById("city"); var cd = document.getElementById("cd"); console.log(ul); console.log...

2018-03-25 17:01:07 297

原创 jQuery选择器

什么是jQuery选择器?jQuery选择器类似于CSS选择(定位元素,施加样式),能够实现定位元素,施加行为。使用jQuery选择器可以将内容和行为分开jQuery选择器大致分为4类,如下图:基本选择器:元素选择器:根据标签名定位元素; eg:   $("标签名")类选择器:根据class属性定位元素; eg:   $(".class属性")id选择器:根据id属性定位元素;eg:  $("#i...

2018-03-25 16:03:55 267

原创 JS对象与jQuery对象

JS对象大致可以分为三种,如下图:JS常用内置对象(JS自身所持有的对象,不需要创建,直接可用):String:API跟java的字符串API大致相同两种创建对象的方式:String s1 = "hello world";                                   String s2 = new String("hello world");String有length属性,...

2018-03-25 11:29:17 6820 1

转载 数据库分库分表(浅谈)

数据库分表是为了解决单表海量数据的查询性能问题,分库是为了解决单台数据库的并发访问压力问题分表的两种方案:1.同库分表:所有的分表都在一个数据库中,由于数据库中表名不能重复,因此需要把数据库表名取成不同的名字。   ●  优点:由于都在一个数据库中,公共表,不必进行复制,处理简单;   ●  缺点:由于还在一个数据看中,CPU、内存、文件IO、网络IO等瓶颈还是无法解决,只能降低单表中的数据记录数...

2018-03-23 23:56:49 316

原创 $(document).ready()、$(function(){})和windom.onload = function(){};

$(document).ready()与windom.onload = function(){}的方法说明和加载时机$(document).ready()的三种简写:$(document).ready(function(){});$().ready(function(){});$(function(){})区别:$(document).ready()方法的作用:当DOM加载完毕的时候,执行这个指定...

2018-03-23 22:35:28 1085

转载 EasyUI简单实现

一.EasyUI的下载    EasyUI官方下载地址:http://www.jeasyui.com/download/index.php,目前最新版本为:jquery-easyui-1.5.4.2   下载完成之后得到一个 jquery-easyui-1.5.4.2的压缩包,解压后,得到文件里面有如下文件:二.EasyUI入门EasyUI是用范例1.新建一个JavaWeb工程,然后将jquery...

2018-03-23 15:16:45 245

原创 面试总结

今天面试了三家公司,总结一下面试题目。1.Redis是什么,干什么用的,有什么优缺点(浅谈)?答:Redis是什么?       Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、key-Value数据库,并提供多中语言的API。从2010年起,Redis的开发由VMware主持。从2013年5月份开始,Redis的开发由Pivota赞助。       Red...

2018-03-22 23:49:31 141

设计模式总结

通过阅读大话设计模式和网上的设计模式总结而来,主要是对设计模式有一个相应的归类,方便记忆和运用。

2018-04-26

空空如也

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

TA关注的人

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