自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java获取文件的真实格式

在文件传输过程中,为了安全验证,对于手工改动文件后缀名产生的伪造文件进行判断过滤。比如,我们需要的是excel文件,如果不加验证内容,将一些可执行的文件通过更改后缀传输给你,就是一个很大的漏洞了。为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合格式。java获取文件的真实格式依靠的是文件的头部编码信息,具体代码如下:package com.example.utils;import com.alibaba.fastj

2021-12-10 17:45:50 3750

原创 Spring AOP——Spring 中面向切面编程

一、AOP——另一种编程思想1.1、 AOP是什么?AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。1.2、为什么需要 AOP想象下面的场景,开发中在多个模块间有某段重复的代码,我们通常是怎么处理的?显然,没有人会靠“复制粘

2021-02-25 17:36:52 1802

原创 idea的Terminal配置成git终端

打开 IntelliJ Idea 软件依次找到 File—>settings—>Tools—->Terminal设置 shell path 为 D:\Git\bin\bash.exe也就是你的git中bin目录下的bash.exe

2020-10-30 11:55:20 2154

原创 Linux常用命令

Linux命令显示文件最后50行记录tail -50 gogs.log 或 tail -n 50 gogs.log查看gogs.log中,从500行到末尾的所有信息tail -n +500 gogs.log查看并实时刷新日志tail -f gogs.log此时,默认从 gogs.log 最后10行开始显示(默认10行,相当于添加参数 -n 10),当 gogs.log 产生新日志时,会一直显示这些行,当按下 Ctrl + C时,才会停止显示,并退出该命令。查看并

2020-07-30 17:04:07 259

原创 CentOS7启动SSH服务报错:Job for ssh.service failed because the control process exited with error codesee...

Job for ssh.service failed because the control process exited with error codesee systemctl status ssh.service and journalctl -xe for details.按照提示输入: systemctl status sshd.service1、 查看SeLinux设置的ssh端...

2020-05-25 11:42:27 10617 2

原创 解决tomcat日志文件占用大量内存问题

其实日志的输出也是有等级的,一般日志的级别有:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)所以需要设置一下,找到conf/logging.properties文件,将其中的FINE改成WARNING或者OFF都可以。输入命令vi 路径/logging.properties按下【i, I, o, O, a, A, r, R】等任何一个字

2020-05-14 10:29:36 1467

原创 mongodb 设置用户账号密码

mongodb 设置用户账号密码1、进入mongodb安装目录,即bin目录cd /www/server/tomcat/bin2、输入命令行mongo,进入mongodb环境mongo3、切换到 admin 数据库use admin4、给admin设置用户密码user: 用户名pwd: 用户密码roles: 用来设置用户的权限,比如读,读写 等等db.createUse...

2020-04-01 11:49:42 3704

原创 无法远程连接Redis的解决方法

我在宝塔上安装了redis管理软件,但是连接的时候总是连接不上,找了很多原因,踩了很多坑,还是连接不上,最后发现是端口没开放的原因,因为我是外网连接,所以需要相应的端口开放,下面,我们就来展示一下方法。首先,修改redis的配置文件,目录为:/www/server/redis/redis.conf1. bind 127.0.0.1改为 bind 0.0.0.0127.0.0.1: 代表本地地...

2020-03-26 10:50:21 12041 4

原创 server responded "algorithm negotiation failed"

ssh报错:server responded "algorithm negotiation failed"原因是SSH升级后,为了安全,默认不再采用原来的一些加密算法,需要手动添加1、在/etc/ssh/sshd_config的结尾添加Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-...

2020-03-24 17:02:37 1840 1

原创 2003 - cant connect ro mysql server on xxx (10060 unknown error)

在用本地Navicat连接阿里云服务器中的数据库时,发现出现了如下图所示的错误首先,我们使用Linux命令行进入mysql数据,切换到mysql数据库mysql -u root -p任何远程主机都可以访问数据库mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRA...

2020-03-24 14:13:32 3667

原创 linux服务器上传图片---权限问题

图片成功上传到linux服务器的共享盘中,但却在网页中访问不到!通过Java Web程序里面的上传图片功能 ,上传图片到共享盘目录中,经查看服务器之后,确实已经上传成功。然后在浏览器中访问图片的完整路径,却访问不到刚刚上传的图片。在linux 中挂载盘目录下,查看刚刚上传的图片:确实已经上传成功。[root@iZ916o3241mutzZ ~]# cd /www/server/tomcat/...

