自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nginx详细介绍

1、Nginx 简介Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能。2、Nginx 相对基它WEB服务有什么优势呢?Tomcat、Jetty 面向java语言,先天就是重量级的WEB服务器,其性能与Nginx没有可比性。 IIS只能在Windows操作系统上运行。Windows作为服务器在稳定性与其他一些性能上都不如类UNIX操作系统,因

2021-01-21 22:26:29 1302

原创 SSM框架整合

流程整合SSM框架要做哪些事情:SpringMVC: pom web.xml 前端调度器servlet 编码过滤器filter 支持rest的过滤器 spring-mvc.xml 扫描controller包 动态资源的扫描 视图解析器 静态资源解析 添加控制器类...Spring: web.xml 监听器(在启动web容器时加载...

2020-12-28 19:01:00 162

原创 MyBatis-Plus的使用及插件

MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambd

2020-12-14 19:13:44 806

原创 进制间相互转换

一、二进制、八进制、十六进制转换十进制1、二进制转换十进制例:1001011算法:1*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^02、八进制转换十进制例:1304算法:1*8^3 + 3*8^2 + 0*8^1 + 4*8^03、十六进制转换十进制例:2AF5算法:2*16^3 + 10*16^2 + 15*16^1 + 5*16^0二、十进制转换二进制、八进制、十六进制算法:直接除去n(转换进制),余数倒

2020-12-14 19:12:46 805

原创 MyBatis分页插件&逆向工程

分页插件

2020-12-14 16:10:02 286

原创 Mybatis深入解析之日志配置

市面上的日志框架UL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....常用日志日志门面: SLF4J; 官方文档:http://www.slf4j.org/日志实现:Logback; 中文文档:http://www.logback.cn/集合Mybatis1、导入pom<!-- log start --><dependency> <groupId>org.slf4j</grou...

2020-12-03 15:49:46 221

原创 Mybatis深入解析之缓存

介绍MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行:<cache/>当添加上该标签之后,会有如下效果:映射语句文件中的所有 select 语句的结果将会被缓存。 映射语句文件中的所有 insert、update 和 de

2020-11-30 22:12:14 197

原创 Mybatis深入解析之映射文件详解

语句映射MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):cache – 该命名空间的缓存配置。 cache-ref – 引用其它命名空间的缓存配置。 resultMap – 描述如何从数据库结果集中加载对

2020-11-26 16:10:30 838

原创 Mybatis深入解析之配置文件详解

官方说明:MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器) data

2020-11-24 21:44:14 251

原创 Mybatis深入解析之初识

1、数据库操作框架的历程1.1 JDBCJDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序优点:运行期:快捷、高效缺点:编辑期:代码量大、繁琐异常处理、不支持数据库跨平台jdbc核心apiDriverManager 连接数据库 Co..

2020-11-17 18:39:29 120

原创 SpringMVC深入解析之数据处理、上传下载、拦截器、国际化、异常

