摘要: 1、背景: 线上经常出现因为研发代码编写不规范,sql语句全表查询,数据过多,硬生生把内存塞爆,不断GC,整个服务宕掉的情况。 引发这种场景的原因之一,归咎在使用mybatis编写sql语句时使用了万能查询语句。where 1=1之后,拼接的if条件都不符合条件。如下: 如果下面sql语句中,if条 阅读全文
posted @ 2018-11-27 10:49 鲸落丶 阅读(739) 评论(2) 推荐(1) 编辑
摘要: 之前一直不太明白,sql语句里为什么要写where 1=1 巴拉巴拉巴拉 提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。 这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。 如:web界面查询用户的信息,where默认 阅读全文
posted @ 2018-11-17 21:32 鲸落丶 阅读(29491) 评论(1) 推荐(11) 编辑
摘要: 配置上mybatis,增加dao层后,重新写查询页面,结果又遇到不少坑,全是学费。代码结构如下: 1、Invalid bound statement (not found) 报错界面如下。mybatis好久不写,重温一下使用。明显是Mapper.xml与同名的Dao接口映射出现问题导致。 排查过程如 阅读全文
posted @ 2018-11-14 20:29 鲸落丶 阅读(2931) 评论(0) 推荐(0) 编辑
摘要: 近两日学习SpringMVC框架时,编写了一个查询的小demo。 功能介绍:根据name及producing_area查询结果。若为空时,查询出所有结果。 1、启动项目后,页面404。 debug代码后,发现return时,页面找不到。 解决:由于spring的配置文件中没有配置视图解析器,默认的视 阅读全文
posted @ 2018-11-06 21:06 鲸落丶 阅读(411) 评论(0) 推荐(1) 编辑
摘要: 看了知乎老顽童周伯通的回复和深入解析java反射关于反射的讲解,终于对反射的概念有了新的认识。不再画蛇添足了,转载一下精华部分。 一、为什么要用到反射? 假如你写了一段代码:Object o=new Object(); 运行了起来! 首先JVM会启动,你的代码会编译成一个.class文件,然后被类加 阅读全文
posted @ 2018-03-28 20:40 鲸落丶 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 在复习JavaSE基础时,看到Object类中的equals方法与==的对比,原文中是这么讲的:“两个内建类型的数值进行比较是否相等时,使用“==”,但当比较两个对象的时候,可以使用“==”或equals方法,这俩方法有区别, 区别在于,equals方法比较的是引用变量指向的对象的值,==比较的是两 阅读全文
posted @ 2018-02-17 21:37 鲸落丶 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 一、分析 当你使用三元运算符,两边的操作数的类型不一致的时候,这就涉及到三元操作符的转换规则: 二、场景 分析,两个三元操运算,条件都为真,返回第一个值,结果“两者是否相等:true”。结果果真如此吗?结果“两者是否相等:false”! 问题出在于100和100.0这两个数字上: 在变量s中,第一个 阅读全文
posted @ 2018-01-09 10:08 鲸落丶 阅读(732) 评论(0) 推荐(0) 编辑
摘要: Maven [ˈmevən] ,跨平台的项目管理工具,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 何为构建?什么是依赖?为什么要用Maven?他有什么优点。先不急着明白这些概念,我们从一个简单的maven java项目入手,慢慢理解。 本文适合对概念有一定了解,但没使用过,掌握不 阅读全文
posted @ 2017-12-30 15:15 鲸落丶 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。static是不允许用来修饰局部变量。 问题来了,带有static关键字的类,执行的先后顺序是什么呢?先看几个例子。 一、下面这段代码的输出结果是什么? base static test st 阅读全文
posted @ 2017-12-10 23:27 鲸落丶 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 问题: Main类,main函数中调用pupAge方法,调用过程中报错:无法从静态上下文中,引用非静态方法 解释: 阅读全文
posted @ 2017-12-10 21:00 鲸落丶 阅读(474) 评论(0) 推荐(0) 编辑