自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lx_Frolf的博客

文明交流,不喜勿喷。

  • 博客(105)
  • 收藏
  • 关注

原创 SpringBoot与servlet

一、servlet,servlet容器Servlet 是一种基于 Java 技术的 Web 组件,用于生成动态内容,由容器管理。类似于其他 Java 技术组件,Servlet 是平台无关的 Java 类组成,并且由 Java Web 服务器加载执行。在以前的servlet规范中,必须放在相应的目录中才可以执行,比如web-inf,而SpringBoot就非常简单,不需要复杂的步骤。Servle...

2019-01-24 11:59:01 9811 1

原创 SpringWebMVC

一。静态Web内容Http请求内容由Web服务器文件系统提供,常见静态Web内容如html,css,js.jpg,flash等。静态Web的特点计算类型:IO类型(socket必须有服务器的IP、port和进程内的IO,文件在内存中的缓存,文件存在于磁盘上);交互方式单一;资源内容基本相同;资源路径:物理路径(包括文件,目录等)请求方法:主要是Get方法。常见使用场景:信息展示,样式文件(...

2019-01-24 11:48:19 541

原创 微服务概述

一。微服务微服务是一种更细粒度的SOA架构,用于建立分布式软件系统(主要是分布式计算),可以解决单体应用规模增加时所带来的问题。微服务是一种软件架构,并没有约束要用哪个技术或者绑定在哪个平台。如果细到代码层面是分层,细到工程方面是模块化,细到应用层面是服务拆分(微服务,SOA)。微服务不只针对于Java,PHP,NodeJS都可以做,一个单体应用程序把所有的功能放在一个单一进程中,并且通过在多个...

2019-01-24 11:44:53 391

原创 报错:Unknown lifecycle phase mybatis-generator-generate

在使用Mybatis自动生成器时,可能出现的错误及解决办法:错误描述:[ERROR] Unknown lifecycle phase "mybatis-generator-generate". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> ...

2019-01-10 09:40:01 2042

原创 SpringBoot项目从0开始搭建

SpringBoot并不是新的框架,他默认配置了很多框架的使用方式,就像maven整合了所有的jar包一样,SpringBoot整合了所有的框架,并通过一行简单的main 方法启动应用。一。搭建环境jdk:1.8开发工具:idea二。创建项目选择这种maven创建方式,创建的项目是一个jar包的形式对外输出,也是最快的构建SpringBoot项目的方式。如果没有SpringBoot...

2019-01-10 09:34:18 1037

原创 负载均衡介绍

一。什么是负载均衡(Load Balance)由于目前现有网络的各个核心业务模块随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,将造成现有资源的浪费,而且如果业务流量不断提升时,又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。针对此情况而衍...

2019-01-09 10:06:09 727

原创 session共享问题

一。session会话机制由于http 协议的特性是无状态性 ,http 协议本身是无状态的,客户端只需要向服务器请求下载某些文件,无论是客户端还是服务器都没必要记录彼此过去的行为,每一次请求之间对于服务端来说是独立的,如果能够提供一些按照需要生成的动态信息会使 web 变得更加有用。假如一个需要登录授权才能执行的动作,因为 http 协议没办法保存这个登录的用户的状态,因此当下一次再执行一个需...

2019-01-09 10:03:07 1736

原创 分布式事务

分布式事务的解决方案一。为什么会有分布式事务假设有如下架构,两个应用节点,一个数据库,一个负载均衡器。在这个架构下,一个月的数据量就会超过 3000W,而随着数据量的不断扩大,对于表的相关查询操作的性能开销就越来越大,并且响应耗时也越来越长。这个时候需要考虑到数据库的优化问题,也就是对数据库进行分表分库,达到分摊数据库压力以及减少数据库单表数据量的目的。分库分表以后,一方面分担了单库带来的性能...

2019-01-09 09:54:45 371

原创 高并发场景下的限流策略

高并发场景下的限流策略性能调优是针对于代码本身的不规范性和系统资源的瓶颈的,当计算机的硬件资源达到瓶颈的时间已经无法调优了。高并发场景下一方面通过缓存,异步化,服务化,集群去增加整个系统的吞吐量,另一方面通过限流,降级来保护系统。什么是限流和降级在开发高并发系统时,有很多手段来保护系统:缓存、降级、限流。缓存是为了解决访问热点数据的速度问题和低速IO部件与高速IO部件之间的差异性,从而提高...

2019-01-09 09:42:00 1780

原创 mysql执行计划详解

分析MySQL执行计划查询SQL:SELECT *FROM USERWHERE userId IN (SELECT userId FROM user_address WHERE addressId IN(3, 2));一.idselect查询的序列号,标识执行的顺序1、id相同,执行顺序由上至下2、id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行...

2018-12-31 17:14:44 254

原创 MySQL之MVCC原理解析

Innodb MVCC一。mvcc是什么?MVCC: Multiversion concurrency control (多版本并发控制)并发访问(读或写)数据库时,对正在事务内处理的数据做 多版本的管理。以达到用来避免写操作的堵塞,从而引发读操 作的并发问题。二。MySQL中mvcc插入逻辑流程Innodb 如何实现的mvcc呢?假如一张表user有三个字段id,name,age,...

2018-12-31 17:09:40 909

原创 mysql-影响MySQL索引的因素

一.MySQL索引索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。MySQL5.5之前的版本,默认的存储引擎是MyISAM,5.5以后默认的存储引擎是InnoDB。存储引擎是由第三方公司提供的一个插拔式的插件(是每个公司都要实现的一套标准)的方式来使用的。存储引擎都是定义到表结构上面的,可以在一个库里面定义多种存储引擎,每个表可以使用不同的存储引擎。索引机制就是由这些插拔式的存...

2018-12-29 16:03:38 884

原创 MySQL事务

什么是事务?事务:数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作; 事务是一组不可再分割的操作集合(工作逻辑单元);典型事务场景(转账): update user_account set balance = balance - 1000 where userID = 3; update user_account set balance = balance +1000 whe...

2018-12-29 16:01:31 251

原创 MySQL内部原理深度解析

一。MySQL体系结构1,Client Connectors接入方 支持协议很多,比如Java的接入协议是JDBC,ODBC2.Management Serveices & Utilities:系统管理和控制工具例如:备份恢复,mysql复制集群等3,Connection Pool连接池:管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求,接收来自客户端的协...

2018-12-29 15:55:36 1225

原创 mysql-基于tree的索引的数据结构

各种基于树的索引的数据结构:1.普通二叉树:查找的效率取决于数据的分布情况,如上图类似于全表扫描:2.平衡二叉树(红黑树就是一颗定义更复杂一些的平衡二叉树):会在数据的插入或删除的时候,通过一个平衡因子(旋转树的方式)去保证整个树的相对平衡(1)相对平衡二叉树:某个节点的子节点的高度差不会超过1(2)完全平衡二叉树:AVL树,整棵树的高度差都不会超过1检索过程:一个节点就认为是...

2018-12-29 15:52:53 438

原创 MySQL的几种存储引擎

一。MySQL存储引擎介绍存储引擎是一种插拔式的插件方式,提供了一套API标准;是指定在表之上的,即一个库中的每一个表都可以指定专用的存储引擎;不管表采用什么样的存储引擎,都会在数据区,产生对应的一个frm文件(表结构定义描述文件)。二。各种存储引擎1.CSV存储引擎数据存储以CSV文件特点: 不能定义没有索引、列定义必须为NOT NULL、不能设置自增列 -->不适用大表或者数...

2018-12-29 15:49:05 2431

原创 MySQL常见配置

MySQL配置优化MySQL服务器参数类型基于参数的作用域:全局参数 set global autocommit = ON/OFF;会话参数(会话参数不单独设置则会采用全局参数) set session autocommit = ON/OFF;注意:全局参数的设定对于已经存在的会话无法生效 会话参数的设定随着会话的销毁而失效 全局类的统一配置建议配置在默认配置文件中,否则重启服务会导致...

2018-12-29 15:46:13 691

原创 MySQL(InnoDB)锁详解

表锁,行锁锁是用于管理不同事务对共享资源的并发访问表锁与行锁的区别:锁定粒度:表锁 > 行锁加锁效率:表锁 > 行锁冲突概率:表锁 > 行锁并发性能:表锁 < 行锁InnoDB存储引擎支持行锁和表锁(另类的行锁),InnoDB的表锁是通过行锁把所有行都锁住实现的,他本身是不支持表锁的。InnoDB锁类型这八种锁中,后面三种锁只能算是行锁的算法共享锁(行锁...

2018-12-29 15:44:11 1163

原创 MySQL语法及函数

修改密码:首先在DOS 下进入mysql安装路径的bin目录下,然后键入以下命令:mysqladmin -uroot -p(原密码) password 新密码;授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by ‘密码’SHOW GRANTS FOR name; //查看name用户权限REVOKE SELECT ON db_name....

2018-12-29 15:39:18 1258

原创 MySQL在centOS7下的下载安装配置

通过解压缩的方式安装官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载好之后上传到Linux2、解压tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql建议:不要安装到其它目录,否则数据库初始化的时候会报cannot ch...

2018-12-29 15:33:27 1758

原创 MySQL在window下的下载安装配置

一.MySQL下载官网:https://www.mysql.com/downloads/打开网址后,按照如下操作:会看到很多MySQL的版本,以MySQL5.6为例:选择对应的版本进行下载:如果没有注册登录下载页面时,官网会提示你注册一个账号进行下载,当然你也可以选择无需注册即可下载MYSQL的解压包。二.安装下载好的MySQL是个zip压缩包,需要解压,解压即安装,我的是安装...

2018-12-29 15:24:25 224

原创 linux-centOS环境下安装jdk8

一、yum安装只需要通过执行一条命令即可安装jdk,yum install java-1.8.0-openjdk* -y执行完成后,无需配置,直接可以使用。查看是否安装好:二、下载tar包安装1.登录官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.选择对...

2018-12-09 16:07:41 320

原创 weblogic热部署配置的一些问题

weblogic热部署配置:1,保存javarebel.jar2.配置JAVA_OPTIONS \bin\startweblogic.cmd3.配置class文件路径 set DREBEL_DIR=…classes4.重新启动,看是否成功debug配置 JAVA_OPTIONS热部署解决动态加载java文件热加载是动态加载web-context,sqlmap等配置文件,只在开发环境发布...

2018-12-02 12:49:08 605

原创 kettle4.3启动不了的问题

kettle不需要安装,只要解压出来就可以使用。是用Java语言编写的纯绿色etl工具。支持关系型数据库,xml,excel,文件,hadoop等格式的输入,输出。可以对数据做转换、映射等。spoon.bat打开后,如果界面一闪就没了,可能是JDK没有安装好或者没有配置环境变量,kettle4.2对JDK的要求是JDK1.6。上一篇:Mobaxterm的使用心法...

2018-12-02 12:43:00 675

原创 Mobaxterm的使用心法

一.什么是Mobaxterm?MobaXterm是远程计算的终极工具箱。在单个Windows应用程序中,它提供了大量功能,这些功能是为程序员,网站管理员,IT管理员以及需要以更简单的方式处理远程作业的所有用户量身定制的。MobaXterm向Windows桌面提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH …)和Unix命令(bash,ls,cat,sed,grep,...

2018-12-02 12:39:45 4516

原创 tableau的下载安装及简单使用

一.介绍Tableau 可以把数据做成一份可视化报表,帮助我们查看,快速分析,理解数据,从而提高工作效率,在大数据分析工作中,使用tableau作为报表工具是很常见的。二.下载,安装,破解官网:https://www.tableau.com/下载好之后,解压缩会得到一个文件夹和一个可执行文件,如图双击可执行文件,安装到自定义目录,启动tabluau程序时,会提示免费试用或者输入破解码,...

2018-12-02 12:32:53 33062 2

原创 tomcat性能优化

配置优化1.减少配置优化场景一:假设当前是rest应用(微服务),不需要jsp的情况不需要静态资源,Tomcat容器有静态和动态静态处理主要指DefaultServlet类,优化方案:通过移除conf/web.xml中的org.apache.catalina.servlets.DefaultServletDefaultServlet:Tomcat处理静态资源的Servlet动态处理...

2018-11-26 12:56:25 367

原创 Tomcat目录解析和应用部署

Tomcat8以前是BIO,以后是NIO,NIO并不是一定能提高性能,如果请求数据量较大,NIO性能比BIO性能还要差。servlet3.0规范支持tomcat7,servlet3.1规范支持tomcat8.一.目录下图是Tomcat的webapps目录:在Tomcat的webapps目录下的每个目录都是一个应用上下文,一般通过路径来进行划分,例如localhost:8080/root就...

2018-11-26 12:49:52 811

原创 Tomcat介绍

一.版本Tomcat是基于java语言的轻量级应用服务器,是一款完全开源免费的servlet容器的实现。它支持html,js等静态资源的处理。目前Tomcat主要存在5个不同的版本,主要支持不同版本的规范,如下图:二.下载下载Tomcat8的官网:https://tomcat.apache.org/download-80.cgi有zip和tar.gz两种形式的二进制文件和源码包可供下载...

2018-11-26 12:45:20 1212

原创 centOS不显示ipv4地址的解决办法

centOS虚拟机刚创建好,输入ifconfig查看IP地址时,发现io是正常的,但是不显示ipv4地址,只有ipv6的地址,在不改变Linux系统grub配置和内核参数的情况下,解决办法有两种:一.卸载掉已安装好的虚拟机,重新安装,在安装时选择网络和主机名配置项,如图:在右上角选择开启,此时就会连接上网络,IP地址也会显示出来。二.进入 cd /etc/sysconfig/netwo...

2018-11-26 09:19:11 6301

原创 centOS开启和关闭防火墙

CentOS 7.0默认使用的是firewall作为防火墙,在安装某些软件的时候就需要关闭防火墙。一.查看防火墙的状态开启显示 running,关闭后显示 not running执行命令 firewall-cmd --state二.关闭防火墙执行命令 systemctl stop firewalld.service禁止防火墙在开机时启动 systemctl disable firewa...

2018-11-26 09:15:34 1732

原创 Linux目录详解

一.配置虚拟网络1.虚拟局域网不能和真实的网络重叠2.各个操作系统的防火墙建议关闭。3.各个操作系统网络适配器必须处于开启状态。4.在Linux系统中,建议使用如下命令启动网络:启动网络:service network start禁用网络:service network stop重启网络:service network restart退出命令执行:ctrl+z/c5.在Linux...

2018-11-26 09:10:47 4294

原创 Oracle存储过程的优化

Oracle存储过程的优化措施1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“user_name.table_name”。2、开发人员在提交前,必须已经分析过查询计划,做过自身的查询优化检查。3.SQL的使用规范:3.1尽量避免大事务操作,提高系统并发能力。3.2尽量避免反复访问同一张或几张表,尤其是数据量较大的表,可以考虑先...

2018-11-16 14:20:12 5660

原创 oracle数据库的深度解析

1.ORACLE数据库与实例的区别1.1数据库(DATABASE):物理操作系统文件或磁盘的集合。1.2实例(INSTANCE):一组ORACLE后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。1.3实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实...

2018-11-16 14:17:24 1253

原创 Oracle几种update语句分析

1.单条语句更新语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值说明:如果更新的字段加了索引,更新时会重建索引,更新效率会慢。单表更新或较简单的语句采用使用此方案更优。2.批量数据更新语法:update 表a set a.字段1 = (select b.字段1 from 表b where a.字段2=b.字段2) where exists(select 1...

2018-11-16 14:08:01 6485

原创 java 8新特性之收集器,Optional类

一.收集器接口Collectors类的静态工厂方法能够创建的所有收集器总结:所有这些收集器都是对Collector接口的实现,以下时Collector接口声明的五个方法:二.Optional类是一个容器类,代表一个值存在或不存在,这样就避免了和null检查相关的bug。当变量存在时,Optional类只是对类简单封装,变量不存在时,缺失的值会被建模成一个“空”的Optional...

2018-11-15 08:53:45 300

原创 作为程序员,我们为什么要关心java8?

作为程序员,我们为什么要关心java8?1.在java8里面可以编写更为简洁的代码(Lambda表达式),这些代码读起来更接近对于问题的描述;2.Java8对硬件也有影响,java8之前,必须利用线程才能使用多核处理器,但是线程用起来很难,容易出现错误。在java1里面有线程和锁,内存模型,java5添加了线程池和并发集合,java7添加了分支、合并(fork/join)框架,而java8有了...

2018-11-14 11:18:49 307

原创 Zookeeper深入分析

前言zookeeper 是一个开源的分布式协调服务,由雅虎公司创建,是google chubby的开源实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper的设计目 标是将哪些复杂且容易出错的分布式一致性服务封装起来, 构成一个高效可靠的原语集(由若干条指令组成的,完成 一定功能的一个过程...

2018-11-14 11:11:34 635

原创 postman——一款强大的网页调试工具

Postman——一款强大的网页调试工具一.什么是postman?Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT…),附带任何数量的参数+ headers。目前已经支持 Mac , Windows , L...

2018-11-05 09:13:41 6220 1

原创 http,https协议

Http 协议的组成http请求分为两部分, 一个是客户端的请求信息,一个是服务端的响应信息。RequestPOST https://mp.csdn.net/mdeditor# HTTP/1.1方法 url/uri 协议的版本号 1.1ResponseHTTP/1.1 200 OK协议版本号 响应状态码 状态码对应的原因URL(Uniform Resource Locator...

2018-10-30 09:10:39 529

空空如也

空空如也

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

TA关注的人

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