1、请求处理(1)处理请求 在之前的servlet中我们可以通过request.getParameter()来获取请求中的参数,但是在我们编写的SpringMVC的应用程序中,在具体请求的方法中并不包含request参数,那么我们应该如何获取请求中的参数呢? 需要使用以下几个注解:@RequestParam:获取请求的参数,使用此注解之后,参数的名称不需要跟请求的名称一致,但是必须要写public String request(@RequestParam(valu...

2020-11-16 11:00:46 805

原创 SpringMVC深入解析之初识搭建

SpringMVC的介绍Spring Web MVC是构建在Servlet API上的原始Web框架,从一开始就包含在Spring Framework中。 正式名称 “Spring Web MVC,” 来自其源模块(spring-webmvc)的名称,但它通常被称为“Spring MVC”。简而言之,springMVC是Spring框架的一部分,是基于java实现的一个轻量级web框架。学习SpringMVC框架最核心的就是DispatcherServlet的设计,掌握好DispatcherServ

2020-11-12 09:57:14 86

原创 Spring深入解析之声明式事务(一)

什么是事务把一组业务当成一个业务来做;要么都成功,要么都失败,保证业务操作完整性的一种数据库机制。事务的四大特性(ACID)A 原子性:原子性指的是在一组业务操作下,要么都成功,要么都失败 C 一致性:事务前后的数据要保证数据的一致性。 I隔离性:在并发情况下 事物之间要相互隔离。 D 持久性:数据一旦保存就是持久性的。事务的实现方式编程式事务:在代码中直接加入处理事务的逻辑,可能需要在代码中显式调用beginTransaction()、commit()、rollback()等事..

2020-11-11 09:45:27 123

原创 Spring深入解析之AOP(一)

Spring深入解析之AOPAOP:Aspect Oriented Programming 面向切面编程 OOP:Object Oriented Programming 面向对象编程 面向切面编程:基于OOP基础之上新的编程思想,OOP面向的主要对象是类,而AOP面向的主要对象是切面,在处理日志、安全检查、权限认证、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,虽然IOC容器没有依赖AOP,但是AOP提供了非常强大的功能,用来对IOC做补充。通...

2020-11-09 17:57:50 460

原创 Spring深入解析之IOC(一)

官网介绍:IOC与大家熟知的依赖注入同理,这是一个通过依赖注入对象的过程。也就是说,它们所使用的对象,是通过构造函数参数,工厂方法的参数或这是从工厂方法的构造函数或返回值的对象实例设置的属性,然后容器在创建bean时注入这些需要的依赖。 这个过程相对普通创建对象的过程是反向的(因此称之为IoC),bean本身通过直接构造类来控制依赖关系的实例化或位置,或提供诸如服务定位器模式之类的机制。理解:IOC是一种设计思想,在Java开发中,将你设计好的对象交给容器控制,而不是显示地用代码进行对象的创建。

2020-11-09 17:46:08 206

原创 Spring深入解析之Spring初识

什么是spring?spring是一个轻量级的开源框架。spring为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题spring是一个IOC和AOP的容器框架。IOC:控制反转 AOP:面向切面编程 容器:包含并管理应用对象的生命周期Spring框架的设计目标Spring为开发者提供一个一站式轻量级应用开发平台Spring设计理念在JavaEE开发中,支持POJO和JavaBean开发方式,使应用面向接口开发,充分支持OO(面向对象)设计方法;Spring通过IoC容

2020-11-09 17:45:25 201

原创 MYSQL锁与事物隔离级别

事物事务是由一组SQL语句组成的逻辑处理单元。事务ACID属性原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行 一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性 隔离性(Isolation) :数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境执行。这意味着事务处理过程中的中间状态对外部是不可见的,反之亦然 持久性(D

2020-09-29 14:56:56 94

原创 AOP-封装接口返回格式-全局异常

在大趋势的流行下,每个项目发展到后期都会考虑到分布式或者微服务,如果让你自己管理一个子项目,自己搭建完框架后你是否考虑到一个问题,怎样让自己项目看起来不那么篓呢?这里记录一下,当一个新项目到手上后我们都能提前做好哪些事。统一返回信息首先定义好返回的包装类@Datapublic class CommonResponse extends HashMap<String, Object> { private static final ObjectMapper OBJECT_MAP

2020-07-30 17:07:55 520

原创 MYSQL索引的优化及设计

索引索引是帮助MySQL高效获取数据的排好序的数据结构索引数据结构二叉树1)每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。 2)左子树和右子树是有顺序的,次序不能任意颠倒。 3)即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。红黑树红黑树是一个平衡二叉树,当红色节点和黑色节点数量相同时,就是最长路径,也就是黑色节点(或红色节点)* 2。维持平衡主要通过两种方式【变色】和【旋转】,【旋转】又分【左旋】和【右旋】,两种方式可相互结合。1)节点是红色或黑

2020-07-29 15:17:05 254

转载 MYSQL慢查询

1 概念MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志

2020-07-28 15:44:44 651

原创 Tomcat核心组件

Tomcat简介Tomcat相信对于所有小伙伴来说都不陌生,它是一个基于JAVA的WEB容器,其实现了JAVA EE中的 Servlet 与 jsp 规范,与Nginx apache 服务器不同在于一般用于动态请求处理。在架构设计上采用面向组件的方式设计。即整体功能是通过组件的方式拼装完成。另外每个组件都可以被替换以保证灵活性。Tomcat各组件及关系介绍组件之前我们先来看一个图片,来梳理一下各组件之间的关系根据上面图片,我们整体来认识一下Tomcat。一个Tomcat只能有一个ser.

