自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tolode的博客

曾经受过的伤,觉得一辈子也忘不了,可还是都过来了。曾经离开的人,以为一辈子也放不开,可后来还是发现,原来真的不会,离开谁就活不下去。曾经说着的梦想,你也没能实现,可是却在实现梦想的努力中,找到了喜欢的那个自己。

  • 博客(46)
  • 资源 (13)
  • 收藏
  • 关注

原创 MultipartFile上传文件的几种场景

前言: 1:什么是MultipartFile MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。 2:什么是transferTo 使用transferTo (本质上还是使用了流 只不过是封装了步骤) ...

2019-01-17 14:24:59 59517 1

原创 mac word 打开只有一页 解决方法

mac版本:Microsoft Word for Mac 16.16.18修改步骤: 打开word - 布局 - 栏 - 一栏

2020-04-11 09:49:34 1239

原创 MyBatis源码-手写测试类-阅读

1:准备-下载MyBatis源码:https://github.com/tuguangquan/mybatishttps://github.com/mybatis/parent2:idea搭建聚合项目 mybatis继承parent项目导入两个项目,等待两个项目的pom中的依赖加载完成。3:写测试代码创建数据库mybatis与数据库表role-- -------...

2020-04-07 23:26:43 565

转载 一个例子让你了解JAVA反射

通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运行的时候还可以动态地去操作他们.package cn.lee.demo; import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.I...

2020-04-04 22:47:45 349

原创 Spring的启动过程

首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的springIoC容器提供宿主环境;其次,在web.xml中会提供有contextLoaderListener。在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,其contextInitialize...

2020-04-03 21:07:46 167

转载 Spring常见面试题总结(超详细回答)

1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式的Bea...

2020-04-03 17:14:58 440

原创 String创建几个对象

String a = "abc"; //1个// "abc"在字符串常量池中String a = "abc"; String b = "abc"; //1个// 两个"abc"都在字符串常量池中String a = "a"+“b”+"c"; //1个//在编译器的执行过程中,有以下过程//a b c ab ac abc 几种情况,但是编译完成时就会合并成ab...

2020-04-02 23:02:55 427

原创 docker到底是什么?有什么用?

前言:笔者前后两次看了docker的一些文章介绍,每次看完都是一头雾水。总有种是懂非懂的感觉。今天总算理清了头绪,特写此文。docker是什么? 可以认为它是一个类似于虚拟机的虚拟化工具, 也可以认为它是一个类似于git的版本控制器。docker到底有什么用? 可以延伸想到-一般我们使用虚拟机来做什么? 比如搭建redis集群等等 在延伸想到git是用来做...

2020-03-31 20:45:53 836

原创 java.lang.NoClassDefFoundError

最近在写代码时,改变了一个类,使用idea全局替换,导致部分类名在替换时,改成的是小写,集中在全局修改的类中进行排查一下即可。

2020-03-08 21:17:26 143

转载 Mac zsh: command not found:mvn

zsh 下找不到 mvn 命令如果已经配置了maven,但是每次在终端执行 mvn 命令的时候,都必须要执行下 source ~/.bash_profile 才能生效。这是因为当 Mac 上安装了 zsh 后,.bash_profile 文件的配置无法生效。解决方案是:vi ~/.zshrc在文件的末尾添加下面的命令:source ~/.bash_profile这样,当 zsh 启动...

2020-02-11 21:27:38 1240

原创 ajax 返回response 获取 headers中的token

//浏览器默认是不让获得header中其他值,先指定一个头部,再存入数据response.setHeader("Access-Control-Expose-Headers", "TOKEN_NAME");response.setHeader("TOKEN_NAME", "123456");前端ajax<script type="text/javascript"> v...

2019-12-31 20:41:15 6151 1

转载 vmware虚拟机三种网卡

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换...

2019-12-25 15:21:59 664

原创 java封装 继承 多态 的概念和作用

一:概念封装: 在java中,我们对类的封装,对方法的封装,在其他类中只需要调用这个类或者方法就行。 通俗点理解,我们在启动汽车的时候。汽车对里面的零件构造进行了封装,只要提供给我们一个钥匙口,我们只需要用钥匙启动就行。继承: 在java中,我们是在父子类之间定义继承关系的。只要子类继承父类,就可以调用父类中的方法(注:父类私有的方法子类无法调用)。 通俗点理解,我们家庭中,也是这种...

2019-12-01 14:46:43 3452 1

原创 Shiro框架详解

