自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.F的博客

I Just Wanna Run.

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

原创 手动导入jar包到Maven本地仓库

手动导入jar包过程如下:1、在中央仓库下载所需要的jar包,同时查看jar包坐标2、进入jar包所在文件夹,打开命令行窗口3、在命令行窗口,根据jar包坐标输入如下指令# -Dfile: jar包名称; -DgroupId: <groupId>标签中内容; -DartifactId: <artifactId>标签中内容; -Dversion: <version>标签中内容; -Dpackaging: 包类型mvn install:install-file -D

2020-09-06 13:59:06 980

原创 基于Git管理GitHub的详细过程

GitLab简介:GitLab工作流程:1、将GitLab远程仓库克隆到本地 git clone 远程仓库地址2、进入到当前工作目录cd ./文件名3、创建并切换到本地分支,同时本地分支跟踪远程分支 git checkout -b 本地分支名 origin/远程分支名称4、拉取指定的远程分支到本地分支git pull origin 远程仓库分支名称5、在本地分支上开发完成后,查看有变化的文件 git status6、将有变化的文件放入暂存区,也就是将修改的内容添加到下一次提

2020-09-05 15:58:43 255

原创 本地下载运行若依开源项目

项目简介  RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。系统需求JDK >= 1.8MySQL >= 5.5Maven >= 3.0测试运行环境开发工具:IntelliJ IDEAJava版本:1.8数据库版本:8.0.12Maven版本:3.6.0Git版本:2.20.11、

2020-06-06 11:52:01 1710 2

原创 排序算法

一、冒泡排序1、原理:将较大元素向后调 (1)从前往后依次比较相邻的元素,若前者大于后者,则交换两者位置。 (2)最后一对元素比较完成,则一趟排序结束,最后元素为本趟最大的数。 (3)每趟除去最后一个元素,从(1)进行下一趟排序,直到剩下一个元素为止。2、性质: (1)稳定性:两个元素相等时,不交换两者位置,则冒泡排序使一种稳定排序算法。 (2)时间复杂度:     最好时间复杂度...

2019-11-13 12:13:58 259 1

原创 单例模式

