自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 聊一聊Spring-Aop

什么是SpringAOP?AOP通常指的是面向切面编程(Aspect-oriented Programming,简称AOP),它是一种编程范式,通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。通常用来隔离不同业务逻辑,比如常见的事务管理,日志管理等,cglib和jdk两种方式实现为什么要有AOP?假设现在有几个实现方法,需要做日志处理,正常来说我们只需要手动添加一下日志就可以了,我们都知道在真正的业务代码中,代码行数,以及方法数那是一个天文数字,如果都要手动添加那工作量不现实。

2021-09-09 14:41:48 213

原创 Navicat 出现 2003 - Can‘t connect to MySQL server on ‘127.0.0.1‘ (61 “Connection refused“)错误

右键编辑连接修改为使用套接字文件,即可解决!!!

2021-09-07 16:47:37 816

原创 Java面试题:聊一聊线程池

为什么会有线程池线程是一个重资源,JVM中的线程与操作系统的线程是一对一的关系,所以在JVM 中每创建一个线程就需要调用操作系统提供的 API 创建线程,赋予资源,并且销毁线程同样也需要系统调用。而系统调用就意味着上下文切换等开销,并且线程也是需要占用内存的,而内存也是珍贵的资源。因此线程的创建和销毁是一个重操作,并且线程本身也占用资源。线程数并不是越多越好我们都知道线程是 CPU 调度的最小单位,在单核时代,如果是纯运算的操作是不需要多线程的,一个线程一直执行运算即可。但如果这个线程正在等待 I/

2021-07-27 16:59:17 594

原创 java面试题分享:为什么需要分布式ID?你项目中是怎么做的?

为什么需要分布式ID?你项目中是怎么做的?何为 ID?简单来说,ID就是数据的唯一标识何为分布式 ID?分布式 ID 是分布式系统下的 ID,分布式 ID 不存在于现实生活中,属于计算机系统中的一个概念。举一个简单的分库分表点例子:我司一个项目使用的是单机板的mysql。但项目上线后随着使用人数越来越多,整个系统的数据量将越来越大,单机 MySQL 已经没办法支撑了,需要进行分库分表(推荐 Sharding-JDBC)。在分库之后, 数据遍布在不同服务器上的数据库,数据库的自增主键已经没办法满足

2021-07-26 11:00:19 594

原创 springboot项目启动报错[org.springframework.beans.factory.BeanDefinitionStoreException]

记录一下springboot项目启动遇到的错误,公司是组件化开发,用代码生成脚本自动生成基本代码,启动项目报了如下错误Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2021-07-15 15:34:32.711 ERROR 18378 --- [ main] o.s.boot.SpringApplicati

2021-07-15 15:48:07 10363

原创 ZooKeeper简介及原理

简介一、概述ZooKeeper是由Yahoo(雅虎)开发的,后来提供给Apache管理的一套开源的,用于进行分布式的框架Zookeeper是根据Google的关于Chubby Lock来设计实现的Zookeeper是是一个中心化分布式框架的管理框架zookeeper.out:启动日志,可以查看启动失败原因二、安装单机模式:在一台机器上安装,往往只能启动这个框架的一部分的功能伪分布式:在集群中安装,能够启动这个框架的所有功能完全分布式:在集群中安装,能启动这个框架的所有功能基本概念

2021-07-12 09:57:34 444

原创 YARN简介及原理

概述YARN(Yet Another Resource Negotiator,迄今另一个资源调度器)是Hadoop提供的一套用于进行资源管理和任务调度的框架YARN是Hadoop2.0中最重要的特性之一YARN产生的原因:内因:在Hadoop1.0中,JobTracker既要接收任务还得分配任务并且还需要监控这些任务是否执行完成,这就使得JobTracker成为了MapReduce的性能瓶颈。在官方文档中给定,Hadoop1.0中,TaskTracker的个数不能超过4000个外果:随着数据

2021-07-12 09:56:21 472

原创 sql优化及底层分析