2020-07-22 13:58:47 1090

原创 MAC 修改鼠标速度

在系统偏好设置鼠标设置里面的鼠标速度已经不满足,所以通过命令来设置,其实很简单输入命令:defaults read -g com.apple.mouse.scaling可以查看当前鼠标的速度输入更改命令:defaults write -g com.apple.mouse.scaling 8当然,你也可以把8修改成你想要的速度修改完后重启电脑就完成了...

2020-07-22 13:57:54 658

原创 JVM深入解析五之调优命令及工具

JVM调优命令学习JVM调优,那么有两个参数是必然要熟悉的。jps:是jdk提供的一个查看当前java进程的小工具。top -p <pid>:显示java进程的内存情况。Jmapjmap -histo pid:此命令可以用来查看内存信息,实例个数以及占用内存大小,当然,也可以在后面加上 > /Users/Downloads/log.txt 生成日志文件。num:序号 instances:实例数量 bytes:占用空间大小 class name:类名称,[C i

2020-07-22 13:57:32 157

原创 JVM深入解析四之垃圾收集器

目录垃圾收集算法1.标记-复制算法2.标记-清除算法3.标记-整理算法垃圾收集器1.Serial收集器(-XX:+UseSerialGC -XX:+UseSerialOldGC)2.Parallel Scavenge收集器(-XX:+UseParallelGC,-XX:+UseParallelOldGC)3.ParNew收集器(-XX:+UseParNewGC)4.CMS收集器(-XX:+UseConcMarkSweepGC(old))5.G1收集器(-XX:+U..

2020-07-22 13:57:14 573 1

原创 JVM深入解析三之常量池

Class常量池Class文件是以十六进制保存的,当然我们一般可以通过javap -v XXX.class命令生成更可读的JVM字节码指令文件。Class常量池可以理解为是Class文件中的资源仓库。 Class文件中除了包含类的版本、字段、方法、接口等描述信息外, 还有一项信息就是常量池(constant pool table),用于存放编译期生成的各种字面量(Literal)和符号引用(Symbolic References)。字面量字面量就是指由字母、数字等构成的字符串或者数值常量,字

2020-07-22 13:57:04 136

原创 JVM深入解析二之结构与内存

目录JVM整体结构JVM内存模型堆(线程共享)虚拟机栈(线程私有)方法区(元空间)(线程共享)程序计数器(线程私有)本地方法区(线程私有)JVM内存分配对象的创建1.类加载检查2.分配内存3.初始化4.设置对象头5.执行方法对象指针压缩对象内存分配1.对象栈上分配2.对象在Eden区分配3.对象进入老年代4.老年代空间分配担保机制对象内存回收1.引用计数法2.可达性分析算法3.方法区类回收(如何判断一个类是无用的

2020-07-22 13:56:52 112

转载 JVM深入解析一之类加载过程

类加载过程加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载,例如调用类的 main()方法,new对象等等;在加载阶段会在内存中生成一个代表这个类的 java.lang.Class对象,作为方法区这个类的各种数据的访问入口; 验证:校验字节码文件的正确性; 准备:给类的静态变量分配内存,并赋予默认值; 解析:将符号引用替换为直接引用,该阶段会把一些静态方法的符号引用替换为指向数据所存内存的指针或句柄等(直接引用),这是所谓的静态链接过程(类加载期间完成),动态链接是在程序运行期间

2020-07-22 13:56:26 173 1

原创 搭建ELK实现日志采集

之前在公司搭建了一套ELK一直没用,前两天公司突然要使用了,因为Linux接口没有对外暴露,所以需要修改端口,两个月没管,登上服务器之后一脸懵逼,为了防止再次忘记,所以把搭建过程记录下来。1.搭建Elasticsearch下载对应版本,这里用7.5.1:https://www.elastic.co/cn/downloads/elasticsearch,ELK下载路径都一样,所以以下不再阐述如果是Linux系统,需要注意:(a)设置内核参数vim /etc/sysctl.conf...

2020-07-22 13:55:50 294

空空如也

空空如也

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

TA关注的人

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