函数式编程 jdk1.8
1、@JsonIgnore //不给前台传这个字段
@JsonFormat // 固定传送的格式(日期常用)
@JsonInclude(Include.NON_NULL)//是null的话就不传到前台
1、利用定时器根据不同活动计算每天的关注数量插到表中
首先创建定时器 ,根据状态为开始的任务去查询统计wxuser表
知识点:1定时器的写法 2慎重建表结构的重要性
2、查询裂变人数。
首先判断新关注用户是否是被推广的(添加状态标志)
是的话把他的上级都查出来存到relation字段。
查询的时候通过模糊查询查询所有下级
其中模糊查询用到concat()拼接查询条件
3、bug 期待返回一列但是返回了很多列,一般是用了分页,而sql中忘了写@pageTag(){@}
1、
2、json的字符串可以直接转换成List(传给前台)。
list = JSONObject.parseArray(String)
JSONArray ja = JSON.parseArray(totaltotalpicurl);
3、json数组的样子
[{"url":"111"},{"url":"222"},{"url":"333"},{"url":"444"}]
1、修改hosts文件配置文件不用配置localhost
2、redis配置收消息别忘了配置收消息的频道!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3、dao层别忘了@Param注解参数!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4.判断null ----> "==" 基本数据类型
判断String---> ".equals" 包装类 (重写equals()方法)
1、ServletFileUpload.isMultipartContent(request)作用
1
在得到上传文件之前,首先要判断客户端<form>标记的enctype属性是否是“multipart/form-data"。
也可以说是判断是普通表单,还是带文件上传的表单。文件上传的表单值不能按普通表单接收值那样直接获取。
MultipartFile.transferTo与FileItem.write处理上传文件的不同办法
2、fileName.substring( fileName.lastIndexOf(".")+1).toLowerCase()取文件后缀
3.springboot只加载启动类所在的包下的类
intValue()是把Integer对象类型变成int的基础数据类型;
parseInt()是把String 变成int的基础数据类型;
valueOf()是把给定的String参数转化成Integer对象类型;
4.springboot定时器
@EnableScheduling(类上) @Scheduled()(方法上)
5.
不能写在1处,否则会导致数组中的指针指向同一个地址导致数据重复 (这个问题已经重复犯了两次了~~!)
6.
7.
-
本机直接内存的分配不会受到Java 堆大小的限制,受到本机总内存大小限制
-
配置虚拟机参数时,不要忽略直接内存 防止出现OutOfMemoryError异常
8. static 方法中不能用this和super :想想就行了 this 、super指向的是对象的一个实例,static方法在类初始化的时候就加载完成了。
9. asList 时不要将基本数据类型当做参数。
10.Arraylist可不是线程安全的 ①数组越界②有的位置的值为null https://blog.youkuaiyun.com/u012859681/article/details/78206494
11.Java多线程理解:线程安全的集合对象https://www.jianshu.com/p/eccb5f350c12
12.为什么toString 方法会自动被调用https://blog.youkuaiyun.com/anddyhua/article/details/42675099
13.抽象类主要用于关系密切的对象;而接口适合为不相关的类提供通用功能。
14.floor 返回不大于的最大整数
round 则是4舍5入的计算,入的时候是到大于它的整数
round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
ceil 则是不小于他的最小整数