自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 资源 (2)
  • 收藏
  • 关注

原创 java: Ambiguous mapping methods found for mapping collection element to.....

错误内容:代码编译时Mapsrct转换类出错:java: Ambiguous mapping methods found for mapping collection element to cn.samubo.practice.Mapstruc.NodeDTO: cn.samubo.practice.Mapstruc.NodeDTO toDTO(cn.samubo.practice.Mapstruc.NodeParam param), cn.samubo.practice.Mapstruc.NodeDT

2022-05-09 07:59:47 7010

原创 java异步上传文件出现java.io.FileNotFoundException异常

最近做了一个异步上传解析excel功能,最后联调时偶发出现了FileNotFoundException异常:1、现象java.io.FileNotFoundException: /tmp/tomcat.4469822161725136903.8080/work/Tomcat/localhost/ROOT/upload_4bed117f_51fb_4d70_b307_fc00edd99e4a_00000029.tmp (No such file or directory) at java.io.Fil

2022-04-19 19:25:25 4555 1

翻译 windows安装rocketMQ出错 找不到或无法加载主类 org.apache.rocketmq.namesrv.NamesrvStartup

问题windows安装rocketMQ出错 找不到或无法加载主类 org.apache.rocketmq.namesrv.NamesrvStartup解决办法:将mq安装在没有空格的路径里解决过程这是我的rocketMQ安装位置这是我的java安装位置通过百度对runserver.md做了以下修改后来又出现了新的错误后来选择放弃,直接换个没有空格的路径...

2022-04-16 11:29:16 3600 1

原创 Explain详解

Explain详解

2022-03-31 07:07:02 405

翻译 java对象内存布局及对象大小

new Object()到底占用几个字节

2022-03-12 17:01:33 2191

原创 为什么说创建Java线程的方式本质上只有一种

