
java
文章平均质量分 57
山里的小蝌蚪
希望大家可以相互前行.
展开
-
java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException是java不支持操作异常在对Arrays.asList(T... a)生成的List集合进行add或者remove操作的时候出现的异常出现场景:在使用Arrays.asList(T... a)将一个数组转成list,然后对这个list进行add,remove操作就会出现这个异常,例如:String[] ...原创 2020-04-27 09:57:52 · 11511 阅读 · 0 评论 -
AOP实现
本文介绍AOP基于aspectJ和注解形式的实现,至于什么是aop,那啥请自行百度。在aop的实现中有两种方式:1、基于注解的形式2、基于xml的形式两种都可以,我习惯于用注解的方式来实现。基本思路,比如说现在你在加事务的时候,不用spring的事务注解,用编程式事务。所以要自定义一个注解,然后写一个注解的handler,handler里面就定义切点,环绕通知等等,然后切点用@an...原创 2019-03-15 16:16:11 · 473 阅读 · 0 评论 -
模板模式
模板模式(Template Pattern) 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。也就是说在重复干一件事情的时候,在这些事情中主体的架构、骨架是一样的,只是每个事情有它自己的一些特性。就比如说我之前在开发君子签合同的时候,十...原创 2019-03-14 16:38:38 · 282 阅读 · 0 评论 -
Java中使用redis锁
业务场景:有一个统计报表的task(定时)业务,业务大概就是统计数据然后存入数据库中,在线上环境部署到两台不同tomcat上,就是防止我一个task失败之后,另一个也会跑。像这种业务的话,我们要实现会遇到一些问题:1、有可能两个task同时跑,这样的话就会造成两个不同的进程会同时向数据库中写入,会造成数据混乱。为了解决这个问题,我们就可以使用redis锁来解决。解决思路: ...原创 2018-12-03 17:23:19 · 4639 阅读 · 0 评论 -
浏览器获取自定义响应头response-headers
想在浏览器获取响应头里面自定义的响应头:filename,需要在请求头和响应头都要加上:'Access-Control-Expose-Headers':'filename'请求:响应:这里面就有对应的 Access-Control-Expose-Headers这样在浏览器就能得到filename这个值:...原创 2018-09-28 19:32:05 · 7125 阅读 · 0 评论 -
使用easypoi或者easyexcel多表头导出
1、使用easypoi实现多表头导出。其实使用easypoi实现单表头的导出很简单,百度一下到处都是。但是对于多表头的导出搜了很久都没有搜到,网上大多都是自己写自己封装的,没有使用easypoi注解更简单的实现。所以这里记录一下使用easypoi的 @ExcelCollection 注解来实现多表头的导出。首先要导入easypoi相关的jar包。导出主module:ReportInde...原创 2018-08-16 11:51:41 · 37257 阅读 · 8 评论 -
bootstrap+ssm框架分页问题
这个分页实用比较简单。在搭好的ssm框架写一个配置文件pagehelper.xml,这个是mabatis的一个分页配置文件。pagehelper.xml:<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN...原创 2018-06-20 17:04:24 · 863 阅读 · 0 评论 -
定时器
本项目采用框架ssm,首先定时器是单独弄了一个module,在这个module下面,有spring配置,有mybatis配置,还有mybatis的分页插件PageHelper的配置,还有关于流程,redis的配置。因为它作为一个单独的模块是能够独立打包运行的。所以所有的配置文件都应该齐全。1.配置文件:applicationContext-task.xml<beans xmlns="http...原创 2018-06-21 09:33:03 · 320 阅读 · 0 评论 -
String,StringBuffer和StringBuilder的区别
String的特点: 1.string对象的值一旦确定就不能改变 2.String 类虽然是引用数据类型 但是他当做参数传递时和基本数据类型一样,是值传递,不改变起值. 基本数据类型包装类当做参数传递时和基本数据类型一样String , StringBuffer 同:都是操作字符串的 异:String效率低 String每拼接一次都会新创建一个字符串 大批量占用内存原创 2017-07-27 22:14:12 · 208 阅读 · 0 评论 -
equals和==的区别
1.对于==,如果比较的是基本数据类型则是比较的”值”是否相等,如果比较的是引用数据类型则是比较的”地址”是否相等 2.对于equals方法,注意:equals方法不能作用于基本数据类型的变量 如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容(也就是比较的是对象的值)。重写e原创 2017-07-27 22:08:05 · 225 阅读 · 0 评论 -
Java集合分类以及各自特点
Java分类 以及各自的特点,对集合中的自定义类元素排序,比较器 集合分为Map和Collection两大类 常用的就是ArrayList,LinkedList,HashSet,LinkedHashSet,TreeSet,HashMap,LinkedHashMap,TreeMap;原创 2017-08-01 23:31:52 · 25207 阅读 · 3 评论 -
java面向对象的三大特征:封装-继承-多态
java面向对象的三大特征:封装-继承-多态 什么是面向对象?Java是一门面向对象的语言,面向对象跟面向过程一样,都是一种思想,面向过程强调的是功能行为,关注的是实现功能所要完成的步骤.然而面向对象强调的是具备功能的对象.关注的是解决问题需要哪些对象.什么是对象?万物皆对象,所有的事物都可以看成一个对象.描述现实事物,行为就是事物身上的动词,属性就是事物身上的名词.原创 2017-07-22 13:44:25 · 508 阅读 · 0 评论 -
两个整数交换的3中方法
//两个整数交换的第一种方法 第三方变量int x=4,y=8,z;z=x;x=y;y=z;System.out.println("x="+x+",y="+y);//两个整数交换的第二种方法 两个数相加int a=10,b=20;a=a+b;b=a-b;a=a-b;System.out.println("a="+a+",b="+b);原创 2017-07-16 21:43:31 · 256 阅读 · 0 评论 -
万年历
用java编写一个万年历我这里讲的是怎么用java编写一个万年历.首先你要找到一个中轴线(一个时间点),作为你推算你的算法的标准.有两种万年历.1.从1900年开始写,这样的话就只能算出1900年及以后的日历.2.随便一个日期开始推算你的算法.这样可以往前面推算以及向后面推算.我这里讲的是第二种万年历.思路:首先你要写几个方法,包括判断是否为瑞年的方法ruiNian()原创 2017-07-16 22:49:19 · 983 阅读 · 0 评论 -
什么是单例模式?单例模式的举例
单例模式,懒汉式,饿汉式.原创 2017-07-12 20:46:32 · 935 阅读 · 0 评论