(注:初始登录账号:admin 密码:123456)简介:本篇博客讲解了关于Shiro的四个部分 一:Shiro的基本介绍 二:Shiro的项目搭建 三:Shiro代码下载参考(项目+sql文件) 四:关于Shrio的问题分析一:Shiro的基本介绍1:什么是Shiro、有什么用、什么时候使用? shiro是一个...

2019-11-26 21:02:38 244

原创 统一异常处理

前言:如果项目中异常处理都是通过try catch完成的。就会导致代码拥有大量的try catch语句。简洁性,可视性,复用性都很差。一:ExceptionHandler的运行机制https://blog.csdn.net/tolode/article/details/103263528二:枚举的使用https://www.cnblogs.com/jingmoxukong/p/60983...

2019-11-26 20:47:34 120

原创 @ExceptionHandler详解

1:@ExceptionHandler介绍@ExceptionHandler注解我们一般是用来自定义异常的。可以认为它是一个异常拦截器(处理器)。异常间的层次关系2: @ExceptionHandler的使用一:极简测试,一共4个类: 1、一个SpringBoot启动类 2、一个控制层 3、一个异常处理类 4、一个service类启动类:Exceptionhand...

2019-11-26 19:58:51 45436 8

原创 RubbitMQ(死信队列)极简测试

基本环境:jdk版本:1.8rubbitmq版本:3.7.16springboot项目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/XMLSchema-in...

2019-11-21 22:55:25 467 1

原创 更新数据是先更新缓存(redis),还是先更新数据库(mysql)

提问:老师,上次面试我的回答是先更新数据库,在更新缓存。但是面试官给我的回答是,先更新缓存,再更新数据库。后来我也上网查了下,先更新缓存,再异步将缓存中的数据同步到数据库。但是我并没有查到相关的代码逻辑。总结两种方式入戏1:先更新数据库 - 删缓存 - 再次访问 - 查询数据库 - 存入缓存2:更新redis(新key覆盖旧key) - 查询 - redis异步...

2019-11-15 21:31:51 11015 5

转载 Get和Post请求区别和使用场景