public class HowToCreateThread { static class MyThread extends Thread { @Override public void run() { System.out.println("Hello MyThread!"); } } static class MyRun implements Runnable { @Override

2022-03-11 00:14:14 253

原创 mybatis blob乱码问题

解决办法:对于注解形式的sql:@Select("select * from sys_user where id = #{id}")@Results({@Result(column = "info", property = "info", typeHandler = CustomizeBlobToStringHandler.class)})User selectCustomAnnotation(@Param("id") Long id);对于xml形式的sql<resultMap id=

2022-02-18 19:37:53 663

原创 索引下推的理解

2022-02-15 08:22:52 1614 1

转载 mysql 中int(1) 和 int(10) 有什么区别

1.区别:我们知道在mysql中 int占4个字节,那么对于无符号的int,最大值是2^32-1 = 4294967295,将近40亿,难道用了int(1),就不能达到这个最大值吗? CREATE TABLE `user` ( `id` int(1) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;id字段为无符号的in

2022-02-13 17:18:24 1311

原创 零拷贝Zero-copy

nio零拷贝

2021-12-15 23:52:21 87

原创 apache-zookeeper-3.7.0/data/zookeeper_server.pid: No such file or directory FAILED TO WRITE PID

在确认 data路径没有问题情况下1.使用./zkServer.sh start ../conf/zoo.cfg 而不是 sh zkServer.sh start ../conf/zoo.cfg2.制定下配置文件

2021-12-11 01:30:34 1232

原创 java实现一个平滑加权轮询算法

/** * 平滑加权轮询算法 * https://www.jianshu.com/p/836193df61db */public class SmoothWeightedRobinTest { /** * 实例列表 */ private List<ServerConfig> serverList = new ArrayList<>(); /** * 最大权重 */ private Integer wei

2021-12-08 00:29:10 1007

原创 lambda表达式中奇怪的NullPointerException异常

/** * 此时为空指针异常NPE,而不是NumberFormatException */public class LamError { @Test public void test1() { A a1 = new A(); a1.setId(null); a1.setName(null); A a2 = new A(); a2.setId(2L); a2.setName("1");.

2021-12-02 00:30:53 3157

原创 mapstruct 运行时报了 java.lang.ClassNotFoundException:

解决办法当前mavan模块必须直接导致mapstruct的jar包,不能通过依赖传递来引用 <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>${org.mapstruct.versio.

2021-11-29 15:27:20 3379

原创 oracle vm virtualbox安装后会一直重启,并且installation destination显示磁盘不够,让重建分区

安装完虚拟机之后一定需要移除虚拟盘(iso镜像)比如:oracle vm virtualboxoracle vm virtualbox安装centos8步骤:1.设置安装目录、Linux版本、内存大小注意:类型如果没有centos,则选择linux,并且版本选择64位2.设置磁盘目录大小不要用默认值,尽量超过20g,不然内存不够,一直让你手动分区,还有选择动态分配,不会一下子把磁盘用完3.设置安装的原镜像.iso4.点击启动即可5.安装完成后在重启reboot之前记得移除虚

2021-11-19 22:03:44 2414

原创 对CAS事的理解及一些面试题

定义:CAS操作包含三个操作数一内存位置 (V)、期望值(A) 和新值(B)。如果内存位置的值与期望值匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不作任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。(CAS在一些特殊情况下仅返回CAS是否成功,而不提取当前值) CAS有效的说明了“我认为位置V应该包含值A;如果包含该值,则将B放到这个位置;否则,不要更改该位置的值,只告诉我这个位置现在的值即可。”:怎么使用JDK提供的CAS支持?A: java中提供了对CAS操作

2021-11-03 12:00:00 400

原创 Fail-Fast( 快速失败) 与 Fail-Safe(安全失败)原理

Fail-Fast 与 Fail-SafeArrayList 是 fail-fast 的典型代表,遍历的同时不能修改,尽快失败CopyOnWriteArrayList 是 fail-safe 的典型代表,遍历的同时可以修改,原理是读写分离Fail-Fast( 快速失败)java代码public class FailFastAndFailSafeDemo { @Test public void testFailFast() { ArrayList<.

2021-10-24 16:18:04 555

原创 获取List对象中每个对象里的子List对象总集合

class A{List<B> bList;}class B {String name;}List<A> list = new ArrayList<>;如上我们需要得到list里所有的BbList的值**方法一:**可以遍历A,用新的数组去接受所有bList(这种情况针对一种嵌套其实还好,但是有多层其实就不太好办了)reduce:所以可以使用java8 stream Api的reduce例子如下:@Datapublic class S

2021-10-20 00:05:22 2027

原创 ArrayList 扩容规则

ArrayList() 会使用长度为零的数组ArrayList(int initialCapacity) 会使用指定容量的数组public ArrayList(Collection<? extends E> c) 会使用 c 的大小作为数组容量add(Object o) 首次扩容为 10,再次扩容为上次容量的 1.5 倍addAll(Collection c) 没有元素时,扩容为 Math.max(10, 实际元素个数),有元素时为 Math.max(原容量 1.5 倍, 实际元素个数.

2021-10-19 00:57:36 635

原创 用maven-surefire-plugin解决junit单元测试通用配置(VM options, JVM配置,环境变量配置,-D配置)问题

项目中会有很多的配置直接在启动命令行中,比如Idea的VM options, -D,-XX 等配置,这些配置往往影响到项目的启动行,比如apollo配置,但是在使用springboot和junit左单元测试时,每次开启一个新的测试用例都需要将命令复制一遍,很麻烦这时可以使用maven-surefire-plugin进行通用配置具体用法pom.xml此例:比如说读取apollo配置 <dependency> <groupId>junit</grou.

2021-10-13 01:04:19 1669

原创 线程调用start 和 run 什么区别?会有什么效果

start()它的作用是启动一个新线程。通过start()方法来(private native void start0();)启动的新线程,处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行相应线程的run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,run方法运行结束,此线程随即终止。start()不能被重复调用。用start方法来启动线程,真正实现了多线程运行,即无需等待某个线程的run方法体代码执行完毕就直接继续执行下面的代码。这里无需等待run方法.

2021-10-12 08:24:16 1086

原创 JAVA如何开启线程?怎么保证线程安全?

**线程和进程的区别:**进程是操作系统进行资源分配的最小单元。线程是操作系统进行任务分配的最小单元,线程隶属于进程。如何开启线程?1、继承Thread类,重写run方法。2、实现Runnable接口,实现 run方法。3、实现Callable接口,实现call方法。通过FutureTask创建一个线程,获 取到线程执行的返回值。4、通过线程池来开启线程。怎么保证线程安全?主要通过加锁来解决线程安全问题:1、 JVM提供的锁,也就是Synchronized关键字。2、 JDK提供的各种锁

2021-09-23 00:39:38 237

原创 BigDecimal.stripTrailingZeros()后变成科学计数 1E+5

public static void main(String[] args) { BigDecimal bigDecimal = new BigDecimal(100000.0000000); System.out.println(bigDecimal.stripTrailingZeros().toString()); System.out.println(bigDecimal.stripTrailingZeros().toPlainString());..

2021-09-04 21:01:26 1842

翻译 java项目debug无法启动,一直卡主(Method breakpoints may dramatically slow down debugging)

现象最久启动项目,用debug启动一直在某些奇怪的地方卡主,无法启动项目,然后刚开始启动时还会提示 Method breakpoints may dramatically slow down debugging原因 :方法上面加了断点解决办法:去除方法的上的断点(最好去除全部的断点后启动)...

2021-08-18 10:31:05 634

转载 centos 虚拟机出问题 Oh no,something has gone wrong! 解决方法

centos 7 在虚拟机中出现 这个错误 导致进入不了系统。经过一中午的百度测试了各种方法都不行。导致出错的原因,应该是在安装各种软件时触动了 Gnome 桌面底层依赖的包。然后ctrl+alt+F2 进入命令模式,然后输入root 账号和密码。root输入密码yum update...等待(我的要下载1g)输入 y...等待就可以了转载:https://www.cnblogs.com/wangdeguao/p/13168012.html...

2021-07-25 00:32:14 3142 3

翻译 Redis常见数据结构的常用命令及引用

String1.常用命令// 字符串常用操作SET key value //存入字符串键值对MSET key value [key value ...] //批量存储字符串键值对SETNX key value //存入一个不存在的字符串键值对GET key //获取一个字符串键值MGET key [key ...] //批量获取字符串键值DEL key [key ...] //删除一个键EXPIRE key seconds //设置一

2021-06-14 22:59:17 126

翻译 dubbo调用时发送 java.lang.ClassCastException: java.util.HashMap cannot be cast to com.xxx

dubbo调用时总是出现这个错,但是代码中午明显错误java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.testerror.pojo.RegisterUserDTO$FileInfo原因:在对对象进行转换时使用BeanUtils.copyProperties()底层原因:原来是BeanUtils是浅拷贝造成的。浅拷贝只是调用子对象的set方法,并没有将所有属性拷贝。(也就是说,引用的一个内存地

2021-04-23 20:07:09 1968

原创 gradle编译报错:警告: [rawtypes] 找到原始类型: Class

> Task :spring-ls-mybatis:compileJava FAILED/Users/zcy/Desktop/mycode/spring/spring-framework/spring-ls-mybatis/src/main/java/com/tuling/component/MyFactoryBean.java:15: 警告: [rawtypes] 找到原始类型: FactoryBeanpublic class MyFactoryBean implements Factory..

2021-04-15 20:11:37 1914

原创 Skipped breakpoint at xx.xxxx.xxx because it happened inside debugger evaluation解决办法

Skipped breakpoint at org.springframework.aop.framework.JdkDynamicAopProxy:161 because it happened inside debugger evaluation解决办法:断点的位置有问题这个service是动态代理的对象,它执行的时候直接跳过了断点最后在真实的Service(下图)里加了个断点就ok了...

2021-04-11 20:53:48 2696

原创 java swtich 语句case后 Constant expression required

case后面final修饰的String和枚举是可以的,但是final修饰的 int,char等 的包装类Integer, Characted都不行,只能用 int,char基本类型

2021-04-09 00:13:28 479

原创 阿里云RemotingTooMuchRequestException: sendDefaultImpl call timeout

一、问题Exception in thread "main" org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout二、解决方案:设置发送mq的超时时间6s+三、排查过程:百度如下2种可能1.linux防火墙端口有没有关闭 systemctl status firewalld systemctl stop firewalld2.是否是

2021-01-17 13:09:10 7660

原创 rocketmq启动失败(nohup bin/mqnamesrv),没有日志产生

问题: noh bin/mqnamesrv & 启动NameServer失败,rocketmq启动失败Out of Memory Error (os_linux.cpp:2640), pid=8937, tid=0x00007f923a086700原因:RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小编辑runbroker.sh和runserver.sh修改默认JVM大小vi runbroker.shvi r

2021-01-17 13:08:32 6173

原创 springboot拦截请求参数,如去除参数emoji表情,防止数据库报错

https://zhuanlan.zhihu.com/p/81936836

2020-11-24 22:35:38 2308

原创 java中普通代码块不执行

写代码时出现了错误给一个静态变量赋值忘记使用static,导致普通代码块没有执行普通代码块必须要在new 一个对象才会执行代码public class StaticVarExecPrder { public static final Map<String, String> HASH_MAP = newMap(); private static Map<String, String> newMap() { System.out.printl

2020-11-16 23:36:43 558

原创 java创建对象时类的加载顺序

执行顺序父类静态变量 or 父类静态代码块[看位置,顺序执行,从上往下]子类静态变量 or子类静态代码块[看位置,顺序执行,从上往下]父类非静态变量 or 父类非静态代码块[看位置,顺序执行,从上往下]父类构造方法子类非静态变量 or 子类非静态代码块[看位置,顺序执行,从上往下]子类构造方法注:静态代码块只执行一次因为static修饰的在类被加载时也被加载 (https://www.cnblogs.com/lwthad/p/10253322.html)public class .

2020-11-16 23:33:03 271

原创 源码编译 maven项目project标签上报错 java.lang.OutOfMemoryError: GC overhead limit exceede

问题:java.lang.OutOfMemoryError: GC overhead limit exceede解决方法:将maven的vm大小调大一点重新reimport pom文件就可以了

2020-10-28 21:57:27 310 1

原创 SpringBoot源码编译步骤

SpringBoot源码编译步骤1.导入源码,等idea构建完成2.选择最外层的pom 文件reimport3. 打开终端 最外层目录或者spring-boot-project 执行命令安装下jar包mvn clean install -DskipTests -Pfast5. 打开spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin(这个模块需要集成gradle),这个项目需要依赖gradle的jar包,所以需要集成

2020-10-28 21:56:42 3029 4

原创 windows下gradle配置

springboot源码编译

2020-10-28 21:55:10 217

原创 springboot项目的几种启动方式

Springboot项目的几种启动方式1.Spingboot的特征特征:1.创建独立的Spring应用程序2.直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)3.提供"starter"依赖项以简化构建配置4.尽可能自动配置Spring和第三方库5.提供生产就绪特性,如度量、运行状况检查和外部化配置6.完全不需要代码生成,也不需要XML配置2.启动方式先打包,然后进入target目录 java -jar springboot_test-0.0.1-

2020-10-24 15:29:35 1098

原创 Spring利用ResponseBodyAdvice将使用返回到前端的对象动态的添加属性值

需要被增强的类@Datapublic class Stu { private int no; private String name; private String age;}为了解决现实中的业务需求,再添加一个PageReuslt作为分页@Getterpublic class PageResult<T> implements Serializable { private final List<T> data = new ArrayLi

2020-09-18 00:55:57 786

32位客户端

oracle32位客户端,如果电脑没有安装oracle,需要安装个客户端连接oracle

2018-11-09

线性代数_第五版_同济大学_习题答案

线性代数_第五版_同济大学_习题答案

2018-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除