JAVA采坑录

判断字符串相等

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

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;.....

原因:


简答回调函数:


针对数据库可以查询出结果,项目没有结果的问题:

如果出现以上问题,多半是mapper.xml的问题。

如果查询的是单个字段,需要如下转换:

String类型的json串转实体类

//String 转实体

eacher是实体类

Teachers entity =JSON.parseObject(JSON.parse(teachers).toString(),Teachers.class);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,877评论 18 399
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,273评论 0 13
  • 小目标第一天 o(^o^)o 早上好~虽然现在快中午了。最近突然有睡觉前看手机的习惯,不看总觉得哪里不对,不能安心...
    D_H_mj阅读 229评论 0 0
  • 2017年的九月十日,在渑池县教体局的安排部署下与沪江互加机缘巧合,邂逅于青椒舞台,有幸成为青椒成员的一份子。 接...
    渑池1065董红燕阅读 390评论 1 3
  • 《三角梅》 姹紫嫣红争奇葩, 热情奔放众称佳。 庭院街头寻常见, 两厢幽会却避她。 白云山人 20170312
    赛德传播阅读 146评论 0 0