Java异常处理
Java中的命令行工具javap
javap
,全称java printer
,是JDK中的一个基础命令行工具,用于反编译一个或多个class文件。其输出取决于使用的选项。如果未使用任何选项,则javap
命令将打印具有包,protected和public权限的字段和方法,并将其输出打印到标准输出stdout
。
Java中的内部类
将一个类的定义放在另一个类的定义内部,这就是内部类。如下所示
1 | class OuterClass { |
从总体上来讲,Java中的内部类可以分为:
- 静态内部类(static inner class):声明为static的内部类
- 非静态内部类(non-static inner class)
1 | class OuterClass { |
其中,非静态内部类又可细分为以下三种:
- 成员内部类:作为外部类的成员定义
- 局部内部类(local inner class):在外部类的方法中定义
- 匿名内部类(anonymous inner class):没有名字的内部类
内部类是一种编译器现象,与虚拟机无关。它可以访问外部类中定义的所有方法和域,即使这些方法和域声明为private。此外,内部类可以使用访问说明符public、protected和private修饰。
Nginx返回413 Request Entity Too Large
- 问题描述
晚上9点55分,前老板在讨论组中截了一张图片,显示的是课程网站上传文件失败的弹框,弹框内容如下
1 | SyntaxError: JSON.parse: unexpected character at line2 column 1 of the JSON data |
下意识以为是自己代码写的有问题,赶紧在本机测试了下,发现很小的文件都能正常上传,但是稍大一点的文件就会出现如下错误
1 | SyntaxError: Unexpected token < in JSON at position 1 |
浏览器控制台报错内容如下
1 | 413 Request Entity Too Large |
查看了下Spring MVC的配置文件,上传大小写的足够大,这显然不是Spring MVC的问题。后来发现可能是Nginx的问题,试着改了下本地Nginx的配置文件,果然就传成功了。
- 原因
nginx服务器做反向代理时,对上传的文件大小有限制,默认为2M
- 解决办法
在nginx.conf的http{}中,添加一行
1 | client_max_body_size 200m; |
文件大小限制可以根据需求自行改变。