Java
文章平均质量分 64
记录Java服务端相关的知识与经验总结
Mephisto180502
这个作者很懒,什么都没留下…
展开
-
SpringBoot 操作 MongoTemplate
SpringBoot 操作 mongoTemplate原创 2023-04-27 14:11:47 · 1719 阅读 · 1 评论 -
Spring Data Mongodb操作MongoRepository
Spring Data Mongodb操作MongoRepository原创 2023-04-27 15:06:19 · 435 阅读 · 0 评论 -
List转换成数组
经常忘记List转换成数组的写法,特此记录出来。String[] arr = list.stream().toArray(String[]::new)原创 2022-05-11 14:30:31 · 812 阅读 · 0 评论 -
Optional 实例应用
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。publicclassOptionalDemo{publicstaticvoidmain(String[]args){Optio...原创 2022-03-01 16:30:36 · 425 阅读 · 0 评论 -
Stream 实例应用
遍历/匹配(foreach/find/match)Stream也是支持类似集合的遍历和匹配元素的,只是Stream中的元素是以Optional类型存在的。Stream的遍历、匹配非常简单。@Testpublic void testForeach(){ List<Integer> list = Arrays.asList(7, 6, 9, 3, 8, 2, 1); // 遍历输出符合条件的元素 list.stream().filter(x -> ...原创 2021-08-09 12:27:32 · 422 阅读 · 0 评论 -
Java IO流
流简介流(Stream)是从起源(source)到接收(sink)的有序数据。① 按照流向可分为输入流和输出流输入流:只能从中读取数据,不能写入数据。 外部设备流向程序(内存):基类是InputStream和Reader。输出流:只能向其中写入数据,不能读取数据。 程序(内存)流向外部设备:基类是OutputS...原创 2021-07-02 15:35:31 · 213 阅读 · 0 评论 -
SpringBoot全局处理异常
@ExceptionHandler@ExceptionHandler是类级别的注解,例如要处理一个controller里的异常:@ExceptionHandler({Exception.class}) // 所有异常都由这个方法处理 public String handle(Exception e){ System.out.println(e.toString()); return "500";}@RequestMapping(value="/findOne")p.原创 2021-06-09 14:42:08 · 67 阅读 · 0 评论 -
Quartz定时任务调度
什么是QuartzQuartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能。Quartz就是一种任务调度计划。它是由OpenSymphony提供的、开源的、java编写的强大任务调度框架 几乎可以集成到任何规模的运用程序中,如简单的控制台程序,复杂的大规模分布式电子商务系统 可用于创建简单的或复杂的计划任务 包含很多企.原创 2021-06-04 13:12:11 · 337 阅读 · 0 评论 -
Java 数字处理
java.lang.Mathjava.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。abs() 返回绝对值ceil() 返回一个大于等于操作数的最近整数值 Math.ceil(8.3); //9.0 Math.ceil(9.0); //9.0floor() 返回一个小于等于操作数的最近整数值 Math.floor(8.7); //8.0 Math.floor(9.0); //9.0max() 返回两个操作数的最大一个 .原创 2021-05-13 14:19:27 · 1919 阅读 · 0 评论 -
Lamdba表达式和方法引用
forEach + lambda 表达式循环 MapMap<String, Integer> items = new HashMap<>();items.put("A", 10);items.put("B", 20);items.put("C", 30);items.put("D", 40);items.put("E", 50);items.put("F", 60); items.forEach((k,v)->System.out.println(.原创 2021-05-08 15:32:29 · 265 阅读 · 0 评论 -
@DateTimeFormat 和 @JsonFormat 注解
定义一个pojo,它有一个 java.util.Date 类型的属性 date。import java.util.Date; public class DateVo { private Date date; public void setDate(Date date){ this.date = date; } public Date getDate(){ return date; }}定义一个Controller原创 2021-04-28 11:05:17 · 466 阅读 · 1 评论 -
if else 优化
提前return这是判断条件取反的做法,代码在逻辑表达上会更清晰,看下面代码:其实,完全可以先判断!condition,干掉else。策略模式有这么一种场景,根据不同的参数走不同的逻辑,其实这种场景很常见。最一般的实现:看上面代码,有4种策略,有两种优化方案。多态具体策略对象存放在一个Map中,优化后的实现上面这种优化方案有一个弊端,为了能够快速拿到对应的策略实现,需要map对象来保存策略,当添加一个新策略的时候,还需要手动添加到map...原创 2021-04-28 11:01:12 · 160 阅读 · 0 评论 -
Java服务端二维数组常见问题
最近做一个项目的后端开发,由于项目涉及到经纬度的存储,所以前端会传给我各种一维数组和二维数组构成的数据。存储的时候我是将他转换成字符串进行存储的。接触到的第一个知识点:数组转换成字符串。route.setStartPoint(Arrays.toString(startPoint)); //一维数组转字符串route.setEndPoint(Arrays.toString(endPoint));route.setPathway(Arrays.deepToString(pathway)); /原创 2021-04-28 10:58:24 · 373 阅读 · 1 评论 -
Object类型转换成List类型
Object obj = getList();List<String> result = new ArrayList<>();if (obj instanceof ArrayList<?>) { for (Object o : (List<?>) obj) { result.add(String.class.cast(o)); }}原创 2021-04-28 10:56:15 · 1757 阅读 · 0 评论 -
EasyExcel导入导出
导出:/** * 导出 Excel :一个 sheet,带表头 * * @param response HttpServletResponse * @param list 数据 list,每个元素为一个 BaseRowModel * @param fileName 导出的文件名 * @param sheetName 导入文件的 sheet 名 * @param model 映射实体类,Excel 模型 */public static void writeExc.原创 2021-01-27 14:40:38 · 141 阅读 · 0 评论 -
Java8的流(stream)操作
Stream是Java8中新加入的api,更准确的说:Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作 。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。以前我们处理复杂的数据只能通过各种for循环,不仅不美观,而且时间长了以后可能自己都看不太明白以前的代码了,但有Stream以后,通过filter,map,limit等等方法就可以使代码更加简洁原创 2021-01-23 20:29:02 · 1111 阅读 · 0 评论 -
@RequestBody 和 @RequestParam
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。当同时使用@RequestParam()和@RequestBody时,@RequestParam()指定的参数可以是普通元素、数组、.原创 2021-01-22 11:00:59 · 242 阅读 · 0 评论 -
Postman 测试各种请求
批量查询接口请求格式根据id查询接口请求格式新增接口请求格式原创 2021-01-13 11:31:33 · 117 阅读 · 0 评论 -
内部类和外部类方法间的互相调用
内部类调用外部类的方法public class test{ public static void main(String[] args) { Outer.Inner p=new Outer().new Inner(); p.show(); }}class Outer{ int sum; //在Outer类中声明一个内部类Inner class Inner{ public void show(){ Syste.原创 2020-12-23 11:13:10 · 2420 阅读 · 1 评论 -
MyBatis 通用Sql语句
Mybatis 数据类型对应Java 类型 jdbcType String VARCHAR Integer INTEGER Date TIMESTAMP Long BIGINT 主键查询接口:public UscUserInfoBo selectUserInfo(@Param("id") String id);配置文...原创 2019-08-16 21:36:49 · 1398 阅读 · 0 评论 -
Struts2+Ajax表单及图片提交上传
1. 前端form表单<form id="addFeedbackForm" enctype='multipart/form-data'> <div class="form-group"> 作者:<span id="loginName"></span> </div> <div class=...原创 2019-05-30 20:37:58 · 666 阅读 · 0 评论 -
Struts2中使用Ajax传递参数
struts2中实现返回json格式请求第一种方式:通过struts2-json-plugin插件1、JSP页面<script type="text/javascript"> /* 提交结果,执行ajax */ function btn(){ var $btn = $("input.btn");//获取按钮元素 //给按钮绑定点击事件...原创 2019-05-08 09:21:28 · 1032 阅读 · 0 评论 -
Comparable与Comparator的区别
Comparable 和 Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包...原创 2019-05-06 16:21:52 · 80 阅读 · 0 评论 -
Java项目打war包的方法
war包即Web归档文件(war包实质上也是jar包,只不过JAVAEE的程序打成的jar包叫war包而已),将Web项目打成war包可以直接拷贝到Web服务器发布目录(例如Tomcat服务器webapps目录),当Tomcat启动后该压缩文件自动解压,war包方便了web工程的发布。DOS命令打war包①打开cmd命令窗口,进入项目目录下。②输入: jar -cvf 项目...原创 2018-09-13 12:07:48 · 12923 阅读 · 2 评论 -
关于内存溢出问题
java.lang.OutOfMemory-Xms128m表示JVM Heap(堆内存)最小尺寸128MB,初始分配-Xmx512m表示JVM Heap(堆内存)最大允许的尺寸512MB,按需分配。说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误。java.lang.OutOfMemoryError: PermGen...原创 2018-09-13 10:59:04 · 149 阅读 · 0 评论