GET和POST是什么?答:HTTP协议中的两种发送请求的方法。HTTP是什么?答:HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。Get请求和Post请求区别:(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度限制)(3)post能发送更多的数据类型(get只能发送AS...

2019-11-13 22:03:48 956

原创 Cannot load driver class: com.mysql.jdbc.Driver

Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver发现这个错误:第一步:看jar包是否存在<dependency><groupId>mysql</groupId><artifactId>mysql-connec...

2019-11-09 15:23:10 262

原创 Apache+tomcat(linux推荐版)

声明:进行apache+tomcat进行整合时,版本很重要(尽量用以下版本,笔者当时安装吃了不少亏,在网上下了多种版本的,现在总结如下)一、apache的安装1.准备以下资材apr-1.5.2.tar.gzapr-util-1.5.4.tar.gzpcre-8.37.tar.gzhttpd-2.4.3.tar.gz2.安装gcc,g++和make#apt-get install ...

2019-11-05 21:30:36 293

原创 MySQL 外键篇

1 简介在实际开发的项目中,一个健壮数据库中的数据一定有很好的参照完整性。例如学生档案和成绩单两张表,如果成绩单中有张三的成绩,学生档案中张三的档案却被删除了,这样就会产生垃圾数据或者错误数据。为了保证数据的完整性,将两张表之间的数据建立关系,因此就需要在成绩表中添加外键约束。2 外键的定义外键是指引用另外一个表中的一列或多列数据,被引用的列应该具有主键约束或者唯一性约束。外键用来建立和加强...

2019-10-28 18:00:05 186

转载 分布式CAP定理,为什么不能同时满足三个特性?

在弄清楚这个问题之前,我们先了解一下什么是分布式的CAP定理。根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。一、CAP的定义Consistency (一致性):“all nodes see the...

2019-10-26 20:05:18 108

原创 try catch finally 通俗易懂

try:对可能出异常的代码进行包裹catch:当try包裹的代码出现问题时,捕获到对应异常。(如果进行捕获了,则下面的程序继续执行正常否则,还是异常)finally:不管是否出现异常,以及是否捕获,最终一定会执行try catch finally组合有以下三种try catchtry catch finallytry finally以下结合几个案例来分析try catch fin...

2019-10-24 12:22:20 444

原创 Mac中 Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException:

mac os系统中mysql版本mysql-8.0.11-macos10.13-x86_64对应pom中版本<mysql.version>5.1.44</mysql.version>

2019-10-22 22:04:46 2423

转载 数据库连接池介绍

什么是连接池数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。为什么要使用连接池数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。 数据库连接池的解决方案是在应用程序启动时建立足...

2019-10-15 22:56:11 245

原创 电商订单未支付-回仓(RabbitMQ实现)

1:可以使用java中自带的api–Timer , 但是操作比较繁琐 。2:电商项目中引入第三方插件:石英钟quartZ3:定时任务逻辑: 设置24小时支付超时如何判断一个订单是否超时?订单中有status(订单状态 1未付款 2已付款 3未发货4已发货5交易成功 6交易失败)字段和createTime(订单生成时间)字段 , 检索订单表中创建时间距离现在大于24 , 并且status为1...

2019-10-12 23:15:49 915

转载 分布式系统如何保证数据的一致性

由于互联网目前越来越强调分布式架构,如果是交易类系统,面临的将会是分布式事务上的挑战。当然目前有很多开源的分布式事务产品,例如java JTA,但是这种解决方案的成本是非常高的,而且实现起来非常复杂,效率也比较低下。对于极端的情况:例如发布,故障的时候都是没有办法保证强一致性的。首先,在目前的互联网应用中,我们通过一个比较常见的例子,让大家更深入的了解一下分布式系统设计中关于数据一致性的问题。拿...

2019-10-12 22:10:02 1335

原创 订单一定时间未支付-回仓(Timer实现)

背景:做商品支付的开发过程中,一个必须考虑到的环节:用户在点击下单购买,同时也点击了支付,这时候由于各种原因,用户长时间未支付,对于库存有限的商品来说,一般会将当前订单的商品库存锁定一段时间,这段时间一过,还未支付,库存自动回库,同时修改支付状态,可以参照下12306的买票过程,对于这样一种需求,我们有什么开发成本低的方案呢?方案:如果你的后端是java开发的,那搞个schedule定时任务...

2019-10-12 22:03:35 1750

原创 数据加密技术篇

这几年接触了一些加密技术,在这里做个总结,主要是加密算法(对称加密和非对称加密)和摘要算法。这里主要是结合Java代码讲解常见的 对称加密(DES)、非对称加密(RSA)、摘要算法(MD5)对称加密:DES,3DES,TDEA,Blowfish,RC5,IDEA等。非对称加密:RSA、Elgamal、背包算法、Rabin、D-H、ECC等摘要算法:MD5算法和SHA-1算法等对称加密...

2019-10-08 23:23:57 250

转载 RPC简介及框架选择

简单介绍RPC协议及常见框架,对比传统restful api和RPC方式的优缺点。常见RPC框架,gRPC及序列化方式Protobuf等HTTP协议http协议是基于tcp协议的,tcp协议是流式协议,包头部分可以通过多出的\r\n来分界,包体部分如何分界呢?这是协议本身要解决的问题。目前一般有两种方式,第一种方式就是在包头中有个content-Length字段,这个字段的值的大小标识了POS...

2019-10-05 22:46:10 98

转载 RPC和REST的区别

一:RPCRPC 即远程过程调用, 很简单的概念, 像调用本地服务(方法)一样调用服务器的服务(方法).通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.(如果你已经习惯于XML繁重的尖括号,你不妨可以尝试下更加轻型,高效,传输效率高的 JSON.)一个简单的通信过程通常为:Request<?xml version="1.0"...

2019-10-05 22:42:08 117

转载 Java8-Stream

简介举例说明filter(筛选)map(转换)distinct(去重)sorted(排序)limit(限制返回个数)skip(删除元素)reduce(聚合)min(求最小值)anyMatch/allMatch/noneMatch(匹配)总结简介java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下。比如在项目中经常...

2019-10-01 20:38:13 78

转载 基于java8的List、int[ ]、Integer[ ]的相互转换

List< Integer >、int[ ]、Integer[ ]相互转换int[ ] 转 List< Integer >int[ ] 转 Integer[ ]Integer[ ] 转 List< Integer >Integer[ ] 转 int[ ]List< Integer > 转 int[ ]List< Integer &g...

2019-09-20 21:33:24 1649

原创 MySQL-锁相关概念整理

锁的基本概念锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。三种类型(级别)的锁定机制MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁定。...

2019-09-16 10:07:45 174

原创 微信支付

一:什么找到微信支付的客服?1:在申请开通微信支付通过前什么找到微信支付客服?通过链接:https://pay.weixin.qq.com/static/applyment_guide/applyment_detail_website.shtml接入微信支付--注册微信支付商户号在当前界面右下角有个客服咨询,通过这里可找到客服。2:在申请开通微信支付通过后什么找到微信支付...

2019-07-27 22:51:13 1795

转载 软件开发--从设计到测试整体流程

目录范围总体要求2.1 总体功能要求2.2 软件开发平台要求2.3 软件项目的开发实施过程管理要求2.3.1 软件项目实施过程总体要求2.3.2 软件项目实施变更要求2.3.3 软件项目实施里程碑控制软件开发3.1 软件的需求分析3.1.1 需求分析3.1.2 需求分析报告的编制者3.1.3 需求报告评审3.1.4 需求报告格式3.2 软件的概要设计...

2019-07-24 21:50:43 3003

转载 MySQL case when then 用法

Case具有两种格式。简单Case函数和Case搜索函数。–简单Case函数CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] ENDeg:CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END搜索Case函数CASE WHEN [expr] THEN...

