自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

miwanmeng的博客

技术交流中心

  • 博客(50)
  • 资源 (6)
  • 收藏
  • 关注

原创 ubuntu安装mysql

ubuntu安装mysql

2022-04-07 12:36:43 1418

原创 kafka详细内容(一)

kafka

2022-03-16 23:51:11 2380

原创 javaIO模型概念深入挖掘

javaIO模型BIO模型(Bkicj-lo 同步阻塞IO) 一个线程处理一个请求,其他线程阻塞在哪 io流操作中accept()和read()方法会阻塞在哪 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求的服务器端就需要启动一个线程进行处理, 如果这个连接不做任何事情造成不必要的线程开销。 需要开启多个线程,线程的切换和等待都带来非常大的开销 适用场景:解决客户端数量比较小,并且固定的架构,这种方式对服务器资源要求比较高...

2021-03-29 10:40:28 208 2

原创 redis深入挖掘笔记

为什么要用NOsql大数据一般的数据库无法进行分析处理了。数据量太大,一个机器放不下数据的索引(B+Tree),一个机器内存也放不下访问量(读写混合),一个服务器承受不了发展过程:优化数据结构和索引-》文件缓存(IO)-》Memcached(缓存)Nosql的4大分类KV键值对:redis文档型数据库: MongoDb(基于分布式文件存储的数据库,处理大量的文档)、ConthDB MongoDb是一个介于关系型数据库和...

2021-03-27 14:07:19 154 1

原创 jvm中java类加载机制,双亲委派

java指令到底干了些什么?我们些的java代码是如何被加载到jvm内存中执行的?实现自定义的类加载器。实现自己的热加载。实现同类多个版本共存。类加载具有五个阶段:加载、验证、准备、解析、初始化加载:将java中的class字节文件加载进入堆内存中。验证:验证该类是否正确,class文件不能对虚拟机造成危害,验证文件格式,元数据,字节码,符号引用验证。准备:java类中又许多其他变量,变量分为两种,一种是类变量,一种是实例变量,类变量就是具有static定义的变量。这时候需要根据定义类型

2021-03-26 14:47:37 198

原创 微服务架构SpringCloud alibaba笔记

前置技术设计点:java8、maven、github、Nginx、RabbitMq、Spring boot 等等。。微服务架构是一种架构模式,它提倡将单一的应用程序划分成一组小的服务,服务之间互相协调,配合。微服务需要完成下面技术:服务注册发现 服务调用 服务熔断 负载均衡 服务降级服务消息队列 配置中心管理 服务网关 服务监控 全链路追踪 自动化构建部署 服务定时任务调度操作Spring Boot2.X版和Spring C...

2021-03-26 09:12:25 174 2

原创 并发编程笔记

