java
飞猪掉坑里
这个作者很懒,什么都没留下…
展开
-
List<Map>用sort排序
mapList.sort(Comparator.comparing((Map m) -> (new BigDecimal(m.get("sumCarbonEmissions").toString())));//正序mapList.sort(Comparator.comparing((Map m) -> (new BigDecimal(m.get("sumCarbonEmissions").toString()))).reversed()); //倒序原创 2021-05-10 15:59:57 · 1391 阅读 · 1 评论 -
@SpringBootApplication和@ComponentScan不可共用
1、@SpringBootApplication包含@ComponentScan,默认扫描子包,但不包含第三方包。2、如果在项目中加入@ComponentScan,则@SpringBootApplication里的@ComponentScan则会失效,扫描则只会根据项目中加入的@ComponentScan扫描,而扫描的时候一定要加上自己项目的子包,否则有可能扫描不到...原创 2021-03-01 09:10:07 · 2618 阅读 · 0 评论 -
java.lang.ArithmeticException:/ by zero
报错原因是: 0不能当被除数原创 2021-01-12 09:10:34 · 377 阅读 · 1 评论 -
类加载的过程
1、类加载的时机类加载的生命周期包括:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。验证、准备、解析 这三个部分统称为连接阶段。类加载过程图:加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的。类的加载过程必须按照这种顺序按部就班的“开始”(仅仅指的是开始,而非执行或者结束,因为这些阶段通常都是互相交叉的混合进行,通常会在一个阶段执行的过程中调用或者激活另一个阶段),而解析阶段则不一定(它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定。2、何转载 2020-10-09 17:39:44 · 114 阅读 · 0 评论 -
注解
1、@Primary注解1.1、问题:当一个接口拥有不同的实现类时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException方案1:使用@Qualifier注解,选择一个对象的名称,通常比较常用方案2: @Primary可以理解为默认优先选择,同时不可以同时设置多个,内部实质是设置BeanDefinition的primary属性。2、@Bean 基础声明Spring的@Be原创 2020-09-03 15:50:18 · 262 阅读 · 0 评论 -
Spring Security :(二) SpringSecurity 权限控制
接着上一节的代码,这部分是做简单的权限控制package com.example.springabc.securityConfig;import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;import org.springframework.security.config.annotation.web.builders.HttpSecuri原创 2020-07-15 10:07:58 · 169 阅读 · 0 评论 -
Spring Security :(一) SpringSecurity的Basic模式和formLogin模式
Security有两种登陆模式:1、Basic登陆模式2、formLogin()登陆模式创建一个Springboot项目添加Pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca原创 2020-07-14 18:07:31 · 1669 阅读 · 1 评论 -
AOP 同一个类中方法调用无法进入切面
在做项目的时候我遇到一个问题,需要在service层进行动态数据源的切换,在service层定义了一个切面,只要方法进入我就判断参数,通过一个参数来进行数据源的切换,但是后来发现在同一个类中进行方法的调用的时候,切面就进不去了。这让我很苦恼,在查了方法后,才知道从Controller进入的第一个Service层才能调用切面,而第二个Service方法则调用不了切面,而从代码内部来看,从controller来的Service能获取到动态代理,而从Service调用Service方法,Spring则无法获取动态原创 2020-07-06 11:36:10 · 2559 阅读 · 0 评论 -
word、execl等文件转换pdf、html
众所周知,我们想要word预览,要么转成pdf、要么成html!POI提供了execl、word的转换方式,但是内容复杂而且容易出错!并且转换的也不完整!还有一种方式,是直接在Linux服务器上装openOfiice插件,这样只需写一些简单的代码就很容易就能转换!但是今天介绍第三种方式,aspose.cellsaspose.words只要加入这两个包,就能转换,而且 代码非常简单,在Linux和windows上都能用,废话不多说,直接上代码package aspose;原创 2020-07-02 14:57:38 · 315 阅读 · 0 评论 -
什么是CAS
简单明了的白话文,俗称说人话,每次都说的那么高大上,让我们难以理解,所以我在此记录一下,我的理解!1、CAS是什么?1.CAS翻译过来就是(比较交换)的意思,比较交换好理解吧,没错,就是我们理解的那种意思。就比如你本来想买西瓜,你想的西瓜是10块钱一个,然后你就拿10块钱去商家那里买,然后你一(比较)说:为啥你家的西瓜15块一个,你给老子等着,老子回家拿钱去,然后就等到钱拿到了,一看你家西瓜又涨价了,周而复始的回家拿钱,然后你终于拿到了西瓜,这就是(交换)2、CAS到底做了什么事?众所周知(原创 2020-05-21 16:02:00 · 3064 阅读 · 0 评论 -
java中的字节进制计算和(&)位运算符
1、什么是字节?字节就是计算机最小的单位!2、字节和二进制有什么关系?1个字节就是1bit,1bit就是8位,那么二进制就是8位,类似于(0000 0000),在计算机里只认0和1类型 字节 double 8 byte 1 short 2 int 4 long 8 float 4 1个字节是8位、2个字节是16位...原创 2020-04-26 17:20:42 · 1500 阅读 · 0 评论 -
Java8 Stream流方法
Stream流的简介:Stream流是Java8 API的新成员,它允许以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,可以把它们看成遍历数据集的高级迭代器。此外,流还可以透明地并行处理,无需写任何多线程代码了!Stream流的方法:Stream流的方法 流方法 含义 示例 filter (中间操作)该操作会接受一个谓词(...原创 2020-04-24 17:07:31 · 132 阅读 · 0 评论 -
Lambda表达式
目录[TOC] Lambda简介 对接口的要求 @FunctionalInterface Lambda 基础语法 Lambda 语法简化 Lambda 表达式常用示例 Lambda 表达式中的闭包问题 #Lambda简介#Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他...转载 2020-04-21 15:10:51 · 102 阅读 · 0 评论 -
守护线程和非守护线程的区别?
一、什么是守护线程二、守护线程的作用及应用场景一、什么是守护线程守护线程相对于正常线程来说,是比较特殊的一类线程!JVM 程序在什么情况下能够正常退出?The Java Virtual Machine exits when the only threads running are all daemon threads.上面这句话来自 JDK 官方文档,意思是:当 J...原创 2020-04-20 09:52:07 · 4485 阅读 · 0 评论 -
最新springboot2.0集成springcloud注册中心(第一章)
这是我的新建的格式可供新手学习!首先引入依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http...原创 2018-07-27 18:19:04 · 778 阅读 · 0 评论 -
java的静态代理
1、什么是代理模式?比如你要买个房子的话,你一般需要去找房子中介,找到中介以后,让中介帮你去办操作,这就是代理模式!客户端需要访问被代理类,需要先访问代理类,由代理类调用被代理类。2、代理模式的构成Subject(抽象主题角色):它声明了真实主题和代理主题的共同接口;Proxy(代理主题角色):实现了抽象主题,它拥有对真实主题的引用,这样它就可以操作真实的主题对象;Real...原创 2019-09-04 21:19:42 · 61 阅读 · 0 评论 -
jdk动态代理
1、动态代理通过java反射或者字节码技术自动帮助我们在运行的时候创建代理类对象!2、动态代理有几种?JDK动态代理CGLIB动态代理3、JDK动态代理模式创建抽象主题角色(说的那么高大上,其实就是接口):public interface Subject { void send();}创建被代理类(其实就是接口的主实现类)public class...原创 2019-09-04 22:04:59 · 63 阅读 · 0 评论 -
CGLIB代理模式
上一章讲解了jdk代理类,1、那么jdk代理模式和CGLIb代理模式有什么区别呢?jdk缺点:jdk动态代理要求被代理类必须实现接口,而代理类如果没有实现接口则会报错,而报错是因为找不到被代理类的父类!cglib优点:cglib是通过字节码的方式,可以不需要代理类就能动态代理,cglib动态代理比使用jdk反射代理要更快一点2、如何实现CGlib代理?实现MethodInter...原创 2019-09-04 23:37:43 · 146 阅读 · 0 评论 -
事务的隔离机制和传播级别
隔离级别:1、ISOLOCATION_DEFAULT: 数据库默认级别2、ISOLOCATION_READ_UNCOMMITTED: 允许读取未提交的读, 可能导致脏读,不可重复读,幻读3、ISOLOCATION_READ_COMMITTED: 允许读取已提交的读,可能导致不可重复读,幻读4、ISOLOCATION_REPEATABLE_READ : 不能能更新另一个事务修改单...原创 2019-09-09 15:59:32 · 107 阅读 · 0 评论 -
Java 反射
什么是Java反射?· JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。·Java反射机制主要提供了以下功能:在运行时判定任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判定任意一个类所具有的成员变量和方法;在运行时调用任意...转载 2019-09-09 16:05:40 · 74 阅读 · 0 评论 -
Java 8 新特性
1、面试诱因让我发现java8新增特性Java 8 Stream前几天面试遇到的问题,Map和ArrayList如何按顺序排序,我当时说用循环,面试官说不对,我一直觉得循环也可以做到啊,为什么不对呢?直到我查阅了java 8, 发现java8增加了新的特性,这就是我们今天要讲的Java 8 Stream2、Java 8 Stream 官方解释Java 8 API添加了一个新的抽象称为...原创 2019-09-09 18:05:33 · 124 阅读 · 0 评论 -
String和StringBuilder StringBuff的区别?
1、StringString是不可变的,因为它在源码中是被final修饰的。String a='a';String b='b';String c= a+b;首先String a在jvm中会生成一个内存地址,String b 也会生成一个内存地址,String c 又会生成一个内存地址。如果这样,我们得到“ab”这个字符串,因为String底层未不可变的字符串,所以会创建三个...原创 2019-09-17 19:31:13 · 767 阅读 · 0 评论 -
怎么把tcp协议交由spring的bean管理
这是我在项目中遇到的问题,tcp如果自己启动,在springboot项目中是找不到注入对象的,那么为啥找不到注入对象是因为你没有交由spring来管理,spring容器中没有找到该类的对象,所以会出现在容器中找不到注入的类。因为tcp是Server端,所以要启动项目的时候启动,而项目又是一个springboot项目,怎么才能在springboot项目中启动Server端的tcp的soket呢?...原创 2020-01-07 15:16:07 · 406 阅读 · 0 评论