mysql的数据引擎主流数据引擎(MyISAM、InnoDB)的对比性能下降SQL慢分析导致执行时间过长导致等待时间过长原因sql语句写的不合理没有建索引或者索引已经失效出现大量的关联查询和子查询,也就是很多join字段服务器调优及各个参数设置(缓冲\线程数等)sql执行顺序索引索引(Index)是帮助MySQL高效获取数据排好序的数据结构,本质就是:索引是数据结构,目的在于提高查询效率,类比于字典。本质:排好序的快速查找数据结构,BTree结构一般来说索引本身也

2021-07-12 09:54:58 127

原创 简单聊一聊Java虚拟机

JVM体系结构概览类装载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于他是否可以运行,则由Execution Engine决定虚拟机自带的加载器启动类加载器/根加载器(Bootstrap)C++ 如果是系统原生的类调用getclass.classloader调用的是原生的bootstrap根加载器扩展类

2021-07-12 09:44:06 77

原创 大数据技术之Hive简介及底层原理

简介一、概述Apache Hive™数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。可以将结构投影到已经存储的数据上。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。提供了类SQL(HQL)语言来管理HDFS上的数据,底层会将sql转化为MapReduce执行,Hive适用于离线分析在Hive中,每一个database在HDFS上对应一个目录在Hive中没有主键的概念一个表一旦建立之后,这个表中字段之间的间隔符就不能修改了命令create tabl

2021-07-12 09:40:43 1971

原创 大数据技术之Hbase简介以及底层原理详解

简介概述HBase是有Apache提供的基于Hadoop的分布式,可扩展的非关系型数据库HBase可以管理很大的数据的表 - billions of rows X millions of columnsHBase是Doug Cutting根据Google的BigTable来实现,所以HBase和BigTable的原理一模一样,只是BigTable是用C语言实现的,HBase是Java语言实现的本身是非关系型数据库,底层是利用键值对来存储在HBase中也不支持多表关联HBase中数据类型只支

2021-07-12 09:37:26 1456

原创 简单聊一聊Dubbo

一、分布式系统分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统,分布式系统(distributed system)是建立在网络之上的软件系统。垂直应用架构1. 做不到界面+业务逻辑实现分离2. 应用不可能完全独立,大量的应用之间需要交互分布式应用架构1. 可以做到点后端分离2. 应用之间的相互调用二、RPC(远程过程调用)什么叫RPCRPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它

2021-07-12 09:30:57 281

原创 详解设计模式

设计模式的类型设计模式分为三种类型,共23种创建型模式:单例模式,抽象工厂模式,工厂模式,原型模式,建造者模式。结构型模式:适配器模式,装饰者模式,桥接模式,组合模式,外观模式,享元模式,代理模式行为型模式:模版方法模式,命令模式,访问者模式,迭代器模式,观察者模式,备忘录模式,解释器模式(interpreter模式),状态模式,策略模式,职责链模式(责任链)模式。设计模式常用的七大原则1.单一职责原则降低类的复杂度,一个类只负责一项职责便于后期的代码的维护,提高代码的刻度性降低后期

2021-07-12 09:27:53 73

原创 Spring简介以及常见的面试题(五)

切入点表达式within表达式通过类名进行匹配,是一种粗粒度的切入点表达式,不可以指定某个方法进行增强,以类作为基本的单位在Spring的约束文件中配置切入点和切面(within切入点表达式) <!--添加Spring AOP相关的约束 xmlns:aop="http://www.springframework.org/schema/aop" http://www.springframework.org/schema/aop/spring-aop.xsd --&

2021-07-12 09:20:31 133

原创 Spring简介以及常见的面试题(四)

SpringAOP1. Spring aop的基本概念连接点连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。通俗讲:层与层之间方法调用的过程称之为连接点切入点(Pointcut):匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。切入点表达式如何和连接点匹配是AOP的核心。核心:Spring缺省使用Aspe

2021-07-09 09:55:30 65

原创 Spring简介以及常见的面试题(三)

