自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

转载 Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)

目录一、成员内部类二、静态内部类三、局部内部类:四、匿名内部类 首先看看什么是内部类:在类的内部定义另一个类。没错,定义就这么简单。如果在类Outer的内部再定义一个类Inner,此时Inner就称为内部类,而Outer则称为外部类。内部类的定义格式如下:public class 外部类的名称{ //外部类的成员 public class 内部类的名称{ //内部类的成员 }}使用内部类有什么好处;1)实现多重继承;.

2021-02-01 17:10:29 302

转载 前端经典面试题: 从输入URL到页面加载发生了什么?

目录具体过程DNS解析TCP连接HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面Web优化总结从输入URL到页面加载发生了什么最近在进行前端面试方面的一些准备,看了网上许多相关的文章,发现有一个问题始终绕不开: 在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。仔细思考这个问题,发现确实很深,这个过程涉及到的东西很多。这个问题的回答真的能够很好的考验一个web工程师的水平,于是我自问自答一番。总体来说分为以下几个过程:.

2021-01-26 10:08:50 214

转载 说一下转发(Forward)和重定向(Redirect)的区别

目录页面的跳转:转发疑问转发与重定向的作用案例转发的特点转发使用哪个方法?页面的跳转:重定向什么是重定向重定向案例重定向的特点疑问小结:重定向和转发的区别页面的跳转:转发转发的原理 转发的方法疑问 能否在OneServlet中保存值到请求域中,在另一个TwoServlet中打印出来? 如果是不同的请求,不能取出来。如果是同一次请求是可以取出来的 转发与重定向的作用在Servlet中实现页面的跳转有两种方式:转发和重定向什

2021-01-25 12:54:33 232

转载 ElasticSearch和Solr的差别

Elasticsearch简介Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应。Sta

2021-01-20 17:20:42 148

转载 全文搜索引擎 Elasticsearch - 入门教程

目录一、安装二、基本概念2.1 Node 与 Cluster2.2 Index2.3 Document2.4 Type三、新建和删除 Index四、中文分词设置五、数据操作5.1 新增记录5.2 查看记录5.3 删除记录5.4 更新记录六、数据查询6.1 返回所有记录6.2 全文搜索6.3 逻辑运算七、参考链接全文搜索属于最常见的需求,开源的Elasticsearch(以下简称 Elastic)是目前全文搜索引擎的首选。它可..

2021-01-20 16:53:19 134

转载 Zookeeper注册中心的搭建

一、Zookeeper的介绍Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。之所以把本文归类为Dubbo是因为,博主关于Dubbo的学习笔记都是以Zookeeper作为注册中心的。Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用Zookeeper,Zoo

2021-01-15 15:08:09 156

转载 Dubbo:从入门到实战

目录一 为什么需要 dubbo二 Dubbo 技术架构三 Dubbo 开始入门四 加入 zookeeper 作为注册中心五 多种配置方式六 常用场景七 总结一 为什么需要 dubbo很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的,那么,dubbo是怎么被提上日程的呢?在互联网的发展过程中,在以前,我们只需要一个服

2021-01-15 11:57:09 111

转载 MQ 面试 - (二)

1、面试题如何保证消息的可靠性传输(如何处理消息丢失的问题)?(基本也是必考的吧)我们从下面几个方面来分析1)生产者弄丢了数据 生产者将数据发送到rabbitmq的时候,可能数据就在半路给搞丢了,因为网络啥的问题,都有可能。 此时可以选择用rabbitmq提供的事务功能,就是生产者发送数据之前开启rabbitmq事务(channel.txSelect),然后发送消息,如果消息没有成功被rabbitmq接收到,那么生产者会收到异常报错,此时就可以回滚事务(channel....

2021-01-12 15:07:54 101

转载 MQ 面试 - (一)

问题:为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka、activemq、rabbitmq、rocketmq都有什么区别以及适合哪些场景?1.为什么使用消息队列啊?通用回答是:我们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用MQ可能会很麻烦,但是你现在用了MQ之后带给了你很多的好处。比较核心的有3个业务场景:解耦、异步、削峰解耦:现场画个图来说明一下,A系统发送个数据到BCD三个系统,接口调用发送,那如果E系统也要这个数据呢?那如果C系统现在不需要了呢?现在

2021-01-12 11:13:22 113

转载 Quartz定时任务 - Springboot之Quartz

什么是Quartz?一个定时任务调度框架,简单易用,功能强大可以使实现定时任务的。优点:支持集群下定时任务处理 支持任务并发阻塞(上一个任务完成后,才能继续下一个任务) 支持通过API对任务的操作,例如新增任务、修改、启动、暂停、停止(可以在代码中进行调用,而无需修改配置文件再次部署) 支持的数据库种类被较多目标在Spring Boot中集成Quartz 使用MySql数据库(程序自动导入,无需人工执行脚本) 使用Spring 自身配置的数据源(不再单独配置qz数据源) 通过代

2021-01-11 18:02:44 582

转载 Quartz定时任务基础 - (一)

1、什么是Quartz框架?Quartz是OpenSymphony开源组织在Job scheduling领域的开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz是一个任务日程管理系统,一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。Quartz用一个小Java库发布文件(.jar文件),这个库文件包

2021-01-11 17:44:18 214

转载 Redis面试题(三)

目录集群方案哨兵模式官方Redis Cluster 方案(服务端路由查询)基于客户端分配基于代理服务器分片Redis 主从架构Redis集群的主从复制模型是怎样的?生产环境中的 redis 是怎么部署的?说说Redis哈希槽的概念?Redis集群会有写操作丢失吗?为什么?Redis集群之间是如何复制的?Redis集群最大节点个数是多少?Redis集群如何选择数据库?分区Redis是单线程的,如何提高多核CPU的利用率?为什么要做Redis分区?

2021-01-06 16:42:37 135

转载 Redis面试题(二)

目录过期键的删除策略Redis的过期键的删除策略Redis key的过期时间和永久有效分别怎么设置?我们知道通过expire来设置key 的过期时间,那么对过期的数据怎么处理呢?内存相关MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据Redis的内存淘汰策略有哪些Redis主要消耗什么物理资源?Redis的内存用完了会发生什么?Redis如何做内存优化?线程模型Redis线程模型事务什么是事务?Re

2021-01-06 15:48:14 97

转载 Redis面试题(一)

目录概述什么是RedisRedis有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快数据类型Redis有哪些数据类型Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?概述什么是RedisRedis(Remote Dictionary Server) 是

2021-01-06 15:02:36 137

转载 Redis入门教程(二)

目录【聊聊redis持久化 – 两种方式】【聊聊redis持久化 – RDB】【聊聊redis持久化 – AOF】【聊聊redis持久化 – AOF重写】【聊聊redis持久化 – 如何选择RDB和AOF】【聊聊主从 – 用法】【聊聊主从 – 同步原理】【聊聊redis的事务处理】【教你看懂redis配置 – 简介】【教你看懂redis配置 -通用】【教你看懂redis配置 – 快照】【教你看懂redis配置 – 复制】【教你看懂redis配置 – 安全】

2020-12-30 16:14:18 90

转载 Redis入门教程(一)

目录【redis是什么】【redis的作者何许人也】【谁在使用redis】【学会安装redis】【学会启动redis】【使用redis客户端】【redis数据结构 – 简介】【redis数据结构 – strings】【redis数据结构 – lists】【redis数据结构 – 集合】【redis数据结构 – 有序集合】【redis数据结构 – 哈希】【redis是什么】redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的K

2020-12-30 16:13:26 127

转载 jQuery jsonp跨域请求

跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。如果协议,端口和主机对于两个页面是相同的,则两个页面具有相同的源,否则就是不同源的。如果要在js里发起跨域请求,则要进行一些特殊处理了。或者,你可以把请求发到自己的服务端,再通过后台代码发起请求,再将数据返回前端。这里讲下使用jquery的jsonp如何发起跨域请求及其原理。先看下准备环境:两个端口不一样,构成跨域请求的条件。获取数据:获.

2020-12-28 16:56:49 79

转载 HttpClient详细使用示例 - 关注度较高的问题进行相关补充(三)

接:HttpClient详细使用示例 - post(二)目录对评论区关注度较高的问题进行相关补充:解决响应乱码问题(示例):进行HTTPS请求并进行(或不进行)证书校验(示例):application/x-www-form-urlencoded表单请求(示例):发送文件(示例):发送流(示例):对评论区关注度较高的问题进行相关补充:提示:如果想要知道完整的具体的代码及测试细节,可去下面给的项目代码托管链接,将项目clone下来进行观察。 如果需要运...

2020-12-28 11:33:47 120

转载 HttpClient详细使用示例 - POST(二)

接:HttpClient详细使用示例 - get(一)目录POST无参:POST有参(普通参数):POST有参(对象参数):POST有参(普通参数 + 对象参数):POST无参:HttpClient发送示例: /** * POST---无参测试 * * @date 2018年7月13日 下午4:18:50 */ @Test public void doPostTestOne() { // 获得Http客户端(可以理解为:你得先有一个浏览器;注意:

2020-12-28 11:29:37 222

转载 HttpClient详细使用示例 - get(一)

目录准备环节第一步:在pom.xml中引入HttpClient的依赖第二步:引入fastjson依赖详细使用示例GET无参:GET有参(方式一:直接拼接URL):GET有参(方式二:使用URI获得HttpGet):HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK

2020-12-28 11:27:27 1836

转载 提供HTTP、HTTPS都可访问的API

情景说明: 考虑到数据的安全传输,现在用到HTTPS进行API调用的越来越多了。本节就介绍如何使自己编写的API能让别人进行HTTP、HTTPS调用。先看一下一般情况:正常编写一个使用HTTP访问一下(不写的话,默认使用HTTP协议进行访问)由此可见:HTTP是可以访问的,那么HTTPS呢?由此可见,此时HTTPS是无法访问的!软硬件环境:JDK1.8、Windows10、Eclipse、SpringBoot2.0.4RELEASE准备工作:...

2020-12-25 17:17:29 608 1

转载 Nginx 简易教程(一)

Nginx概述什么是 Nginx?Nginx (engine x)是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。安装与使用安装详细安装方法请参考:...

2020-12-24 11:50:04 271

转载 hibernate与mybatis异同与比较(实例介绍)

<configuration> <typeAliases> <typeAlias alias="Student" type="com.niit.model.Student"/> </typeAliases> <environments default="development"> <environment id="development"> <tr.

2020-12-17 15:34:42 230

转载 Hibernate总结以及在面试中的一些问题(三)

Hibernate一级缓存相关问题1.Session中的一级缓存 Hibernate框架共有两级缓存, 一级缓存(Session级别缓存)、二级缓存(SessionFactory级别缓存) 在Session接口的实现中包含一系列的 Java 集合, 这些 Java 集合构成了 Session 缓存.持久化对象保存Session一级缓存中(一级缓存引用持久化对象地址),只要 Session 实例没有结束生命周期, 存放在它缓存中的对象也不会结束生命周期 Hiber...

2020-12-17 11:03:55 87

转载 Hibernate总结以及在面试中的一些问题(二)

11.Hibernate中怎样处理事务?Hibernate是对JDBC的轻量级对象封装,Hibernate本身是不具备Transaction处理功能的,Hibernate的Transaction实际上是底层的JDBC Transaction的封装,或者是JTA Transaction的封装,下面我们详细的分析:Hibernate可以配置为JDBCTransaction或者是JTATransaction,这取决于你在hibernate.properties中的配置:#hibernate.tra.

2020-12-17 10:21:07 77

转载 Hibernate总结以及在面试中的一些问题(一)

Hibernate 的执行流程 首先了解什么是对象关系映射,ORM(Object/Relationship Mapping):对象关系映射。对象关系映射是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。  在MVC设计模式的javaweb中,hibernate一般作为模型层/数据访问层。hibernate通过配置文件(hibernate.cfg.xml或hibernate.prope...

2020-12-17 09:37:35 83

转载 Hibernate (一)--简单示例

hibernate是java的一种orm框架使用:1、引入jar包 地址:http://hibernate.org/orm/releases/5.4/2、编写配置文件3、编写测试代码项目目录:代码:测试对象类AuthController:package cn.com.domain;public class AuthController { private String id; private String descr; private String creat

2020-12-16 15:46:45 138

转载 MyBatis理解

Mybatis介绍 首先Mybatis是一个对象关系映射(Object Relational Mapping,简称ORM)框架,是为了解决面向对象与关系数据库存在的互不匹配的现象。也就是说Mybatis的关注点在于对象与数据库之间的映射,Mybatis会把从数据库中得到的松散数据进行封装,使开发者直接拿到一个对象。Mybatis其实是对jdbc的操作数据库的过程进行了封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建state...

2020-12-08 15:15:36 112

转载 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。目录一、MyBatis的框架设计1.接口层---和数据库交互的方式2.数据处理层3. 框架支撑层4 引导层二、MyBatis的主要构件及其相互关系三、从MyBatis一次select 查询语句来分析MyBatis的架构设计一...

2020-12-08 11:26:14 86

转载 同为框架,Struts2和SpringMVC比较的区别!

Struts2和SpringMVC是比较流行的MVC框架,二者的工作流程大体相似,从下面两张图就可以看出。SpringMVC工作流程图SpringMVC的工作流程描述1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获;2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括...

2020-12-02 17:41:43 354

转载 SpringAOP 通知类型

AspectJ:Java社区中最完整、最流行的AOP框架。在Spring2.0以上版本中,可以使用基于AspectJ注解或基于XML配置的AOP。在Spring中2启用AspectJ注解支持:1、要在Spring应用中使用AspectJ注解,需要添加spring-aspect、aspectj-weaver、aopalliance依赖2、将aop Schema添加到<beans>根元素3、要在SpringIOC容器中启用AspectJ注解支持,只要在Bean配置文件中定义一个.

2020-12-02 14:51:12 137

转载 Spring并发访问的线程安全性问题

Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有确保这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。spring中的并发访问题:我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域。那么对于有状态的bean呢?Spring对一些(如Reque

2020-11-24 17:37:50 148

转载 MySQL索引前世今生

“腾讯云数据库负责人林晓斌说过:“我们面试 MySQL 同事时只考察两点,索引和锁”。言简意赅,MySQL 索引的重要性不言而喻。MySQL 索引历经了多个版本的迭代,从语法到底层数据结构都有很多改变。MySQL 索引,我们真的了解么?好了,今天我们一起来看看 MySQL 索引的前世今生,一起聊聊索引的那些事儿。什么是索引?在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数..

2020-11-23 11:54:27 133

转载 drop、truncate和delete的用法区别

一、SQL中的语法1、drop table 表名称 eg: drop table dbo.Sys_Test2、truncate table 表名称 eg: truncate table dbo.Sys_Test3、delete from 表名称 where 列名称 = 值 eg: delete from dbo.Sys_Test where test=‘test’二、drop,truncate,delete区别相同点:truncate和不带where子句的delete, 以及drop都会删除

2020-11-23 11:46:34 142

转载 Spring 事务管理详解

事务的概念我们知道,在JavaEE的开发过程中,service方法用于处理主要的业务逻辑,而业务逻辑的处理往往伴随着对数据库的多个操作。以我们生活中常见的转账为例,service方法要实现将A账户转账到B账户的功能,则该方法内必定要有两个操作:先将A账户的金额减去要转账的数目,然后将B账户加上相应的金额数目。这两个操作必定要全部成功,方才表示本次转账成功;若有任何一方失败,则另一方必须回滚(即全部失败)。事务指的就是这样一组操作:这组操作是不可分割的,要么全部成功,要么全部失败事务的特性事务具有

2020-11-18 18:25:38 211 2

转载 BeanFactory和ApplicationContext的区别

疑问:我看到过很多问 BeanFactory 和 ApplicationContext 不同点的问题,考虑到这,我应该使用前者还是后者从 Spring 容器中获取 beans 呢?spring基本功:BeanFactory和ApplicationContext的区别接口 BeanFactory 和 ApplicationContext 都是用来从容器中获取 Spring beans 的,但是,他们二者有很大不同(1)什么是 Spring Bean这是一个非常简单而又很复杂..

2020-11-17 14:15:24 151

转载 Spring Bean的生命周期

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。一、生命周期流程图:  Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点

2020-11-17 11:35:29 63

转载 java学习笔记之String.Split方法

参考:https://www.cnblogs.com/woaixingxing/p/10838546.htmlhttps://blog.csdn.net/java_zhangshuai/article/details/80086857hello 大家好,好久不见,今天 我们要讨论的是java的split方法,或许你很早就知道了,但你真的知道吗?我们来看看吧。首先我们来看看我们最常用的split()方法也就是单个参数的方法public String[] split(String ..

2020-11-13 11:08:46 125

原创 算法题:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度

题目:示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。二、解题思路① 判断空,如果为空,则直接返回0② 判断单个字

2020-11-11 18:03:29 388

转载 LeetCode: 两数之和

一、题目还原题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]二、解题思路Solution1:① 两层循环逐一相加② 结果等于target且下标不相等的两组数据

2020-11-11 15:18:06 59

空空如也

空空如也

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

TA关注的人

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