自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 maven-导出pom里的jar包

1、打开windows的dos命令界面2、进入项目的pom.xml文件所在目录3、输入:mvn dependency:copy-dependencies -DoutputDirectory=D:\lib -DincludeScope=compile-DoutputDirectory=D:\lib :输出目录

2021-04-28 17:34:05 241 3

原创 JVM-内存溢出问题

问题描述:在下载excel时,发生内存溢出经过:首先,根据报错 找到具体的代码,查看是否是代码中出现循环创建对象的代码 进行更改 发现并没有得到实质性的解决其次,网上查询到 需要在运行jar包时,将堆的初始大小和最大内存调大,于是就在运行jar包时,将 java -Xms125M -Xmx256M -jar 改成 java -Xms256M -Xmx512M -jar 发现问题得到了缓解,但是要加载很久才能下载报告再次,继续搜索,发现可以查看服务器的使用状态,在linux 输入:top -c 看到系

2021-04-28 14:00:03 127

原创 异常:自定义异常类(项目必备)

1.定义异常枚举类public enum MyEnum { USER_NOT_LOGIN(100, "用户尚未登录"), USER_OR_PW_ERROR(101, "用户名或密码错误"), USER_PW_NOT_EMPTY(103, "密码不能为空"), FAIL(500,"未知错误"), PRODUCT_IS_NOT_EXIST(601,"产品不存在"); private int status; private String msg;

2021-04-28 13:50:08 337

原创 Excel导出实例

<!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency&gt

2021-04-25 15:40:15 80

转载 linux搭建ftp服务器

检查安装vsftpd软件查看所有的安装的软件包 并在结果中查找包含vsftp 的文件rpm -qa | grep vsftpd如果没有装则使用yum命令安装yum -y install vsftpd 创建用户 使用useradd命令: useradd username,默认在/home文件夹下创建一个和username一样名称的文件作为该用户所拥有的文件useradd xiao passwd xiao #(回车)给用户xiao设置登录密码修改xiao用户的用户目.

2021-04-21 17:30:06 52

原创 Redis-安装+使用

一、redis安装1、进入redis官方网站下载redis的linux版本tar.gz包。2、将下载后的包上传到/usr/local/目录下。3、进入/usr/local目录下,命令: [root@localhost ~]# cd /usr/local/4、输入解压命令:[root@localhost ~]# tar -zxvf redis-3.2.4.tar.gz5、解压完毕,进入解压后的目录,[root@localhost ~]# cd /usr/local/redis-3.2.4/6、输

2021-04-04 11:38:11 56

原创 springBoot多模块打包

第一次打包直接打包所有的模块,父工程上maveninstall就好了(成功的条件下),然后我们本地的maven仓库就会多了几个我们子系统的模块包,这时候就可以想打包哪个子模块就哪个子模块了,当然公共模块代码不变情况下,所以打包之前还是clean然后全部打包吧。子模块要打包的pom构建代码<build> <plugins> <plugin> <groupId>org.springf.

2021-04-04 11:08:09 84

原创 面试题-18RebbitMq

rabbitMq四种常用消息中间件比较分析(RabbitMQ、ActiveMQ、Kafka、RocketMQ)你们公司生产环境用的是什么消息中间件? 从吞吐量来说:kafka和rocketMq支持高吞吐 从持久化消息比较:ActiveMq 和rabbitmq都支持 高并发来说:rabbitMq最好异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 -可以通过消息队列长度控制请求量;可以缓解短时间内的高

2021-03-01 17:59:36 161

原创 面试题-17AIO BIO NIO

BIO,NIO,AIO 总结Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念:同步与异步,阻塞与非阻塞。同步与异步同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。异步:异步就是发起一个调用后,立刻得到被调用者的回应表示已

2021-03-01 17:37:27 107

原创 枚举和String类

1.枚举(1)定义格式:使用enum 代替class(2)类中直接写常量的值(3)enum修饰的类中都是静态常量(4)不能直接new对象,必须直接赋值2.包装类(1)每一个基本数据类型对应的都有一个包装类(2)int 包装类是integer ,char 包装类是character,其他的都是首字母大写(3)构造方法:每一个包装类都提供本身对应的数据类型和字符串(字符串必须为可以解析为对应的类型)作为参数的构造方法。(char类型除外,只支持符作为参数的构造方法)(4)***Val

2021-03-01 17:15:56 995 1

原创 面试题-16数据库

事务的概念事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功MySQL中事务默认自动提交的,每当执行一条SQL,就会提交一个事务 (一条SQL 就是一个事务) Oracle 中事务默认 不自动提交,需要在执行SQL 语句后 通过commint 手动提交事务mysql的事务 四个特性(ACID)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 ​一致性(Consistency)事务前后数据的完整性必须保持

2021-03-01 17:15:07 410

原创 面试题-15反射

1.使用new关键字这是最常见也是最简单的创建对象的方式了。通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。2.使用Class类的newInstance方法我们也可以使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。3.使用Constructor类的newInstance方法和Class类的newInstance方法很像,java.lang.reflect.Constructor类里也有一个newInstanc

2021-02-25 15:52:01 68

原创 面试题-14泛型

概念:泛型是一个未知的数据类型E e:Element 元素 T t:Type 类型等使用泛型和不使用泛型的区别不使用泛型好处:集合不使用泛型,默认类型是Object类型,可以存储任意类型弊端:不安全,会引发类型转换异常使用泛型好处:避免的转换的麻烦,存储什么类型,取出什么类型;把运行期异常提醒到编译器弊端:泛型是什么类型只能存储什么类型泛型的定义和使用泛型类定义格式:修饰符 class 类名<泛型>{}class ArrayList<E> {

2021-02-25 15:39:31 63

原创 面试题-13锁

首先来说下synchronize和Lock的区别两者都是锁,用来控制并发冲突,区别在于Lock是个接口,提供的功能更加丰富,除了这个外,他们还有如下区别:synchronize自动释放锁,而Lock必须手动释放,并且代码中出现异常会导致unlock代码不执行,所以Lock一般在Finally中释放,而synchronize释放锁是由JVM自动执行的。Lock有共享锁的概念,所以可以设置读写锁提高效率,synchronize不能。(两者都可重入)Lock可以让线程在获取锁的过程中响应中断,而sync

2021-02-25 15:33:01 112

原创 面试题-12多线程

什么是线程和进程?进程 一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。线程 进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。进程与线程的区别线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—WeightProcess)或进程元;而把传统的进程称为重型进程(Heavy—WeightProces

2021-02-25 15:28:03 382

原创 面试题-11Mybatis

MyBatis编程步骤是什么样的?1、 创建SqlSessionFactory2、 通过SqlSessionFactory创建SqlSession3、通过sqlsession执行数据库操作4、 调用session.commit()提交事务5、 调用session.close()关闭会话#{}和${}的区别#{}是占位符,预编译处理;${}是拼接符,字符串替换,没有预编译处理。缓存Mybatis的一级缓存:基于 PerpetualCache 的 HashMap 本地缓存,其存储作

2021-02-25 14:57:09 68

原创 面试题-10SpringBoot

SpringBootSpringBoot原理(自动装配)1.首先在启动类上,通过SpringApplication.run()方法 进行启动,他的原理就是,run()方法内部是通过refreshContext(context)进行刷新容器,然后去解释@SpringBootApplication注解,将=bean注入容器里面,然后就会去解析我们写的那个springApplication类springApplication他本身是个配置类因为在@SpringBootApplication注解内部有个注

2021-02-25 14:51:06 54

原创 面试题-9SpringMVC

SpringMvc流程用户发送请求至前端控制器DisPatcherServlet DisPatcherServlet收到请求之后调用handlerMapping 处理器映射器处理器映射器找到具体的处理器,生成处理器对象和处理器拦截器(有就生成)返回给dispatcherServletDispatcherServlet调用HandlerAdapter处理器适配器,适配器经过适配调用具体的处理器handler执行得到ModelAndView并返回给前端控制器,前端控制器将ModelAndView

2021-02-25 11:48:02 112

原创 面试题-8Spring

什么是 IoCIoC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java开发领域对象的创建以及管理的问题。例如:现有类 A 依赖于类 B传统的开发方式 :往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来 使用 IoC 思想的开发方式 :不通过 new关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面过去即可。从以上两种开发方

2021-02-25 11:33:31 368 1

原创 面试题-7Servlet

get和post有何区别?get参数传递通过url,post放在resquest body中 get请求参数有长度限制,post没有get不安全,因为参数暴露在url中。post安全,参数是隐藏的 get请求只能进行url编码。post支持多种编码get请求参数会被完整保留在浏览历史记录,而post不会被保留。 get产生一个tcp数据包;post产生两个tcp数据包。get和post本质就是tcp链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现

2021-02-25 10:48:08 48

原创 面试题-6session 和 cookie

1.cookiecookie采用的是客户端的会话状态,他是服务器再本地 机器上存储的一小段信息,并且随着请求发送给服务器。 通过 cookie cookie= new cookie 创建,通过cookie.setMaxAge 设置cookie的持久化时间2.SessionSession 是将数据存储在服务器中,会为每个客户端都创建一块内存空间存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内存空间。所以说Session的实现是基于Cookie,Session需要借

2021-02-25 10:25:07 112 1

转载 面试题5- CurrentHashMap

CurrentHashMap的原理由于HashMap是线程不同步的,虽然处理数据的效率高,但是在多线程的情况下存在着安全问题,因此设计了CurrentHashMap来解决多线程安全问题。HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出现同时在同一数组下用链表表示,造成闭环,导致在get时会出现死循环,所以

2021-02-24 12:37:59 1103

原创 面试题3-集合

1.ArrayList有序的,有下标,线程不安全,允许为Null1.初始为一个空的Object数组2.当我们第一次添加元素时,数组的长度赋值为10,3.当集合长度不够,扩充到原来的1.5倍4.查询快,添加和删除慢用法:创建:ArrayList< >list = new ArrayList<>();增加:list.add();删除:list.remove();修改:list.set();查看:list.get();遍历ArrayList的方法1.普通f

2021-02-24 12:06:52 42

原创 面试题4-HashMap

hashmapHashMap是应用更广泛的哈希表实现,而且大部分情况下,都能在常数时间性能的情况下进行put和get操作。要掌握HashMap,主要从如下几点来把握:jdk1.7中底层是由数组(也有叫做“位桶”的)+链表实现;jdk1.8中底层是由数组+链表/红黑树实现可以存储null键和null值,线程不安全 初始size为16,扩容:newsize = oldsize*2,size一定为2的n次幂扩容针对整个Map,每次扩容时,原来数组中的元素依次重新计算存放位置,并重新插入插入元素后才判断

2021-02-24 12:06:12 176

原创 面试题-2.设计模式

单例模式:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。通过提供一个静态的对象instance,利用private权限的构造方法和getInstance()方法来给予访问者一个单例。缺点是,没有考虑到线程安全,可能存在多个访问者同时访问,并同时构造了多个对象的问题。之所以叫做懒汉模式,主要是因为此种方法可以非常明显的lazyloading

2021-02-24 10:20:50 80

原创 面试题1-jvm

1.jvmjvm就是Java虚拟机 ,它就是编译后 .class文件和硬件系统之间的接口 它的主要特征就是平台无关性原理:编译后的程序不直接在硬件系统的cpu执行 ,而是在jvm上执行,它屏蔽了具体平台的相关信息,它只需要Java程序生成字节码文件就能直接在jvm上运行 不用修改任何东西。JVM = 类加载器 classloader + 执行引擎 execution engine + 运行时数据区域 runtime data area类加载器classloader 把硬盘上的class

2021-02-24 10:06:48 66

原创 异步任务

1.启动类加注解@EnableAsync//开启异步任务@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}2.需要异步处理的方法加注解@Servicepublic class AysSercive { @A

2021-02-22 17:04:48 39

原创 过滤器拦截器

过滤器需要在servlet容器中实现,拦截器可以适用于javaEE,javaSE等各种环境拦截器可以调用IOC容器中的各种依赖,而过滤器不能 过滤器只能在请求的前后使用,而拦截器可以详细到每个方法2、拦截器与过滤器的区别 :拦截器是基于java的反射机制的,而过滤器是基于函数回调。拦截器不依赖与servlet容器,过滤器依赖与servlet容器。拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。在.

2021-02-22 17:03:36 59

原创 19.开发环境的切换

application.yml 文件 默认的application-dev.yml 开发环境application-test.yml 测试环境他们的切换通过默认文件中的 来实现或者

2021-02-22 17:02:27 68

原创 18.JSR303邮箱格式校验

2021-02-22 17:01:29 455

原创 springboot-test类注解

@RunWith(SpringRunner.class)@SpringBootTest(classes = DemoApplication.class)class DemoApplicationTests {

2021-02-22 17:00:47 88

原创 16.修改springboot图片

banner.txt 在 resourse下创建

2021-02-22 16:59:55 258

转载 14.反射

类的加载过程Class<?> c1 = Class.forName("com.zyf.dao.User");Field[] fields = c1.getFields();//获取public 修饰的属性for (int i = 0; i < fields.length; i++) { System.out.println(fields[i]);}System.out.println("11111111111111");fields = c1.getDeclar..

2021-02-22 16:56:12 76

原创 13.SQL 中 MD5加密

SQL 中 MD5加密insert into user (name,age,email) values ('张三',MD5(12345),'2323')select * from user where name = '张三' and age = MD5(12345)

2021-02-22 16:51:33 533 1

转载 12 left join right join jion

inner join与left join与right join之间的区别inner join 与 left join 之间的区别关于inner join 与 left join之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了。需求是从数据库查数据,在前端以柱形图的形式展现出来,查到的数据按行业分组,显示每个行业的户数及户数占比,涉及到的字段有A表的用户数、总用户数和B表的行业名称。本来是不管查不查的到数据,在X轴都应该显示行业名

2021-02-22 16:50:58 54

原创 11.mybatis 缓存

1.一级缓存自动开启 只在一次是sqlsession中有效 比如用户使劲刷新一个页面 这就会走缓存失效:1.调用了增删改2.查询不同的条件3.手动清除缓存 sqlsession.clearcache()4.查询不同的mapper.xml

2021-02-22 16:47:49 28

原创 10动态sql

1.if test = “”2.where 不安全 用 3.choose标签 放在where 标签里 choose 里放 标签这里when 只会执行一个 如果when 没有成立的走otherwise select * from oms_order<where> <choose> <when test="memberUsername != null"> and member_username = #{memberU.

2021-02-22 16:46:47 41

原创 9.sql执行效率分析

问题:如果发现有的sql执行的慢,怎么查出来它们?只要超出了规定的时间 就会出异常Explain 关键字可以查看sql执行的效率创建索引create index 索引名 on 表名 (字段名)CREATE unique INDEX id_user_namess on user (NAME)B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址...

2021-02-22 16:41:15 75

原创 8.PagerHelper

<!--MyBatis分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> .

2021-02-22 16:34:44 82

原创 7.乐观锁

2021-02-22 16:31:55 47

dubbo-test.7z

dubbo-test 简单的dubbo搭建

2021-07-21

springBoot模板.zip

springBoot+定时任务+分页

2021-01-22

空空如也

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

TA关注的人

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