笔记
文章平均质量分 58
X_ABU
学无涯,健康快乐最重要
展开
-
java中main方法的重载,覆盖,继承,调用问题
java中main方法的重载,覆盖,继承,调用问题重载public class Main1 { private static Integer flag = 0; public static void main(String[] args) { main(""); } public static void main(String args) { System.out.println("hello main1 重载"); }}原创 2022-03-07 10:56:12 · 452 阅读 · 0 评论 -
JSON数组动态转EXCEL下载
JSON数组动态转EXCEL下载把json数组动态的转换成excel下载下来 public static void jsonToXSSF(String str, HttpServletResponse response) throws IOException { response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("mongo.xlsx", "UTF-8"));原创 2022-03-04 17:33:37 · 404 阅读 · 0 评论 -
Java 队列使用
文章目录1. 接口Queue<E>1.1. 添加操作1.1.1. add1.1.2. offer1.2. 检索操作1.2.1. element1.2.2. peek1.3. 移除操作1.3.1. remove1.3.2. poll1.4. 总结2. 接口BlockingQueue<E>2.1. contains2.2. drainTo2.3. remainingCapacity 和 remove2.4. 等待操作2.4.1. 指定时间操作 offer 和 poll2.4.1.1. o原创 2021-09-13 18:42:48 · 1322 阅读 · 0 评论 -
Java8新特性的使用
文章目录1. Lambda表达式1.1. 四大基础函数式接口1.1.1. Function <T,R> 函数接口1.1.2. Predicate<T> 断言接口1.1.3. Consumer<T> 消费者接口1.1.4. Supplier<T> 供应商接口1.2. 自定义接口方法2. 函数式参数3. Stream流运算和链式编程3.1. map 和 forEach、flatMap3.1.1. map3.1.2. forEach3.1.3. flatMap3.2原创 2021-09-10 10:55:55 · 737 阅读 · 0 评论 -
关于Oracle根据累计值终止查询
昨天有个朋友遇到一个问题:单据根据创建时间倒序排序累计单据金额等于或者超过1000时停止查询,返回查出来的数据然后我提供了一个mysql的方式,但是他说他使用的是Oracle的数据库,尴尬!Mysql的实现方法模拟一个场景通过序列号倒序排序累计数字字段,当累计和大于等于100时停止查询提供表数据如下:这里通过over函数实现逐行累计;SELECT T1.* FROM ( SELECT ID, NUM, sum( NUM ) over ( ORDER BY "INDEX" .原创 2021-07-21 14:53:04 · 591 阅读 · 0 评论 -
关于MySql根据累计值终止查询
今天有个朋友遇到一个问题:单据根据创建时间倒序排序累计单据金额等于或者超过1000时停止查询,返回查出来的数据当时我没有这样的表,于是我就用现成的一张表,设计了如下的场景,理论一样有这样的业务场景:用户表根据最后修改时间倒序排序;然后从上往下累计年龄累计,当值超过或等于100时停止。首先有如下的表:然后使用@参数保存累计的值,通过where来判断结果获取值,sql如下SELECT T1.id, T1.num, T1.NAME, T1.age, T1.last_updat.原创 2021-07-20 21:23:36 · 883 阅读 · 0 评论 -
两系统文件传输
文章目录一、文件转存1. 二进制流2. 转码编译二、文件下载接口穿透1. 二进制流2. 转码编译三、Hzero系统下文件的穿透下载一、文件转存1. 二进制流2. 转码编译二、文件下载接口穿透1. 二进制流2. 转码编译三、Hzero系统下文件的穿透下载在文件的传输的使用中常常用到两系统之间的文件交互,使用的方式有两种,一种是通过二进制流的方式实现,一种是通过转码编译的方式。下面是三中使用场景一、文件转存当系统A要把文件传个系统B用来保存,这样的可以使用两钟方式1. 二进制流在文件的读写过程原创 2021-03-23 11:30:21 · 870 阅读 · 0 评论 -
MySQL查询数据库中存在的表名和某表中存在的字段名称
1、查询数据库中存在的表名SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'yourDataBeas'2、查询数据库中某表存在的字段名称SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE table_name = 'yourTable' AND TABLE_SCHEMA = 'yourDataBeas'...原创 2020-12-23 15:48:01 · 299 阅读 · 0 评论 -
SpringBoot 自定义注解的使用(AOP实现)
文章目录一、依赖二、自定义注解1、@Target2、@Retention3、@Documented三、解析注解1、增强调用顺序2、环绕增强获取注解信息3、环绕增强修改传入接口方法的参数4、环绕增强的接口方法的返回值一、依赖在正常的SpringBoot项目中加入如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo原创 2020-11-24 23:37:50 · 1030 阅读 · 0 评论 -
红黑树学习和代码实现
文章目录一、介绍二、旋转方式1、左旋2、右旋三、变换规则1、变色2、左旋3、右旋4、例子四、代码实现一、介绍红黑树是一种特殊的二叉搜索平衡树,特点:每个结点不是红色就是黑色(两种颜色的结点就可以了,为了研究方便这里使用了红黑色)不可能有连在一起的结点根结点都是黑色 root每个红色结点的子结点都是黑色叶子结点都是黑色 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。二、旋转方式这里说明站在绿色结点的角度说原创 2020-11-20 12:19:03 · 339 阅读 · 0 评论 -
反序列化LinkedHashMap转POJO对象
当反序列化时遇到待序列化对象(JSON或byte[])转成list对象的时候,我们期望的是List<POJO>,可是实际是转成了List<LinkedHashMap>对象,当我使用的时候会抛出异常java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to xxx.xxx.xxx.dto.POJO这时可以使用方法如下架包下载地址:https://mvnrepository.com/artifa原创 2020-09-21 20:49:19 · 891 阅读 · 0 评论 -
序列化和反序列化——字节码
序列化: 是指将Java对象转换为字节序列的过程反序列化: 是将字节序列转换为Java对象的过程。实现方式:只要对象实现了Serializable、Externalizable接口则该对象就实现了序列化。下面举例说明:首先是工具类:public class MethodRef<T> { private Field[] declaredFields; private T objact; public MethodRef(T objact) { .原创 2020-09-15 09:57:37 · 689 阅读 · 0 评论 -
SpringCloud调用第三方接口实现文件下载——接口穿透
需求:现在有两个系统,一个是SSM架构系统,一个是SpringCloud架构系统现在SpringCloud系统要求下载SSM系统的文件,采取调用SSM系统接口的方式通过调用SpringCloud接口实现下载主要操作可以分成三步:获取token请求SSM系统获取文件的字节流和文件信息将请求的字节流重新装配在SpringCloud系统的返回参数里这样就完成了接口的穿透转载了。token的获取就不说了,不同的系统获取的方式也不同,下面说一下获取SSM系统的字节流: @Over.原创 2020-08-31 23:44:57 · 1477 阅读 · 0 评论 -
Activiti7工作流环境快速搭建
文章目录一、创建一个Maven项目二、导入架包三、配置log4j.properties四、配置activiti.cfg.xml五、加载配置创建表六、获取ProcessEngine的作用使用版本:activiti 7.0.0.Beta1使用数据库:MySql 5.7一、创建一个Maven项目这里使用IDEA创建点击File -> New -> project -> Maven -> Next填写项目名称和保存路径后点击Finish完成创建,创建后会有一个pom.xml文原创 2020-07-28 23:06:56 · 622 阅读 · 0 评论 -
JVM基础学习——双亲委派机制
文章目录一、加载器介绍1)引导类加载器(BootstrapClassLoader)2)扩展类加载器(ExtensionsClassLoader)3)系统类加载器(SystemClassLoader)二、机制说明1、加载的机制2、机制的优势3、案例说明一、加载器介绍1)引导类加载器(BootstrapClassLoader)也叫启动类或根类加载器,它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader(负责加载$JAVA_HOME中jre/lib/原创 2020-07-17 17:34:53 · 311 阅读 · 0 评论 -
JVM基础学习——自定义类加载器
文章目录一、加载器介绍1)引导类加载器(BootstrapClassLoader)2)扩展类加载器(ExtensionsClassLoader)3)系统类加载器(SystemClassLoader)二、自定义加载器1、创建思路2、创建自定义加载器3、创建class测试文件4、创建测试类一、加载器介绍1)引导类加载器(BootstrapClassLoader)也叫启动类或根类加载器,它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader(负责加载$原创 2020-07-17 16:42:57 · 435 阅读 · 0 评论 -
通用编码校验小结
文章目录一、身份证校验二、贷款卡编码校验三、统一社会信用代码校验四、全国组织机构代码一、身份证校验function IdentityCodeValid(code) { var city = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东",原创 2020-07-14 14:56:16 · 453 阅读 · 0 评论 -
Spring事务参数Propagation(传播性)
文章目录一、传播级别1、REQUIRED2、REQUIRES_NEW3、SUPPORTS4、NOT_SUPPORTED5、MANDATORY6、NEVER7、NESTED二、嵌套事务对比使用方法:@Override@Transactional(rollbackFor = Exception.class,propagation = Propagation.NOT_SUPPORTED)public List<StockComponentHead> batchUpdate(List<原创 2020-07-10 17:05:19 · 393 阅读 · 0 评论 -
oracle的varchar2和mysql的varchar字符串长度计算
1、oracle的varcher2的计算单位是字节,mysql的varchar的计算单位是字符;2、在utf-8下oracle的vachar2保存一个汉字要3个字节,mysql的varchar需要一个字符;3、在保存数字和字母的时候oracle的vachar2占一个字节,mysql的varchar需要一个字符。下面测试:select length('你好'),char_length('你好'); -- 前一个计算字节长度,后一个计算字符长度select length('hello!'),char_原创 2020-07-07 19:18:10 · 2350 阅读 · 1 评论 -
BigDecimal四则运算和精度计算
文章目录一、四则运算二、精度计算一、四则运算 // 测试四则运算 @Test public void test1() { BigDecimal num1 = new BigDecimal(4); BigDecimal num2 = new BigDecimal(2); //加法运算 add BigDecimal resultAdd = num1.add(num2); //减法运算 subtract原创 2020-06-11 15:44:01 · 384 阅读 · 0 评论 -
Oracle在Mybatis中获取序列的值
Mapper传入序列名称获取,这里使用$符号拼接 <select id="getSeqByName" parameterType="string" resultType="long"> SELECT ${value}.nextval FROM DUAL </select>javamapper 接口接收序列名称Long getSeqByName(@Param("value") String value);server 使用方法Long i原创 2020-06-08 10:35:55 · 1119 阅读 · 0 评论 -
MySQL字符串拼接函数使用
文章目录测试数据1、CONCAT(直接拼接函数)2、CONCAT_WS(使用指定的分割符去拼接字符串)3、GROUP_CONCAT(将查询的数据先行直接连接,然后将列通过指定的分割符拼接)测试数据SELECT id,login_name,real_name FROM `iam_user` where id in (17,18,19)idlogin_namereal_name...原创 2020-03-16 23:06:39 · 490 阅读 · 0 评论 -
java8计算list对象BigDecimal属性的最大值、最小值、总和、平均值
代码举例@Slf4jpublic class TestList { @Test public void test01() throws IOException { User user1 = new User(2, "Steven", "@sun123", new Date(), 2000.0, new BigDecimal(2000)); Use...原创 2020-03-07 10:50:44 · 14745 阅读 · 0 评论