![](https://img-blog.csdnimg.cn/2019082814055226.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 61
No_Bug_
懂得分享,快乐才会加倍。
展开
-
Java 处理字符串分割的相关方法(split)
例如接收到如下字符串,这种情况可能是前端在拼接参数时有问题造成的,也是很难避免的String str1 = "1,,2";需要进行分割,正常我们使用的方法都是String[] array1 = str1.split(",");这种情况会出现3个值,分别是1,空字符串,2,如果这里直接拿着这3个值去数据库in,或者做一些其它操作,会出现难以想象的问题。所以在一般情况下我们要屏蔽掉空字符串。第一种方法返回的是数组String[] array2 = Arrays.stream(str1.spl原创 2021-10-28 12:40:57 · 726 阅读 · 0 评论 -
Java list 深拷贝,浅拷贝分析以及原理讲解
定义深拷贝:创建了新的对象,分配新的内存空间给对象,拷贝后的list改变的东西不会影响原始list浅拷贝:只拷贝引用,没有创建新的对象,没有分配新的内存空间,拷贝后的list变动会影响到原始list代码实现首先新建一个项目,然后创建一个学生类,只建一个name属性import java.io.Serializable;/*** 学生类*/public class Student implements Serializable { /** * 姓名 */原创 2021-08-19 17:54:39 · 2224 阅读 · 0 评论 -
java webservice服务端和客户端创建(JAX-WS)
idea : 2020jdk:1.8目录1.搭建webservice服务端1.1 新建一个java空项目1.2 项目建好后,右键项目,选择“Add Framework Support...”1.3 生成wsdl,右键类的时候可能没有WebServices这个选项了,可以在Tools中找到这个功能1.4 启动服务,右键HelloWorld启动项目1.5 访问web服务1.6 增加一个方法看看效果2.搭建webservice客户端2.1 新建一个java空项目2.2 项目生成好后会弹框出来,把wsdl地址放原创 2021-07-01 14:14:02 · 2347 阅读 · 0 评论 -
Java sping boot 从1.x升级到2.x后原本返回xml格式的数据变成json原因分析(AbstractMessageConverterMethodProcessor源码分析)
问题描述:项目sping boot 从1.5.10升级到2.3.8后,同一个接口原本是直接能返回xml格式的数据,但现在变成json字符串格式了。环境说明:老的sping boot 1.5.10sping-webmvc 4.3.14新的sping boot 2.3.8sping-webmvc 5.2.12(最终原因就是新版本的webmvc有变动)解决方案:1.sping boot 2.3.8中引用sping-webmvc 4.3.14的包2.需要返回xml的接口上增加produces原创 2021-03-13 17:45:16 · 579 阅读 · 0 评论 -
Java Maven上指定包下载不下来问题解决(com.aspose)
异常信息:Could not find artifact com.aspose:aspose-words:pom:18.10 in central (https://repo.maven.apache.org/maven2)Cannot resolve com.aspose:aspose-words:18.10pom包配置:<dependency> <groupId>com.aspose</groupId> <artifactId>原创 2021-03-06 16:42:27 · 26336 阅读 · 1 评论 -
Sping Boot 升级到2.X多数据源切换代码升级(aop方式切换数据源)
当项目需要将sping boot升级到2.0以上时,之前用的aop切换数据源这种方法就会出现问题,新版本sping boot中没有RelaxedPropertyResolver,RelaxedDataBinder等,需要替换掉1.Sping Boot 1.X版本的多数据源配置public class DataSourceConfig implements ImportBeanDefinitionRegistrar, EnvironmentAware { private ConversionSer原创 2021-03-05 14:54:00 · 878 阅读 · 2 评论 -
Java BeanCreationException异常 projectingArgumentResolverBeanPostProcessor
某天一个服务莫名其妙的就启动不了了,但实际是这个服务半个月前才部署的,而且看代码提交记录中,没有几个提交的。所以不可能跑不起来呀,经过多次确认然后排除是我们本身代码的问题,接着开始漫长的百度,基本上不忍吐槽,百度基本上搜不到想要的。最后没办法还是分析错误提示,是bean创建失败,而且跟springframework相关,于是想到是pom包的问题。然后检查包,最终发现是<dependenc...原创 2019-10-24 20:59:36 · 4218 阅读 · 0 评论 -
dubbo+zookeeper模拟宕机后问题复现及解决办法
为什么要模拟?主要原因有两个,第一个是想验证下网上说的那些理论,毕竟别人说的跟自己去做理解起来可能不一样。第二个是确实测试环境下出现问题,两台服务器,服务器A上部署了所有服务加一个zk,服务器B上部署了mysql加2个zk。有次服务器B宕机了,然后整个服务全都断了。一开始以为是mysql断了,所以只要服务器重启起来,zk重启,应该服务都好了。后来发现就算服务器起来了,mysql能连上,服务还是...原创 2019-08-26 15:33:32 · 5605 阅读 · 5 评论 -
Java 为什么需要用到代理
为什么?在平时我们写java代码的时候,是不是一个类都是只处理自己相关的业务,不会去处理多余的代码。每个类都尽量做到独立,这样才能做到高内聚低耦合,为了以后的代码维护和扩展。那么问题来了,如果哪天我们需要在类里加上权限,日志等功能时,我们是不是需要修改每个类。这样不仅工作量巨大,严重影响代码质量。这时我们需要一个代理,让我们可以在不改动原有代码的前提下,实现一些其他功能,即增强。我们在进入目...原创 2019-06-20 17:25:48 · 1063 阅读 · 1 评论 -
Java 代理模式详解静态代理,动态代理(JDK代理,CGLIB代理)
简介代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。java 中AOP就是基于代理的设计模式。代理模式的关键点是:代理对象与目标对象.代理对象是对...原创 2019-06-25 17:16:40 · 355 阅读 · 0 评论 -
JDK动态代理详解(动态代理类源码解析)
简介JDK动态代理就是在程序运行时,运用反射机制动态创建代理类,实现对目标类代码的增强。动态代理类的字节码在程序运行时由Java反射机制动态生成,不需要去手动开发。相比较静态代理,它更灵活。更容易扩展,代码开发工作量更小,更容易维护。动态代理又分为JDK动态代理和CGLIB动态代理,一个通过反射生成代理类,一个通过asm开源包,修改字节码生成子类。区别在于JDK只能代理接口,所以有需要代理的类...原创 2019-06-26 16:22:39 · 3375 阅读 · 3 评论 -
Dubbo Admin部署(Dubbo 2.7.X)
Dubbo 2.7发布以后,大刀阔斧的改动一番,原来的元数据,配置等全放注册中心中。2.7之后将元数据拆分出去,注册中心简化,具体有哪些变化可以去官网看下。由于改动比较大,所以Admin目前还处于开发阶段,还有不少bug。下面介绍dubbo 2.7下如何部署Admin且能看到元数据,可以直接测试接口。1.首先升级Dubbo版本,将版本升级到2.7.X,否则就会出现下图提示将下面两个包放到p...原创 2019-08-26 15:32:59 · 2526 阅读 · 5 评论 -
Java 导出数据到Excel中(详细代码)
前言平时开发中,经常会用到导入导出,绝大部分是excel表格,所以开发对office的处理需要熟悉的。office的处理上我认为还是C#最好,功能最全,基本什么功能都能实现。毕竟一家的东西,其它像java,c++,都有解决方案,下面说java如何处理的excel的。使用的是Apache POI,感觉是java处理excel中最好的。先看结果:Java实现代码1.pom 引包<d...原创 2019-08-26 15:32:45 · 1001 阅读 · 0 评论 -
Java Fluent风格代码怎么写?
为什么会对fluent产生兴趣那?主要是在研究zookeeper时,通过Curator操作zk时,发现它的语法很新颖,感觉跟lambda很像,看着很流利,一串下来,所以决定研究下,看看怎么用的。zookeeper获取节点数据代码String metadata = new String(client.getData().forPath(path));zk源码public byte[] f...原创 2019-08-26 15:32:19 · 1609 阅读 · 0 评论 -
Dubbo 如何查看元数据中心中的数据(Dubbo 2.7.X)
dubbo中元数据是啥?元数据就是描述数据的数据,比如服务的名称,服务地址,方法列表,方法参数,服务版本等等。上一篇介绍了如何去部署我们新版本的Dubbo Admin(2.7),这篇主要说下怎么去查看注册中心中的数据。新版的Dubbo Admin将注册中心拆分出来,元数据独立出来,可以使用zk,redis等。如果dubbo用的还是2.7之前的,那么在新版Admin中是看不见元数据的。如果需...原创 2019-08-26 15:33:21 · 4311 阅读 · 0 评论