单核CPU下,多线程不能实际提高程序运行效率,值是为了能够在不同的任务之间切换。多核CPU可以并行跑多个线程,可以提高程序运行效率。java中创建线程的方式Thread类的方式Thread t=new Thread(){ public void run(){ //要执行的任务 }};t.start();Runnable 的方式Runnable r= () -> System.out.println("进入线程Runnable");Thread是吧线程和任务合并在一起...

2021-03-23 14:02:51 73

原创 Spring 笔记

Spring 创建Bean创建的步骤Spring中bean的生命周期:class:java中的class类。实例化:通过class的构造方法,去反射无参构造方法实例化,如果多个构造方法,推断构造方法。可以在构造方法上加上@Autowired注解来告诉Spring用这个。如果只有一个有参数构造方法。那么他会通过参数的类型,去单例池中找。如果找到多个再根据名字去查找其中的一个。自动入参。如果没找到对应的参数入参会报错。如果存在多个有参的构造方法,也会报错没办吧实例化对象。实例化过

2021-03-22 09:45:10 88

原创 分布式事务

分布式事务背景随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用。分布式系统会吧一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。这种分布式系统环境下由不同的服务之间通过网络协作完成事务称之为分布式事务。简单理解就是,一个任务需要调用A接口、B接口、C接口。ABC接口都在不同服务器上。如果A成功插入数据了,B成功修改数据了,C操作异常了,需要回滚A和B。分布式事务基础理论CAP理论cap是三个词语的缩写,分别是:一致性、可用性

2021-03-18 08:29:09 92 1

原创 Mysql事务

事务简介在Mysql中只有使用了InnoDb引擎才会用到事务。事务处理可以用来维护数据的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。事务用来管理insert,update,delete语句。事务四大特性(ACID)原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会解释在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态。就像这个事务从来没有被执行过一样。一致性:在事务开始之前和事务结束后,数据库的完整性没有被破坏。这个表示写入的内容必须

2021-03-16 17:29:27 70

原创 Mysq底层数据结构和优化整理

背景:目前作为一个开发人员,无论是什么语言出身,和数据库打交道是我们必备的功课。所以我们需要对其深入的了解下面是我对数据库的一些整理笔记。索引数据结构二叉树 : 弊端:出现单边极端情况下,索引形同虚设红黑树 :又叫平衡二叉树,是进化版的二叉树。如果存储大数据的情况下,树的高度无法控制。Hash表 :对数据进行一次hash运算,得到哈希值。查询的时候只需要去找到值对应的哈希值就可以一次查询出来。效率极高。但是无法进行范围查询。B-Tree :...

2021-03-16 10:53:06 204 1

原创 synchronized锁的作用,原理(笔记)

反编译命令: javap -p -v ***.classsynchronized可以保证原子性保证可见性保证有序性可重入特性synchronized不可中断特性当线程拿到锁之后 还没有释放该锁过程中,是不可以被主线程打断的,因为钥匙还没有还回去当现在还在等待钥匙的时候,也是无法被主线程打断的。同步代码块:指令monitorenter当指令执行到这里的时候,程序会尝试去获取monitor,有可能获取到,有可能获取不到阻塞在这里。monitor是一把锁,C++对象monito..

2021-03-09 10:34:51 541

原创 设计模式笔记(工厂模式)

简单工厂模式简单工厂模式是属于创建型模式,是工厂模式的一种,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。定义一个创建对象的类,由这个类来封装实例化对象的行为;方法工厂模式和简单工程模式结构一样,不同点在与工程类为多个方法,每个方法代表创建不同的类。应用代码如果要创建对象,直接使用该工程类,调用对应的方法创建对应的对象出来即可。抽象工厂模式是一个超级工厂模式,简单的理解为创建工厂的工厂模式。抽象工厂模式包含了方法工厂模式的思想,所以下面代码就采用抽象工.

2021-02-04 18:16:10 100

原创 java设计模式(目的和原则)

设计模式的目的:让程序耦合性,内聚性,可维护性,可扩展性,重用性以及灵活性更好。1、代码重用性(即:相同功能的代码,不用多次编写)2、可读性(即:编程规范性,便于其他程序员阅读和理解)3、可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护性)4、可靠性(即:当我们增加新的功能后,对原来的功能没有影响)5、使程序呈现高内聚,低耦合的特性设计模式七大原则:1、单一职责原则 降低类的复杂度,一个类只负责一项职责 提高类的可读性,可维护性 降低变更引起的...

2021-02-01 15:06:08 474

原创 JVM笔记(JVM内存调优常用命令)

-Xmx指定java程序的最大堆内存, 使用java -Xmx5000M -version判断当前系统能分配的最大堆内存-Xms指定最小堆内存, 通常设置成跟最大堆内存一样,减少GC-Xmn设置年轻代大小。整个堆大小=年轻代大小 + 年老代大小。所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。-Xss指定线程的最大栈空间, 此参数决定了java函数调用的深度, 值越大调用深度越深, 若值太小则容易出栈溢出错误(StackOverf

2021-01-15 16:35:19 192

原创 JVM笔记(垃圾回收器)

垃圾回收器算法:常见的垃圾回收器stop-the-world (暂停整个程序,简称STW)1、Serial (单线程工作的年轻代) 作用于年轻代 串行回收在程序运行过程中,内存满了以后,触发GC, 先STW以后然后单线程一个个标记清除,程序继续运行2、ps (多线程工作的年轻代) 作用于年轻代 并行回收 不可以配合CMS在程序运行过程中,内存满了以后,触发GC, 先STW以后然后多线程一个个标记清除,程序继续运行3、ParNew (多线程工作的新...

2021-01-13 17:45:43 125

原创 docker基本常用命令笔记

docker地址docker官网:https://www.docker.com/docker仓库地址:https://hub.docker.com/镜像(image)容器(container)仓库(repository)安装之前先卸载,命令:yum remove docker \ docker-client \ docker-client-latest \ docker-com...

2021-01-13 09:35:51 89

原创 JVM笔记(类加载图和jvm垃圾处理机制一)

jvm虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现。类的加载过程编译加载图如下:jvm和java无关。 jvm只执行class文件。jvm是一种规范。什么是垃圾c语言申请内存:malloc freec++:new deletejava: new申请 自动回收自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出现下面错误:1、忘记回收2、多次回收没有任何引用指向的一个对象或者多个...

2021-01-12 17:57:29 93

原创 swagger注解的使用

1、背景前面有介绍过swagger的项目集成步骤,但是没有确切的注解使用内容。https://blog.csdn.net/miwanmeng/article/details/89516176下面我就对swagger使用注解进行一些比较细化的记录,如果漏了啥,可以在提醒我。下面直接进入主题。2、内容@Api说明:用于controller层类注解,参数有value和tags。都是说明的意思。(注解写在类上)@ApiOperation(value = "新增") 说明:用于contro

2020-11-18 17:04:00 1120 2

原创 hashMap的使用和分析

1、背景面试当中我们肯定会被问到集合,那集合当中hashMap被问到的概率是非常高的。这也是我们开发当中经常用到的集合类型,下面我就简单的对这个集合做了总结。主要是对这个集合的使用进行操作。然后对他具体是实现进行了简单的总结2、hashMap的使用就直接上代码吧,如下: /** * 1、输出是无序的 * 2、可以为key值NULL,value也可以为NUll * 3、可以存对象但是遍历的时候需要判断类型,否则会异常 */ public

2020-06-04 19:34:01 220

原创 HashSet的特性测试和使用

1、背景下面我开始整理一系列集合篇,因为以前都是在整理一些框架啊,中间件什么的,其实对于基础我的功底还不够扎实,所以需要从新认真复习和整理一下,后面会将set,map,list这些集合都一律整理出来,仅限于我自己知道的整理。直接代码HashSetpackage com.wanmeng.ststpps.test;import java.util.HashSet;import java.util.Iterator;import java.util.Set;/** * 集合调试类 .

2020-06-02 22:51:08 230

原创 Spring MVC 使用和分析流程

一、工作流程1、用户发送的所有请求都到DispatcherServlet2、DispatcherServlet 收到请求后调用HandlerMapping去找到具体要请求的那个地方,就是解析用户发送的URL,你是要到啥地方去的,然后再告诉回DispatcherServlet3、DispatcherServlet 知道了具体是什么地方的时候,去调用对于的处理器HandlerAdapter4、HandlerAdapter就直接找我们自己写的controller,执行完后返回一个ModelAndVie..

2020-05-22 08:10:02 139

原创 js导出table表格到excel表格中

1、背景首先呢,这次是我最近在写个需求,前面我有提到过导出excel用java代码导出,但是这样写代码比较繁琐,而且如果带有很复杂的格式要求,看着就脑仁疼。所以我就想到了在前端直接导出来。下面开始2、步骤首先我呢做了很多百度细节,有非常多的,我大概总结了一些在前端导出我遇到的问题。首先你会遇到兼容性的问题。然后就是安全性问题,还有文档打开的时候会有明显提升文件缺失或者损坏。还有就是如果...

2019-12-08 00:33:39 661

原创 git使用命令对代码进行上传更新等一些常用操作

一、背景 博主由于换工作好久没更新博客了。前面我整理了一份IDEA使用git的文章比较活跃。所以博主打算更新一篇给大家装逼的时候使用的git常用命令。这里我采用的是码云对代码进行提交。当然如果大家会使用命令了,其实在任何场景下,任何开发工具使用git都是拿手好戏了。二、工作前准备这里是在本地已经建立好了一个hello的项目。然后我们开始去码云建立一个仓库。去线上建立仓库...

2019-07-31 01:47:21 5728 1

原创 swagger项目集成步骤

1、背景 目前大部分微服务都采用前后端分离的形式进行开发。这样做的好处在于工作细分,但是对开发后端的开发人员来说,和前端对接的时候,接口文档的撰写可谓是件非常头疼的事情了。Sping当然也考虑到这件事,所以swagger就出来了。下面可以看整合swagger是具体步骤。2、步骤第一点、jar包导入。这当然是必不可少的。 <dependency> ...

2019-04-25 15:11:00 1677

原创 jenkins工作空间目录更换

1、背景前面有讲到过安装jenkins自动化部署。https://blog.csdn.net/miwanmeng/article/details/86536918。但是这里面有个问题。就是直接启动jenkins会造成工作空间是在root目录下自动生成一个隐藏文件夹 ./jenkins 这个文件夹有可能吧磁盘撑爆或者不好操作之类。所以我们安装之前一般是需要指定一个其他位置的。2、步骤首先...

2019-04-24 10:22:13 4131

原创 JPA字段验证注解

注解 说明 @AssertFalse 验证注解的元素值是false @AssertTrue 验证注解的元素值是true @DecimalMax(value=x) 验证注解的元素值小于等于@ DecimalMax指定的value值 @DecimalMin(value=x) 验证注解的元素值小于等于@ DecimalMin指定的value值 @Digi...

2019-04-17 10:01:24 3262

原创 linux上快速安装telnet

1、背景前面因为过年,停更一个月博客,在我们很多服务器中,为了保证安全性,都会吧ping命令给禁止。这样我们拿到服务器的时候常常需要测试服务器之间的是否通信,不能干了半天才发现服务器的问题是吧。所以telnet命令的重要性是十分有必要了。有些服务器会出现没有外网,yum无法使用,我们只能自己使用rpm安装了。yum安装不做解释百度一下非常多。2、步骤首先我们要使用rpm安装当然是需要安...

2019-03-19 10:23:11 737

原创 jenkins的安装和使用

1、背景jenkins是一个自动化策略部署工具。在一些大型的项目中,经常因为部署项目而耗时耗力。每次一个微服务部署就需要对一个服务器重新操作,并且操作繁琐。如果要从新部署正一套集群服务,那工作量可想而知。大型的集群服务在本地根本无法部署成功,只有在测试环境搭建好一套完整的系统。如果某一个模块对代码修改之后上传,那要对服务进行重新部署,我们不可能手动的一个个去操作服务器,那么jenkins这时候...

2019-01-21 10:56:39 322

原创 IDEA远程调试Spring boot 项目步骤

1、背景目前大部分项目都是基于微服务集群的部署,所以在我们本地电脑中越来越难搭建起以一整套完整的本地服务,所以我们借助的是在测试环境发布之后,然后调试代码开发,所以学会远程调试代码就显得十分重要了。2、调试步骤。首先我们将项目打包起来,上传到服务器,并且用下面命令启动   我的 jar包名字叫做 test.jarjava -jar -Xdebug -Xrunjdwp:transp...

2018-12-27 15:22:04 4664 4

原创 Spring boot 过滤器和拦截器

1、背景咋一看过滤器和拦截器好像作用是一样的,但是如果我们仔细对这两个东西进行分析就可以得出结论。首先过滤器是对类级别进行阻挡。而拦截器是对方法级别进行阻挡。他们两个的应用角度也有所不同。过滤器的作用可以是使请求进入后台之前,我们做一些相应的处理,比如编码集转换,登录校验等等。而拦截器就比较灵活了,它可以拦下每个方法,这样他不仅仅是可以做登录校验,还可以做方法的日志打印,或者每一层之间切一个面...

2018-12-19 10:16:00 321

原创 session通过redis如何共享

1、背景最近博主在做微服务的子模块,遇到下面情景问题,服务A和  服务B  都是后台API接口服务,通过负载均衡进行发布在两台linux服务器上面,前端页面通过nginx调用这两个服务,就产生了下面问题。页面第一次请求访问服务A,然后在和A服务做了登录请求并且和A创建了会话session。然后在不可控的情况下,下一个接口调到了服务B,这时候页面和服务B没有会话session,导致被判定为未登录...

2018-12-10 15:57:59 404 1

原创 Spring boot+mybatis+jsp完整整合步骤

1、背景本人主要专攻方向为后台java服务的,有时候会有一些很小型的项目内容,但是这时候我需要自己开发前端页面,技术载没办法扩宽,虽然Spring boot不再推荐支持jsp但还是有办法对他进行重新整合进去的。所以我闲着没事的时候我就对我的全面开发过程准备中进行了整合一个自己专门使用的框架。2、创建Spring boot项目这里我们创建Spring boot项目前面有说到怎么创建,ht...

2018-11-13 17:52:53 1273

原创 pgsql数据库的坑点记录

一、背景pgsql数据库呢我也是第一次用,由于公司项目需要使用这个数据库对项目进行开发,所以我这里记录一下我第一次使用这个库的所有坑点,有几个坑点让我项目几乎重构一遍。所以也是写该文章提醒小白使用前的主要事项,我这里的坑点肯定是有办法解决的,最近还没有仔细在网上查找方案。二、情况问题1、id自增没有mysql那么简单就可以进行设置,这里我要说的是这个库对id自增这块做的有点类似于ora...

2018-10-23 11:10:21 3673 5

原创 maven打包的时候,如何修改pom.xml配置文件

一、背景 现在我们大部分的项目都是基于maven来进行构建的,比如现在主流的Spring boot项目,全程都是基于maven进行搭建,那么我们在对maven项目开发完成之后,准备上线需要对项目进行打包的时候,有时候经常遇到主函数找不到?或者是开发环境的和测试环境的配置文件还在包里面没有去除。那么我们这里主要介绍Spring boot项目如何打包合理化的问题。二、关于主函数找不到打包完...

2018-09-29 17:50:56 7746

原创 如何在linux上安装使用nginx

一、nginx背景 nginx是一款HTTP的服务器,是基于c语言开发的高性能的服务器。能够实现反向代理和负载均衡的功能,反向代理:简单的说就是将一个域名转换成另外一个域名,或者是将某个位置的静态资源转换为可以提供域名访问的功能。负载均衡:就是同样的服务,在不同的地方启动,nginx自动分配访问什么服务器,以减少服务器压力。二、nginx在linux上的环境准备安装之前我们需要检查一...

2018-08-24 10:39:00 434

原创 如何简单的在linux上安装jdk并配置环境变量

        这篇文章是为了给我一会自己安装的时候方便使用的,所以内容很简单,平时在wendows系统上安装很容易,但是换到linux系统上面就蒙圈了。一、下载jdk文件我这提供的是官方的地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。如果你已经下载好了之后就可以...

2018-08-14 17:25:51 33929 10

原创 java用POI和JXLS对Excel的导入导出

本文介绍的poi和jxls我同样我们是需要jar包的,jar包我这里直接提供一个maven的配置如下<dependency> <groupId>org.jxls</groupId> <artifactId>jxls-poi</artifactId> <version>1.0.9</version&...

2018-08-10 10:21:44 6213 2

原创 IDEA集成git和使用步骤

一、IDEA集成git方法      首先idea集成git我们需要先下载一个小软件,git bash  地址:https://git-scm.com/downloads  。下载好了之后直接下一步下一步傻瓜试安装。安装好后回在你指定的文件夹下有个git文件夹,文件结构如下:当然如果你对git命令比较熟悉,用这个软件就可以实现所有的git操作了。下面我们来集成进IDEA开发工具。打开I...

2018-07-20 11:26:29 106575 12

转载 牛逼程序员眼中的单例模式

作者:孤独烟,来自:http://rjzheng.cnblogs.com/引言其实写这篇文章之前,我犹豫了一下,毕竟单例大家都知道,写这么一篇文章会不会让人觉得老掉牙。后来想想,就当一种记录吧。先来一副漫画吧,如下图所示ok,我们回顾下小灰的遭遇,上述漫画所提出的那些问题主要有以下三点:为什么静态内部类的单例模式是最推荐的?如何在反射的情况下保证单例?如何在反序列化中保证单例?针对上述三个问题有了...

2018-07-06 17:10:22 199

rpm安装telnet包

使用rpm命令安装telnet的安装包。可以快速的在没有yum环境的情况下安装telnet.

2019-03-19

Spring boot+mybatis+jsp整合

本次整合内容为完整的整合资源包。有问题可以联系本人,本人愿意长期和大家进行技术交流

2018-11-13

Excel的导入导出demo

这个是一个poi技术和jxls技术对excel文件的导入导出的小demo。本来我想设置为分数0的他居然不给我这个选项,很尴尬!

2018-08-10

mail.jar和smtp.jar的jar包

java程序发送邮件的必须jar包,导入该jar包后,可以使用发送邮件的方法

2018-05-23

mybatis反向生成工具

mybatis反向生成工具,可以将数据库表反向生成对应的实体类和工具类,xml配置

2018-05-22

html综合练习.

提供给初学者使用学习的前端web代码,可以快速熟悉的掌握

2017-12-21

空空如也

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

TA关注的人

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