一、饿汉式实现单例模式1、线程安全的,类变量在类初始化过程中会被收集进class initialize <client>()方法中,JVM保证该方法能够百分之百保持同步。2、没有实现懒加载,不管对象有没有使用,始终占用内存资源。class Singleton{ private static Singleton instance = new Singleton(); ...

2019-10-25 13:32:07 1376

原创 二叉树遍历

一、前序遍历:根 -> 左 -> 右1、以递归的方式前序遍历二叉树public static void preorderByRecursion(TreeNode root, List<Integer> list) { if (root == null) { return; } list.add(root.value); preorderByRecursi...

2019-10-25 12:59:54 271

原创 Java网络编程

计算机网络1、TCP/IP协议的四层模型  当通过HTTP发起一个请求时,应用层、传出层、网络层和链路层的相关协议对该请求进行包装并携带对应的首部,最终在链路层生成以太网数据包。以太网数据包通过物理介质传输给对方主机,对方主机接收到数据包以后,然后从链路层开始一层一层采用对应的协议进行拆包,最后把应用层数据交给应用程序来处理。1.1、 应用层  应用层的主要工作就是定义数据格式并按照对应...

2019-09-24 11:56:49 192

原创 JVM垃圾回收与内存分配

内存回收区域:堆和方法区  在Java内存运行时解析中介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈随线程而生、随线程而灭,这三个内存区域大体上在编译期是可知的,内存分配和回收都具备确定性,因此不需要过多考虑内存回收的问题。而Java堆和方法区则不一样,程序只有在运行期间才能知道会创建哪些对象,这两个部分内存的分配和回收都是动态的,垃圾收集器关注的是这两部分内存区域...

2019-08-01 15:51:13 191

原创 JVM运行时内存解析

JVM内存区域  Java虚拟机在执行Java程序的过程中会把所管理的内存分为若干个不同的数据区域。这些数据区域都有各自的用途、以及创建和销毁时间。线程共享区域随着虚拟机进程的启动而存在,线程私有区域则依赖于线程的启动和结束而建立和销毁。1、程序计数器(线程私有)  程序计数器用于保存当前线程所执行的字节码的行号。字节码解释器工作时就是通过改变这个计数器的值来选取下一条所要执行的字节码命令...

2019-08-01 11:52:41 252

原创 Java线程池

线程池的作用:  1、使用线程池可以有效地管理线程,控制系统中并发线程的数量,当系统中包含大量并发线程时,会导致系统性能下降,甚至导致JVM崩溃。  2、使用线程池可以减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者线程过度切换的问题。线程池的创建:  从Java 5开始,Java内建支持线程池,...

2019-07-28 13:30:03 159

原创 Redis数据类型

Redis数据类型简介:  Redis支持字符串、哈希表、列表、集合、有序集合、位图、地理位置和HyperLogLog这八种数据类型。Redis的所有数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key值获取相应的value数据。不同类型的数据结构的差异就在于value的结构不一样。1、字符串(string)  Redis的字符串时动态字符串,是可以修改的字符串,内部结构类似于J...

2019-07-27 14:42:55 682

原创 SpringCloud2组件之Bus详解

工程简介:  在SpringCloud2组件之Config详解中,我们通过配置中心Config远程获取了GitHub仓库的配置文件。如果我们改变了仓库中的配置文件,本地工程所获取的配置文件内容没有更新,还是改变前的内容。这时,我们就要从新启动工程,来获取最新的仓库配置文件。但是,重新启动工程耗费的时间较长,这时我们就可以不用重新启动工程,通过总线Bus来获取仓库最新文件。开发环境:开发工具...

2019-07-13 17:29:38 724

原创 SpringCloud2组件之Config详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASESpring Cloud版本:Greenwich.SR11、创建server-eureka微服务:(1)server-eureka组件选择(2)server-eureka目录(3)application.ymlserver: #服务端口 port...

2019-07-13 16:18:50 292

原创 SpringCloud2组件之Zuul详解

Zuul:  Spring Cloud使用Zuul来作为路由网关,网关的功能对于分布式网站十分重要。Zuul主要有三个功能:路由:将请求路由到真实额服务器上,进而保护真实服务器的IP地址,避免直接地攻击真实服务器。负载均衡:将请求按照一点的算法分摊到多个微服务节点上,减缓单点的压力。过滤器:判断请求是否为有效请求,一旦判定失败,就可以将请求阻止,避免发送到真实的服务器,这样就能降低真实服...

2019-07-13 15:07:34 557

原创 SpringCloud2组件之Hystrix Dashboard详解

Hystrix Dashboard:  Spring Cloud提供的一个仪表盘(Dashboard),用于Hystrix进行监控断路的情况,从而让开发者监控可能出现的问题。1、创建hystrix-dashboard微服务工程  我们以通过Hystrix实现调用微服务的超时断路(详见SpringCloud2组件之Hystrix详解),在此基础上,使用Hystrix Dashboard进行断路...

2019-07-07 16:06:46 709

原创 SpringCloud2组件之Hystrix详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASESpring Cloud版本:Greenwich.SR1工程简介:  在SpringCloud2组件之Ribbon详解和SpringCloud2组件之Feign详解中,我们通过Ribbon和Feign实现了微服务之间的调用。然而,在互联网中,可能存在某一个服务在某...

2019-07-07 14:51:23 1412 2

原创 SpringCloud2组件之Feign详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASESpring Cloud版本:Greenwich.SR1工程简介:  在SpringCloud2组件之Ribbon详解中,我们使用Ribbon客户端负载均衡实现微服务之间的调用,Ribbon本质上就是一个RestTemplate对象。使用RestTemplate时...

2019-07-06 15:07:16 8305

原创 SpringCloud2组件之Ribbon详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASESpring Cloud版本:Greenwich.SR1工程简介:  将产品(client-product)和用户(client-user)两个微服务注册到Spring Cloud的Netflix Eureka服务治理中心(server-eureka)。通过Spr...

2019-07-06 13:29:43 1151

原创 SpringBoot2整合Kafka详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.4.RELEASEKafka版本:2.11-2.0.11、开启Kafka  Kafka(此版本Kafka自带Zookeeper)安装在本地虚拟机CentOS7上,开启Kafka操作如下:#查看kafka安装目录[root@rabbitmq ~]# whereis kafka#...

2019-06-30 12:39:46 2482

原创 SpringBoot2整合RabbitMQ详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASERabbitMQ版本:3.6.91、开启RabbitMQ  RabbitMQ安装在本地虚拟机CentOS7上,开启RabbitMQ操作如下:#进入到系统管理目录[root@rabbitmq ~]# cd /etc#查看当前防火墙状态[root@rabbit...

2019-06-29 21:43:28 475

原创 SpringCloud2搭建Eureka集群详解

开发环境:开发工具:IntelliJ IDEAJava版本:1.8Spring Boot版本:2.1.6.RELEASESpring Cloud版本:Greenwich.SR11、创建Spring Boot工程(1)选择组件(2)pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="htt...

2019-06-29 14:36:22 512

原创 利用悲观锁与乐观锁实现高并发下商品抢购

问题: 高并发下商品抢购引起的超发现象1、利用SpringBoot创建商品抢购工程 (1)配置pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchem...

2019-06-22 17:48:58 1771 1

原创 SpringBoot异步任务详解

SpringBoot版本<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.7.RELEASE</version>定义异步任务package com.mi...

2019-06-22 11:46:51 2710

原创 自定义注解实现Spring AOP

定义注解    自定义注解在Spring AOP中用来设置切点(Pointcut)。定义一个@AspectAnnotation 注解,具体实现如下:package com.ming.ssm.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import ja...

2019-06-15 15:44:36 343

原创 SSH框架整合详解

开发环境开发工具:EclipseJDK版本:9.0.4MySQL版本:8.0.12服务器:Apache-Tomcat-9.0.12SSH版本:Spring-5.0.5.RELEASE + Struts-2.5.18 + Hibernate-5.2.12.Final1、创建动态web工程 (1)工程目录结构  (2)导入所需jar包2、持久层实现customer_mana...

2019-01-20 18:02:25 1335 1

原创 SSM框架整合Redis详解

开发环境开发工具:EclipseJDK:JDK-9.0.4数据库:MySQL-8.0.12服务器:apache-tomcat-9.0.12Maven:apache-maven-3.6.0Redis:redis-5.0.3SSM:Spring-4.3.16.RELEASE + Mybatis-3.4.61、创建动态web工程 (1)工程目录结构 (2)导入所需jar包po...

2019-01-16 13:59:03 2552 4

原创 SpringBoot2整合SSM框架详解

开发环境开发工具:Eclipse + STS插件JDK版本:9.0.4MySQL版本:8.0.12Spring Boot版本:2.1.21、创建Spring Boot工程 (1)工程创建过程 (2)工程目录结构   注:工程创建完成后,缺少的文件夹需手动补全。 (3)添加额外依赖工程  所依赖的jar包和插件由创建过程的选择自动生成。由于本工程需要用到JSP视图,需要在...

2019-01-15 21:33:49 6651 16

原创 SSM框架整合详解

SSM框架简介SSM框架结构图项目实现功能   在用户端查询数据库中的客户列表信息。开发环境开发工具:ElipseJDK:JDK-9.0.4数据库:MySQL-8.0.12服务器:tomcat-9.0.12SSM版本:Spring4.2.4.RELEASE + Mybatis-3.2.71、创建动态web工程 (1)工程目录结构 (2)导入所需jar包2、持久层实...

2019-01-08 21:10:28 558

原创 基于SSH框架的Maven多模块项目聚合详解

Maven多模块项目聚合:  它适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。Maven多模块项目结构:  本项目分为四个模块:父工程模块maven_ssh、子工程模块maven_ssh_dao(采用Hibernate框架实现)、子工程模块maven_ssh_service(...

2019-01-06 15:25:31 751 4

空空如也

空空如也

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

TA关注的人

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