Spring注解方式实现IOC和DI1.Spring注解Spring除了默认的使用xml配置<bean>标签的方式实现配置外,也可以通过注解的方式来实现配置,这种方式效率更高,配置信息清晰,代码在哪对应的配置也在哪儿。所谓注解就是程序看的提示信息,很多时候都用来作为轻量级配置方式Spring注解方式实现IOCa. 导入开发jar包b. 编写配置文件,并导入context约束<?xml version="1.0" encoding="UTF-8"?><beans

2021-07-09 09:54:39 81

原创 Spring简介以及常见的面试题(二)

单例和多例Spring容器管理的bean在默认情况下是单例,也就是一个bean创建一个对象,存在内置Map集合中,之后无论获取多少次该bean,都返回的同一个对象。bean在单例模式的生命周期:bean在单例模式下,Spring容器启动时解析xml发现该bean标签后,直接创建该bean的对象存入内部map中保存,此后无论调用多少次getBean()都是从map中获取该对象返回,一直是一个对象,次对象一直被Spring容器持有,知道容器退出时,随着容器的退出对象被销毁案例-单例<?xml

2021-07-09 09:53:36 81

原创 Spring简介以及常见的面试题(一)

框架(半成品软件)高度抽取可重用代码的一种设计,高度的通用性;框架:抽取成一种高度可重用的;事务控制,强大的servlet,项目中的一些工具。 框架:多个可重用模块的集合,形成一个某个领域的整体解决方案;常见的框架SSH(老三大框架)Struts2SpringHibernateSSM(新三大框架)SpringMVC(WEB)Spring(Service)Mybatis(Dao)Spring 框架Spring是一个service层的框架,可以整合其他框架容器(可以管

2021-07-09 09:51:28 93

原创 大数据技术之Spark

简介spark是一个开源免费的,通用的,可靠性的分布式计算框架,可用于处理海量的数据Apache Spark™是用于大规模数据处理的统一分析引擎。常见的计算框架MapReduce -> 离线批处理Spark ->离线批处理+实时处理Storm ->实时处理Flink ->实时处理Hadoop MapReduce 存在问题当发生shuffle时底层会产生大量的磁盘I/O,会降低整体的性能。此外还会产生大量的排序操作,耗费cpu,并且不能做到对中间结果集的服用,导致

2021-07-09 09:47:19 816

原创 redis简介

什么是 Redis?redis是由Apache提供的高性能的非关系型数据库redis的特点redis支持数据的持久化,支持将内存中的数据持久到磁盘上,这样可以避免重启或服务器宕机引起数据的丢失redis不仅仅支持key-value这样类型的数据,还支持list ,set ,zset,hash等数据结构的存储redis常常以集群的方式部署在节点上,采用的主从结构,支持数据的备份,即master-slave模式的数据备份Redis 优势redis是基于内存存储数据的,所以有高性能的读写速

2021-07-09 09:19:20 532

原创 SpringMvc简介以及相关面试题

1.SpringMVC概述SpringMVC是一个WEB层,控制层框架,主要用来负责与客户端交互,业务逻辑的调用。SpringMVC是Spring家族的一大组件,Spring整合SpringMVC可以做到无缝集成,特点:简单易用性能佳2.SpringMVC相对与Servlet的优势a. Servlet的开发配置相对麻烦,servlet特别多的时候web.xml文件将会非常的臃肿b. 每个Servlet都只能处理一个功能,如果需要多个功能就需要开发多个servlet,项目中存在大量的servlet显得

2021-07-09 09:16:53 122

原创 mybatis常见面试题

什么是 Mybatis?Mybatis是一个半ORM(对象关系映射)的框架,它内部封装了JDBC,开发时只需要关注sql语句本身,不需要花费精力去处理加载驱动、创建连接,创建statement等复杂过程。程序员直接编写原生态的sql,严格控制sql的执行性能,灵活度高。Mybatis可以通过xml和注解的方式来配置和映射原生信息,将普通JavaBeans映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。通过xml文件或者注解的方式执行各种statement配置起来,并通

2021-07-09 09:14:10 105

原创 大数据技术之MapReduce

MapReduce定义MapReduce是一个分布式运算程序放入编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。MapReduce的优缺点1. MapReduce易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点

2021-07-09 09:11:10 847

原创 Linux简介以及常见的命令使用

Linux简介 Linux是一款操作系统,它是由unix演变而来的,创始人是芬兰当时的大学生肯.汤普森写的一款操作系统,Linux具有开源免费的特点,现在广泛运用于服务器端。Linux的优势 相较于Windows而言Linux更加的安全,更加的高效,对网络有良好的支持性,稳定,低成本,可以很好的解决多并发的问题。2.创建虚拟机(空间) #### 配置网络连接时有三种形式:1.桥连接:Linux可以和任意系统进行通信,但是可能造成ip冲突的问题2.NAT:网络地址的

2021-07-09 09:09:01 100

原创 Kafka简介

简介概述Kafka是LinkedIn(领英)公司开发后来贡献给了Apache提供的一套分布式的消息系统(message system),是一个分布式流平台流平台具有三个关键功能:发布和订阅记录流,类似于消息队列或企业消息传递系统。以容错的持久方式存储记录流。处理记录流。应用场景建立实时流数据管道,以可靠地在系统或应用程序之间获取数据构建实时流应用程序,以转换或响应数据流Kafka本身是由Scala来完成的,所以Kafka天然支持高并发和分布式Kafka会将生产者添加的

2021-07-08 17:59:57 435

原创 Java并发包JUC

原子性操作–Atomic 原子性原子性操作实际上就是针对属性来提供线程安全的方法,在底层会自动采用CAS来保证线程安全。volatile是Java提供的轻量级的线程同步机制阻塞队列 BlockingQueue原则:遵循FIFO往往是有界的,容量固定不变具有阻塞特性:如果队列已满,则试图放入的线程会被阻塞;如果队列为空,就会阻塞尝试获取的线程不允许元素null方法:抛出异常返回特殊值产生阻塞定时阻塞添加add - IllegalStateExcept

2021-07-08 17:53:11 92

原创 大数据技术之HFDS

大数据简介一、大数据特征 - 6V数据体量大,一般从TB级别开始计算数据种类和来源多数据的增长速度越来越快数据的价值密度越来越低,但是这不意味着想要的数据越来越少,相反,想要的数据越来越多的,但是样本总量的增长速度是要高于想要的数据的增长速度的数据的真实性/质量数据的连通性数据的动态性、数据的可视化、合法性二、概述Hadoop是Apache提供的一个开源的、可靠的、可扩展的系统架构,可以利用分布式架构来进行海量数据的存储以及计算Hadoop之父:Doug Cutting(道格·卡

2021-07-08 17:49:39 2202

原创 微服务网关之Springcloud GateWay

简介由于有如此众多的客户端和服务器,在云体系结构中包括一个API网关通常会很有帮助。网关可以负责保护和路由消息,隐藏服务,限制负载以及许多其他有用的事情。Spring Cloud Gateway为您提供对API层的精确控制,集成了Spring Cloud服务发现和客户端负载平衡解决方案,以简化配置和维护。SpringCloud Gateway 是Spring cloud的一个全新的项目,基于Spring Framework 5,Project Reactor和Spring Boot 2.0等技术

2021-07-08 17:46:38 88

原创 大数据技术之Flume

Flume概述Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调整的可靠性机制以及许多故障转移和恢复机制,具有强大的功能和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序。Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写到HDFS中Flume的版本更新相对稳定:Flume1.0:Flume-ng Flume-ng和Flume-og不兼容。现在开发过程中一般使用的是Flume-ng

2021-07-08 17:41:36 624

原创 设计模式之单例设计模式

设计模式之单列设计模式单例设计模式(饿汉式静态变量)public class SingleTest1 { @Test public void test(){ //通过调用静态方法来创建实例 Singleton instance = Singleton.getInstance(); Singleton instance1 = Singleton.getInstance(); //证明不管多少次调用Singleton类同一个实

2021-07-08 17:36:01 55

空空如也

空空如也

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

TA关注的人

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