Java基础
onlyljy
做一个快乐的码农
展开
-
git取消本地commit
git取消本地commit原创 2022-08-16 15:49:42 · 2867 阅读 · 0 评论 -
springBoot项目使用pagehelper进行多种数据库分页
1.使用pagehelper进行分页,如果在application.yml配置为pagehelper: helper-dialect: mysql这种情况下,默认只对mysql数据库进行分页,如果查询sqlserver或者oracle数据库进行分页就会出现异常,此时需要修改配置文件,然后就可以自动对多种数据库分页pagehelper: helper-dialect: mysql # 默认false,当为true时,自动检验适合的数据库 auto-dialect: true # 这原创 2022-01-27 16:52:19 · 2642 阅读 · 1 评论 -
json参数中包含集合对象传递接收方式
1.参数接收方式,以json格式接收数据,所以用对象MoreBankStatementShareParam接收参数,具体参数为对象的集合2.参数传递,必须用JSONArray做为集合存放对象参数原创 2021-11-08 16:10:16 · 1903 阅读 · 0 评论 -
java获取某日期上个月最后一天
Calendar c = Calendar.getInstance(); //当前日期设置为指定日期 c.setTime(new Date()); //指定日期月份减去一 c.add(Calendar.MONTH, -1); //指定日期月份减去一后的 最大天数 c.set(Calendar.DATE, c.g...原创 2021-09-27 17:28:55 · 4319 阅读 · 0 评论 -
二进制流转为图片
String result = resultInfo.getResult().toString(); byte[] bytes = decoder.decodeBuffer(result); ByteArrayInputStream bais = new ByteArrayInputStream(bytes); BufferedImage bi1 = ImageIO.read(bais); File w2 ...原创 2021-09-18 13:49:08 · 1327 阅读 · 0 评论 -
java定时执行服务
//获取Calendar对象,用于自定时时间 Calendar calendar = Calendar.getInstance(); //设置每天凌晨 00:00:00 重跑服务 calendar.set(Calendar.HOUR_OF_DAY,0); calendar.set(Calendar.MINUTE,0); calendar.set(Calendar.SECOND,...原创 2021-09-13 19:42:17 · 134 阅读 · 0 评论 -
@Transactional注解的使用
1.@Transactional默认情况下,只对 Error或者RuntimeException 异常生效,如果需要对其他异常生效需要在注解后面加上要生效的异常@Transactional(rollbackFor = Exception.class)2.Transactional生效的原理是遇到指定异常,然后自动回滚,如果代码中使用try{} catch()将异常捕捉,则不会进行自动回滚,此时可以在需要回滚的地方手动回滚TransactionAspectSupport.currentTransactio原创 2021-09-06 16:42:41 · 539 阅读 · 0 评论 -
使用easyExcel将同一个对象、不同对象写入不同sheet
// 方法1 如果写到同一个sheet String fileName = "D:\" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写 ExcelWriter excelWriter = EasyExcel.write(fileName, Date.class).build(); // 这里注意 如果同一个sheet只要创建一次 WriteSheet writeSh...原创 2021-08-16 13:55:30 · 5046 阅读 · 1 评论 -
java删除临时文件失败
1.使用 FileUtils.delete(file); 或者 file.delete(); 去删除临时文件,发现无论如何都删除不掉2.使用如下发法,一般调用 System.gc();后一次就会将文件删除掉,最多不会超过十次 //删除临时文件 boolean result = false; int tryCount = 0; while(!result && tryCount++ <10)原创 2021-08-13 14:57:22 · 1436 阅读 · 0 评论 -
java获取服务器地址
HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = "http://" + request.getServerName() //服务器地址 + ":" + request.getServerPort() //端口号 + htt...原创 2021-08-10 09:06:00 · 577 阅读 · 0 评论 -
使用esayExcel导入excel表格加密
1.对于一些重要的数据,导出excle表格时需要对表格加密,使用excleExcel加密超级简单public void taxesQuery(HttpServletResponse response, ArrayList<TaskTaxesQuery> taxesQueryList){ try { LocalDate dateNow = LocalDate.now(); //response输出文件流 re原创 2021-08-09 14:05:50 · 865 阅读 · 0 评论 -
前端传入excel文件,后端接收并获取数据
1.前端传入文件,控制层需要用MultipartFile类型接收数据,代码如下 @RequestMapping(value = "/downTaxes",method = RequestMethod.POST) public void downTaxes(@RequestParam("file") MultipartFile file, HttpServletResponse response) { taskTaxesQueryService.taxesQuery(response原创 2021-08-09 13:38:37 · 9392 阅读 · 2 评论 -
Mysql中取某字段日期最大值、最小值、日期比较去掉时分秒
1.取日期最大值select max(字段名) from table;select min(字段名) from table;2.比较时去掉时分秒date_format(字段名 ,'%Y-%m-%d')原创 2021-08-03 13:47:13 · 4655 阅读 · 0 评论 -
调用接口返回json数据处理方式
1.调用接口一般会返回string或json格式数据,想要使用数据,需要对数据进行解析,返回如下格式数据解析过程,以获取result数组下面的errMsg值为例2.如果返回string格式数据,需要先将string转为JSONObjectJSONObject jsonResultObject = JSONObject.parseObject(result);然后处理数据 //将JSONObject 对象 jsonResultObject 以result 为key的value 转为JSONA原创 2021-07-23 15:49:03 · 6757 阅读 · 0 评论 -
java中BigDecimal类型数据比较大小
BigDecimal类型数据a和b比较大小,a、b均不能为nullif(a.compareTo(b) == -1){ System.out.println("a小于b");} if(a.compareTo(b) == 0){ System.out.println("a等于b");} if(a.compareTo(b) == 1){ System.out.println("a大于b");} if(a.compareTo(b) > -1){ System原创 2021-07-19 16:27:24 · 252 阅读 · 0 评论 -
SpringBoot项目启动遇到 Unable to start ServletWebServerApplicationContext due to missing ServletWebServer
出现此错误的三种情况,并不一定是所有情况1.启动类忘记添加@SpringBootApplication注解2.启动类run方法参数和类名保持一致3.pom文件没有添加坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2021-07-17 11:06:40 · 283 阅读 · 0 评论 -
Java中单个对象内存图解析
执行下图代码,执行过程中内存解析内存共分为三块,栈、堆、方法区首先,会将类的字节码文件加载进方法区,但是有两个类,谁先加载呢,肯定是带main方法的类先加载,main方法里含有程序的入口,TestStudent类中只有一个主方法,所以主方法也会加载进方法区,同时,主方法会被虚拟机自动调用执行,加载进栈内存然后主方法声明了一个Student类型的对象,但方法区此时没有Student类,所以会把Student类字节码文件加载进方法区,同时将该类的成员变量和成员方法都加载进方法区使用new创建对象,原创 2020-12-13 22:04:21 · 283 阅读 · 0 评论 -
两种不同的@Service
@Service注解有两种类型,一种是spring提供的注解,另一种是dubbo提供的1.spring提供的注解是为了把该注解下的类放入spring容器,交由spring管理2.dubbo提供的注解的代表该注解下的类是服务提供者,对外提供服务...原创 2020-11-18 00:23:28 · 353 阅读 · 0 评论 -
理解Java中的包装类
1.基本类型包装类的作用将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的转换2.基本类型对应的包装类基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean3.常用的包装类IntegerInteger类概述包原创 2020-08-05 22:06:57 · 197 阅读 · 0 评论 -
java中的lambda表达式
1.Lambda表达式函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”面向对象思想强调“必须通过对象的形式来做事情”函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现2.Lambda表达式的标准格式格式: (形式参数) -> {代码块}形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即可->:由英文中画线和大于符号组成,固定写原创 2020-08-04 22:39:16 · 135 阅读 · 0 评论 -
Java中的内部类
1.内部类的定义一个类定义在另一个类中,就是内部类定义格式/* 格式: class 外部类名{ 修饰符 class 内部类名{ } }*/class Outer { public class Inner { }}2.内部类访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象3.成员内部类成员内部类的定义位置在类中方法,跟成员变量是一个位置外界创建成员原创 2020-08-03 22:19:37 · 102 阅读 · 0 评论 -
接口
1.什么是接口?接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。2.接口有什么特点?接口使用关键字interface修饰public interface 接口名 {} 类实现接口用implements表示public class 类名 implements 接口名 {}接口不能实例化 我们可以创建接口的实现类对象使用接口的子类 要么重写接口中的所有抽象方法 要么子类也是抽象类3.接口成员特点成员变量 只能是常量 默认修饰符:pu原创 2020-08-01 22:41:59 · 241 阅读 · 0 评论 -
Java中抽象类的使用以及与接口的异同
1.什么是抽象类?在Java中,一个没有方法体的方法就应该定义为抽象方法,而如果一个类中有抽象方法,那么这个类就一定要定义为抽象类。2.抽象类有什么特点?抽象类和抽象方法必须使用 abstract 关键字修饰//抽象类的定义public abstract class 类名 {}//抽象方法的定义public abstract void eat();抽象类中不一定包含抽象方法,抽象方法所在的类一定是抽象类抽象类不能实例化抽象类可以有构造方法抽象类的子类要么重原创 2020-07-31 22:06:48 · 130 阅读 · 0 评论 -
继承
1.什么是继承?继承是面向对象三大特征之一,可以使子类具有父类的属性和方法,还可以在子类中重新定义、追加属性和方法。2.继承的格式通过extends实现class 子类 extends 父类{}3.继承好处和弊端好处:提高了代码复用性提高了代码维护性弊端:继承让类与类之间产生了关系,类的耦合性增强,削弱了子类的独立性4.Java中继承的特点Java中类只支持单继承,不支持多继承错误范例:class A extends B, C { }Java中类支持多层继承原创 2020-07-30 21:10:29 · 126 阅读 · 0 评论 -
java中的构造函数
1.什么是构造函数构造函数也称构造方法,是java中的一种特殊的函数2.作用于特点作用:创建新对象时给对象初始化特点:函数名与类名相同,没有返回值,不可以写return,可以有多个构造函数(参数列表不同),各个构造函数之间属于方法重载3.代码示例public class gkk { private String name; private int age; //无参构造 public gkk() { System.out.println("我是g原创 2020-12-06 20:11:28 · 3444 阅读 · 0 评论 -
java中的保留字和关键字
一、java中的保留字和关键字的区别?Java关键字(Key Word): 对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构.保留字(Reserve Word):即它们在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其它语言中有特殊含义,不宜在Java中定义为变量名称等,因为容易混淆。关键字和保留字均不能用作变量名、方法名、类名、包名和参数。二、保留字和关键字的共同点无原创 2020-12-03 14:28:46 · 851 阅读 · 0 评论 -
java中的instanceof
instanceof是java中的二元操作符,也是java中的关键字,是用来测试左边的实际对象是否是右边的类的实例,返回值是bool类型,例如 user instanceof User,如果user是User类型的对象,返回true。在源码ObjectUtil类的isEmpty方法中就用到大量的instanceof关键字...原创 2020-12-03 14:11:24 · 137 阅读 · 0 评论 -
StringUtils和 CollectionUtils、ObjectUtil
1.StringUtils和 CollectionUtils分别用来判断字符串和集合2.想要字符串是否为空,先要了解“” 和null的区别null 是没有地址的,可以理解为空指针。当对象在构造器初始化时,如果没有被赋予初始值,那么会默认赋值为 null。“”空字符串是一个 String 对象是有地址的,只是内容是空。isEmpty() 和 isBlank() 区别在于 isBlank() 多了对于空格的判断,可以根据方法名区别使用isEmpty()判断字符串是否为空,而 isBlank(原创 2020-11-30 10:49:16 · 1494 阅读 · 1 评论 -
“ “创建字符串和new方式创建字符串的区别
在java基础中,好多人分不清String s1 = new String(“abc”);String s2 = new String(“abc”);String s3 = “abc”;System.out.println(s1 == s2);//结果 ?System.out.println(s2 == s3);//结果 ?我们就来谈一谈以" "创建字符串和new方式创建字符串的区别以“ ”方式创建的字符串,只要字符内容相同,无论在程序代码中出现几次,JVM 都只会建立一个 String原创 2020-11-07 19:39:59 · 1221 阅读 · 2 评论 -
多态
1.多态是什么?同一个对象,在不同时刻表现出来的不同形态就是Java中的多态2.多态的前提条件要有继承或实现关系要有方法的重写要有父类引用指向子类对象代码演示:class Animal { public void eat(){ System.out.println("动物吃饭"); }}class Cat extends Animal { @Override public void eat() { System.out.原创 2020-08-02 21:45:16 · 154 阅读 · 0 评论 -
杨辉三角
杨辉三角杨辉三角,是二项式系数在三角形中的一种几何排列。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。杨辉三角的特点:1.每个数等于它上方两数之和。2.每行数字左右对称。3.第n行的数字有n项。4.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,如下图所示代码实现:package day07; import jav原创 2020-07-29 21:48:19 · 400 阅读 · 0 评论