2020-03-20 14:24:05 2454 2

原创 MogoDB的定义以及相关的使用方法

MogoDB的定义以及使用一、关系型数据库关系型数据库遵循ACID规则事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:1.A (Atomicity) 原子性(1)原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。(2)比如银行转账,从A账户转10...

2020-03-16 15:32:01 466

原创 Spring @Configuration注解

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。注意:@Configuration...

2020-03-16 14:55:39 140

原创 @Bean注解的使用和详解

@Bean:Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需...

2020-03-16 14:34:35 49021 3

原创 MongoDB的配置类

MongoDB的配置类:@Profile(“dev”):指向application-dev.properties的配置文件,dev指配置环境标识,一般指测试环境。@Configuration:@Configuration注解表明这个类是一个配置类。可以启动组件扫描,用来将带有@Bean的实体进行实例化bean等。@Configuration可理解为用spring的时候xml里面的标签,作用...

2020-03-14 17:16:01 858

原创 spring全局异常处理类 & @ExceptionHandler注解的使用

通过使用@RestControllerAdvice或@ControllerAdvice定义统一的异常处理类,而不是在每个Controller中逐个定义。@Restcontrolleradvice:返回json格式数据;@ControllerAdvice:返回视图类型数据;@ResponseBody:和controller方法上的用法一样,会将方法中的返回值转json后返回给客户端@Exc...

2020-03-14 15:53:06 1988

原创 Redis的使用详情

Redis 是一个高性能的key-value数据库,是使用C语言编写的,Redis全称为: Remote Dictionary Server (远程数据服务),Redis常用来存储一些需要频繁调取的数据,节省内存开销,也极大的提升了速度,将一些热点数据存储到Redis中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。使用redis缓存思路:首先简历一个本地缓存:...

2020-03-14 14:51:39 248

原创 Redis的scan实现模糊查询

