美文网首页
JAVA采坑录

JAVA采坑录

作者: coderFamer | 来源:发表于2018-08-03 15:43 被阅读6次

判断字符串相等

之前一只判断字符串相等都是用的 ==

Sring a = "123";

String b = "123";

if (a==b) 是true的。因为a和b指向同一个对象,也就是同一个内存空间(a指针b指针指向同一个内存)

但是!我在不同的地方初始化的字符串是不同的内存空间,(a==b)就是false。

常见的应用场景,你本地的对象和传来的参数做值判断(如:后台数据库有一个人“张三”,前台根据姓名查询“张三”的工资)。这时判断的应该是值相等。用equals()

String name = new String("张三");

String param = new String("张三");

name.equals(param) 则为true

数组,list 和 arrayList

数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单。但是当元素数量非常庞大的时候,就会严重影响存取性能。插入数据的时候也是在插入位置后面的所有元素后移,下标改变。

ArrayList它的大小是按照其中存储的数据来动态扩充与收缩的。所以,我们在声明ArrayList对象时并不需要指定它的长度。ArrayList继承了List接口,所以它可以很方便的进行数据的添加,插入和移除.

ArrayList arrList = new ArrayList();

//新增数据

arrList.Add("abc");

arrList.Add(123);

//修改数据

arrList[2] = 345;

//移除数据

arrList.RemoveAt(0);

//插入数据

arrList.Insert(0, "hello world");

arrList插入了字符串"abc",而且又插入了数字123。这样在ArrayList中插入不同类型的数据是允许的,也就是说ArrayList不是类型安全的。因为ArrayList会把所有插入其中的数据都当作为object类型来处理。既使我们保证在插入数据的时候都很小心,都有插入了同一类型的数据,但在使用的时候,我们也需要将它们转化为对应的原类型来处理。这就存在了装箱与拆箱的操作,会带来很大的性能损耗。

List类是ArrayList类的泛型等效类。它的大部分用法都与ArrayList相似,因为List类也继承了IList接口。最关键的区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。

List list = new List();

//新增数据

list.Add(123);

//修改数据

list[0] = 345;

//移除数据

list.RemoveAt(0);

List泛型的好处: 

  通过允许指定泛型类或方法操作的特定类型,泛型功能将类型安全的任务从您转移给了编译器。不需要编写代码来检测数据类型是否正确,因为会在编译时强制使用正确的数据类型。减少了类型强制转换的需要和运行时错误的可能性。泛型提供了类型安全但没有增加多个实现的开销。

上传文件:

在上传文件(图片)的时候数据库采用的是blob.一直报错,最后发现blob但是只允许65k。

类型 大小(单位:字节)

tinyblob 最大 255

blob 最大 65K

mediumblob 最大 16M

longblob 最大 4G

maven install

出现错误:不能读取/user/../m2./repositery/  xxx

解决:进入m2.找到该包删掉重新maven update。解决install错误

war包在Tomcat中运行

把打好的war放在Tomcat的webapps文件中。点击运行startup.sh。浏览器中输入:localhost:8080/XXXX(项目名)

端口被占用,杀死占用端口进程

因为有的项目改端口比较麻烦。杀死占用该端口的进程PID:

1、打开终端,使用如下命令:

lsof -i:****

以上命令中,****代表端口号,我们首先要知道哪个(或哪些)进程占用该端口,比如你可以运行 lsof -i:8000,查看有哪个进程占据了8000端口,同时还会显示进程 ID;我们记住该进程ID

2、然后在用命令 “kill 进程ID”,杀死进程,如:

kill 1011

汇聚平台上架一直404

找不到路径原因竟然是因为一些Maven依赖平台不支持,注释掉依赖更新上架解决。

Swagger

新建SwaggerTools包,导入swagger.Java,修改文件包头,地址。

添加依赖

<!-- Swagger -->       

<dependency>

    <groupId>io.springfox</groupId>                <artifactId>springfox-swagger2</artifactId>              <version>2.6.1</version>

</dependency>       

<dependency>

    <groupId>io.springfox</groupId>                <artifactId>springfox-swagger-ui</artifactId>            <version>2.6.1</version>

</dependency>

输入地址   http://localhost:端口/swagger-ui.html#

有时需要导入webconfig类(网上搜)才能使用swagger,但是也会导致项目中的重定向界面打不开。Could not resolve view with name 'redirect:http........'

......BeanCreationException: Error creating bean with name 'swagger2Controller': Lookup method resolution failed;.....

原因:

简答回调函数:

相关文章

网友评论

      本文标题:JAVA采坑录

      本文链接:https://www.haomeiwen.com/subject/fhzyvftx.html