2019-06-20 10:44:14 32130 2

原创 Tomcat热部署(Myeclipse)

简介:Tomcat热部署主要用于程序员开发中,每次在后端做了修改,都要频繁开启tomcat服务器             耗时,麻烦。而做出的改进。笔者开发工具:myeclipse2014+tomcat7+jdk7 1:在tomcat中做出的修改在apache-tomcat-7.0.55\conf\tomcat-users.xml中进行修改&lt;/tomcat-users...

2019-01-19 09:12:11 492

原创 Base64上传文件(图片)

base64优缺点简介:1:base64在对图片等文件进行转码后的大小是原来的1.5倍左右。2:一般我们都是用base64进行单图片上传,直接入库的操作(单独的图片库)3:base64在特殊情况下也可进行多图片传输(图片内存总和小于2MB)前端jsp完整代码<%@ page language="java" import="java.util.*" pageEncod...

2019-01-18 17:12:09 3465

ttl-demo-master.zip

配合对应博客进行学习 博客连接:https://blog.csdn.net/tolode/article/details/103191909

2019-11-21

apache+tomcat安装包.zip

推荐和博客进行配套学习 包含:apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz pcre-8.37.tar.gz httpd-2.4.3.tar.gz jdk-7u79-linux-x64.tar.gz apache-tomcat-8.0.30.tar.gz 博客链接:https://blog.csdn.net/tolode/article/details/102924736

2019-11-05

SVN(Server和Client)

笔者在网上收集了不少SVN的,最后发现这两款比较合适,将他们打包在一起,方便以后下载使用

2019-03-02

tomcat-win7和win10适应版本

最近在两台电脑上进行项目搭建,发现tomcat版本不同,搭建不同,最后总结出以上两种tomcat

2019-02-26

Shiro简单案例(附sql)

之前传了一篇关于shiro的项目,后来用户反馈没有sql,本打算删除在上传一个项目,但csdn现在不支持删除和修改资源文件了,这个资源对应一篇讲解的博客,链接:https://blog.csdn.net/tolode/article/details/86571224

2019-01-21

linux x86(tomcat和jdk)

linux x86系统的tomcat和jdk,需要的朋友。 这里是福利哦

2019-01-08

linux-redis绿色版(推荐)

linux-redis路色版,推荐下载,亲测可用。 配置redis搭建文档使用,轻松搞定redis搭建 参考文档地址:https://mp.csdn.net/postedit/85621726

2019-01-07

Xshell-yuxiaoyu

在windows系统中通过命令操作linux系统的工具,也可用于其他系统。页面清晰,在进行修改相关配置时,已注释和未注释色彩分明,是个非常不错的工具

2019-01-05

windows-86-mysql(亲测有效)

最近在一台windows-86电脑上进行搭建环境,本人表示完全没用32位软件,在网上找了一些都不靠谱,最后我上传的这个是找领导要的资源。亲测有效。

2019-01-05

Redis初级案例(推荐)

java整合redis的简单项目,配合文档使用,简单易上手。 文档地址:https://blog.csdn.net/tolode/article/details/85621726

2019-01-02

windows 32位tomcat和jdk(推荐-亲测有效)

最近在网上开始将64位系统的代码拷贝到32位系统进行测试, 发现没有32位系统的响应环境和服务器,最后在CSDN上与朋友 那里东拼西凑凑齐了一套,在这里分享给大家

2018-12-13

权限分配Shiro案例(推荐)

一个简单的物流项目,导入后可能需要进行微调,这里用的是jdk1.7,是一个pom工程。把项目进行跑一遍,需要的地方打个断点,关于shiro框架就清楚了

2018-11-15

定时任务Quartz

只需基本的spring包即可 注:要是项目报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 缺少jar包,这个jar包在以上压缩包中就有

2018-11-15

空空如也

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

TA关注的人

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