根据某个字段模糊搜索 Redis 中的某个 keypublic String searchTokenFirst(String consumerId) { //1、根据登陆者标识符搜索令牌 //2、execute():搜索 Redis 中某个 key Cursor<byte[]> cursor = redisTemplate.execut...

2020-03-14 13:33:36 1490

原创 WebMvcConfigurerAdapter详解

一、WebMvcConfigurerAdapter常用的方法/** 解决跨域问题 **/public void addCorsMappings(CorsRegistry registry) ;/** 添加拦截器 **/void addInterceptors(InterceptorRegistry registry);/** 这里配置视图解析器 **/void configureV...

2020-03-10 17:52:44 937

原创 微服务通过feign.RequestInterceptor传递参数

Feign 支持请求拦截器,在发送请求前,可以对发送的模板进行操作,例如设置请求头等属性,自定请求拦截器需要实现 feign.RequestInterceptor 接口,该接口的方法 apply 有参数 template ,该参数类型为 RequestTemplate,我们可以根据实际情况对请求信息进行调整,示例如下:创建自定义请求拦截器,在发送请求前增加了一个请求头信息,进行身份校验。具体代...

2020-03-10 17:24:22 742

原创 Feign实现自定义错误处理

关键操作实现ErrorDecoder接口问题和背景最近项目中在大量使用Feign和OkHttp作为http客户端使用,开发效率得到显著的提升。但也面临一些问题,比如每个下游系统的异常返回方式不同,需要编写大量的错误处理代码来适应不同的服务,而且错误处理代码混在业务代码中,违反单一职责原则和最少知识原则。面临着维护难度上升的风险。需要一个方案来规避这些后期维护成本上升的风险。目的防止项目腐...

2020-03-10 14:44:57 905

原创 Spring Bean的生命周期

Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器将不再跟踪其生命周期。每次客户端请求 prototype...

2020-03-02 17:32:57 2033

转载 死锁面试题(什么是死锁,产生死锁的原因及必要条件)

死锁面试题(什么是死锁,产生死锁的原因及必要条件)原文链接:https://blog.csdn.net/hd12370/article/details/82814348

2020-03-02 17:25:00 305

原创 java EE与java SE的区别和解释

java EE与java SE的区别和解释          JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等。也叫J2EE。        &nbs...

2020-01-06 09:41:38 232

原创 spring的动态代理方式

简单设计动态代理,基本模拟spring的动态代理方式。before afterReturning around afterException after这些通知方法都可以这块模拟出来spring的AOP:           1.在容器中的对象如果实现了接口则采用JDK的动态代理。...

2019-12-13 10:40:31 188

原创 c#设置定时器,在一定时间之后自动执行事件

public static void SetTimeOut(double interval, Action action) { System.Timers.Timer timer = new System.Timers.Timer(interval);//实例化Timer类,设置间隔时间; timer.Elapsed += new S...

2019-10-31 15:04:13 4384

原创 exePath must be specified when not running inside a stand alone exe

自己封装了一个类库,本来是想方便自己重复使用的,代码如下: /// <summary> /// 写入配置文件的值 /// </summary> /// <param name="key">key键</param> /// <param name="value">valu...

2019-10-17 15:13:59 263

转载 java实现QQ互联登录

准备工作1.云服务器2.备案的域名3.本地调试需要修改hosts文件,将域名映射到127.0.0.1一、申请QQ互联,并成为开发者QQ互联:https://connect.qq.com/index.html登录后,点击头像,进入认证页面,填写信息,等待审核。审核通过后,点击创建应用审核通过后,就可以使用APP ID 和 APP Key二、编写java代码项目结构y...

2019-07-11 10:53:57 1000 4

原创 什么是Spring?

      什么是spring?      创始人:罗宾·约翰逊      Spring:          &n...

2019-07-09 16:51:53 1146

原创 什么是Mybatis?

       什么是Mybatis?              创始人:克林顿.贝让        ...

2019-07-09 16:32:52 987

原创 Spring MVC框架的介绍和理解

Spring MVC框架(1)、介绍      MVC也就是模型-视图-控制器( Model-View-Controller )架构模式的开发模型,实现了模型和视图的彻底分离,结构清晰。(2)、理解      1、Model(模型)是用于处理业务逻辑的部分。所以在开...

2019-07-09 14:21:12 221

转载 HTTP与HTTPS的区别

原文地址:https://www.cnblogs.com/wqhwe/p/5407468.html超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HT...

2019-07-08 14:25:54 113

原创 使用数据库的索引时需要注意的情况

使用数据库的索引时需要注意的情况       1、使用like关键字模糊查询时,% 放在前面索引不起作用,只有“%”不在第一个位置,索引才会生效(like ‘%文’–索引不起作用)       2、使用联合索引时,只有查询条件中使用了这些字段中的第一个字段...

2019-07-08 13:47:56 768

原创 集合类的继承关系

Collection     List          ArrayList          LinkedList  &...

2019-07-05 15:00:52 233

原创 常见的SQL优化面试题

现在面试过程中,除了开发的基础,面试官通常还会问SQL优化的方面,SQL优化也能体现出来平时对数据库的理解和技术的高低。现在就总结了几个,希望对大家有帮助。      1.在表中建立索引,优先考虑where.group by使用到的字段。      2.查询条件中,一定不要...

2019-07-05 14:13:20 2084

原创 Java线程的堆区和栈区

        jvm只有一个堆区(heap),且被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身和数组本身;        每个线程包含一个栈区,栈中只保存基础数据类型本身和自定义对象的引用;...

2019-07-05 13:51:03 492

原创 abstract与final关键字为什么不能同时使用?

abstract与final关键字为什么不能同时使用呢?             因为抽象类必须被继承才能使用,而且必须重写所有的抽象方法,但是final不能被修改,所以两个不能同时使用。...

2019-07-05 13:47:48 3494

原创 servlet的生命周期以及工作过程

servlet的生命周期:          1.  客户端访问servlet的url时,web容器会通过java的反射机制创建servlet的实例对象,并调用init()方法进行初始化,并且init()方法只被调用一次.    &nb...

2019-07-05 10:58:03 330

原创 Ajax:实现ajax通信

Ajax:实现ajax通信 通过XMLHttpRequest对象           a)创建XMLHttpRequest           b)设置要发送请求&nbs...

2019-07-04 17:06:26 1071

原创 Java线程的乐观锁与悲观锁的概念以及使用场景和优缺点

a)悲观锁(Pessimistic Lock): 每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。b)乐观锁(Optimistic Lock): 每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的...

2019-07-04 16:07:29 648

空空如也

空空如也

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

TA关注的人

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