![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 73
小灰灰__
一枚java程序员,分享工作中遇到的各种问题,与大家一起成长,欢迎交流沟通~
展开
-
JAVA读取写入excel操作,通过easyexcel读写excel
EasyExcel 是一个基于 Apache POI 的封装库,用于简化 Excel 的读写操作。它主要优化了内存的使用,使得在处理大量数据时更加高效。原创 2024-08-20 17:36:02 · 192 阅读 · 0 评论 -
JAVA通过debezium实时采集mysql数据
JAVA通过debezium实时采集mysql数据原创 2024-07-31 19:05:25 · 1019 阅读 · 0 评论 -
Paimon下载使用和基础操作说明
Apache Paimon 是一种湖格式,支持使用 Flink 和 Spark 构建实时湖仓一体架构 用于流式处理和批处理操作。Paimon创新性地将湖格式与LSM(Log-structured merge-tree)相结合 结构,将实时流式更新引入 Lake 架构。原创 2024-07-10 10:49:53 · 830 阅读 · 0 评论 -
RocketMQ常用基本操作
Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。原创 2024-06-27 16:03:16 · 1010 阅读 · 0 评论 -
Java接口作为参数传递,回调函数,函数式接口使用方法
printA 方法内部创建了一个 User 对象,并设置其 id 和 name 属性,然后调用传入的 loginFunction 的 run 方法。这段Java代码主要展示了如何使用泛型接口和Lambda表达式来执行一些简单的操作,并且演示了如何在Lambda表达式中操作对象以及如何在类级别定义内部类。这是一个泛型接口,定义了一个方法 run,它接受一个整数和一个 User 对象作为参数,并返回泛型类型 T 的结果。User 是一个简单的类,包含两个属性:id(整数类型)和 name(字符串类型)。原创 2024-04-23 10:35:11 · 490 阅读 · 0 评论 -
Aria2NG连接aria2-pro提示认证失败的处理办法
本文档适用于已经安装了aria2-pro和AriaNg的小伙伴~这是因为aria设置了密码,需要在设置中配置上密码即可。第一次登录管理端会提示”认证失败“配置完密码重新加载就可以正常使用啦。下载速度明显比以前快了很多。原创 2023-10-18 18:47:43 · 5243 阅读 · 0 评论 -
SeaTunnel扩展Transform插件,自定义转换插件
SeaTunnel扩展Transform插件,自定义转换插件原创 2023-09-04 19:15:30 · 2644 阅读 · 0 评论 -
java工厂设计模式
Java中的工厂设计模式是一种创建型设计模式,它提供了一种将对象的创建逻辑抽象出来的方法,使得客户端代码不需要直接实例化具体的类,而是通过一个共同的接口来创建对象。以上是三种常见的工厂设计模式的示例代码。工厂设计模式在实际开发中经常被使用,特别是在需要创建复杂对象或者遵循开闭原则的场景下,它可以帮助我们更好地组织和管理对象的创建过程。在工厂设计模式中,通常有三种主要的类型:简单工厂模式、工厂方法模式和抽象工厂模式。// 具体产品类A1。// 具体产品类A2。// 具体产品类B1。// 具体产品类B2。原创 2023-08-04 19:30:56 · 477 阅读 · 0 评论 -
Java通过freemark创建word文档
表格示例姓名</th><th>年龄</th><th>性别原创 2023-08-02 19:08:16 · 291 阅读 · 0 评论 -
java备忘录模式
在Java中,备忘录模式(Memento Design Pattern)用于捕获一个对象的内部状态并在该对象之外保存这个状态。假设有一个编辑器类(Originator),用于编辑文本内容,并有一个备忘录类(Memento)用于保存编辑器的状态,以及一个备忘录管理类(Caretaker)用于管理备忘录。管理者(Caretaker):负责保存备忘录对象,并在需要时将其提供给发起人恢复状态。发起人(Originator):负责创建备忘录对象,用于保存和恢复其状态。原创 2023-07-25 18:57:00 · 314 阅读 · 0 评论 -
java模板模式
通过创建抽象模板和具体模板,并在抽象模板中定义算法的结构,然后在子类中实现具体的步骤,客户端可以通过调用抽象模板的方法来使用算法,而无需了解具体的实现细节。在Java中,模板模式(Template Design Pattern)用于定义算法的骨架,并将一些步骤的具体实现延迟到子类中。具体模板(Concrete Template):实现抽象模板中的抽象方法,完成算法的具体实现。现在,我们可以使用模板模式来制作不同的饮料。假设有一个制作饮料的模板,其中包含了准备和制作的过程,但具体的原料和配方由子类实现。原创 2023-07-25 23:12:03 · 426 阅读 · 0 评论 -
java策略模式
在Java中,策略模式(Strategy Design Pattern)用于定义一系列算法,并将每个算法封装成单独的类,使得它们可以互相替换,让客户端在使用算法时不需要知道具体的实现细节。通过创建策略接口、具体策略类和环境类,并在环境类中维护策略对象的引用,客户端可以选择不同的算法策略,而无需直接处理算法细节。具体策略类(ConcreteStrategy):实现策略接口,具体定义了不同的算法实现。环境类(Context):用于维护一个对策略对象的引用,并在需要时调用策略对象的方法。原创 2023-07-25 18:57:45 · 899 阅读 · 0 评论 -
java外观模式
在Java中,外观模式(Facade Design Pattern)用于为复杂的子系统提供一个简单的接口,以方便客户端的使用。外观模式是一种结构型设计模式,它隐藏了系统的复杂性,将多个类的复杂操作封装在一个外观类中,客户端只需要与外观类交互,而不需要直接与子系统的各个类交互。通过创建外观类来封装复杂的子系统操作,客户端只需与外观类交互,而不需要了解复杂子系统的内部实现细节。子系统类(Subsystem Classes):实现子系统的功能,处理外观类指派的任务,没有外观模式的存在,它们可以直接被客户端调用。原创 2023-07-30 18:45:47 · 120 阅读 · 0 评论 -
java过滤器模式
通过创建过滤器接口、具体过滤器和过滤器管理器,并在过滤器管理器中根据不同的条件组合过滤器,可以实现对对象集合的灵活筛选。过滤器模式可以让客户端根据不同的条件筛选对象,而无需修改对象类本身,从而提高了代码的可维护性和灵活性。过滤器管理器(CriteriaFilter):包含多个过滤器对象,并根据不同的条件组合它们,对对象进行筛选。具体过滤器(ConcreteCriteria):实现过滤器接口,根据不同的条件对对象进行筛选。客户端(Client):使用过滤器管理器来过滤对象集合,并获取满足条件的对象。原创 2023-07-26 19:45:56 · 249 阅读 · 0 评论 -
java组合设计模式
通过创建组件接口、叶子类和组合类,并在组合类中存储子组件,可以创建一个树状的组合结构,客户端可以递归调用组合对象的操作方法,无需知道其具体结构,从而简化了客户端代码。组件(Component):是组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。现在,我们可以使用组合模式来组合对象。首先,创建叶子对象和组合对象,然后将叶子对象添加到组合对象中,最后通过调用组合对象的。组合(Composite):定义有子部件的那些部件的行为,存储子部件,在Component接口中实现与子部件有关的操作。原创 2023-07-24 21:06:09 · 340 阅读 · 0 评论 -
java装饰者模式
在Java中实现装饰者模式,可以通过创建一个抽象组件(Component),代表要被装饰的对象,以及具体组件(ConcreteComponent),实现抽象组件接口。然后,创建一个抽象装饰者(Decorator),实现抽象组件接口并包含一个抽象组件的引用,用于对组件进行装饰。最后,创建具体装饰者(ConcreteDecorator),继承自抽象装饰者,实现具体的装饰逻辑。通过创建抽象组件、具体组件、抽象装饰者和具体装饰者,并在具体装饰者中调用抽象组件的方法,实现对组件的动态装饰。执行具体装饰者的操作。原创 2023-07-22 20:41:52 · 90 阅读 · 0 评论 -
java中介者模式
在Java中实现中介者模式可以通过创建一个中介者接口(Mediator)和具体中介者(ConcreteMediator),以及一组相关的同事类(Colleague)来完成。中介者模式用于解耦一组对象之间的相互依赖,使得它们之间不直接通信,而是通过中介者进行通信。这个例子展示了中介者模式的实现方式。通过创建中介者接口和具体中介者,以及一组相关的同事类,并在同事对象中调用中介者的方法来实现同事之间的通信,从而解耦它们之间的相互依赖。首先,创建一个具体中介者对象,并创建一组具体同事对象,并将它们注册到中介者上。原创 2023-07-20 19:15:46 · 104 阅读 · 0 评论 -
java观察者模式
现在,我们可以使用观察者模式来实现主题和观察者之间的通信。首先,创建一个具体主题对象和一个或多个具体观察者对象,并将观察者注册到主题上。然后,通过调用主题的。System.out.println("观察者收到更新通知");观察者接收到通知后,可以执行相应的更新逻辑。这个例子展示了观察者模式的实现方式。通过使用Java内置的。在Java中实现观察者模式,可以通过使用Java内置的。接口作为观察者,在主题上注册观察者,并通过调用。原创 2023-07-18 23:22:47 · 444 阅读 · 0 评论 -
java建造者模式
然后,我们创建一个建造者类(Builder),用于构建产品对象。在Java中实现建造者模式,可以通过创建一个建造者类(Builder)和一个产品类(Product)来完成。方法返回构建好的产品对象。这样可以灵活地构建具有不同属性组合的产品对象,同时避免了构造器的参数过多和参数顺序的问题。通过创建一个建造者类,使用链式调用方法设置产品的属性,并在最后调用。现在,我们可以使用建造者模式来构建产品对象。通过链式调用建造者的方法来设置产品的属性,最后调用。// 其他设置属性的方法...// 其他属性...原创 2023-07-17 19:34:54 · 1142 阅读 · 0 评论 -
java访问者模式
在Java中实现访问者模式,可以通过创建抽象访问者(Visitor)和具体访问者(ConcreteVisitor),以及抽象元素(Element)和具体元素(ConcreteElement)来完成。首先,创建具体元素的实例,然后创建具体访问者的实例,并调用元素的。通过创建抽象访问者和具体访问者,以及抽象元素和具体元素,并在具体元素的。方法中调用访问者的相应方法,可以让访问者在不修改元素结构的情况下对元素执行特定的操作。具体访问者访问具体元素A:具体元素A的操作。具体访问者访问具体元素B:具体元素B的操作。原创 2023-07-14 23:23:39 · 309 阅读 · 0 评论 -
java代理模式
在Java中实现代理模式可以使用静态代理或动态代理。下面是一个简单的示例,展示了静态代理和动态代理的实现方式。首先,我们定义一个共同的接口Subject(主题):然后,我们创建一个实际的主题类@OverrideSystem.out.println("RealSubject 执行了某些操作");原创 2023-07-13 21:10:25 · 272 阅读 · 0 评论 -
java责任链模式
这个例子展示了责任链模式的实现。通过创建一个处理器链,并设置每个处理器的后继处理器,请求会依次经过处理器链中的处理器进行处理,直到找到能够处理该请求的处理器或者到达责任链的末端。在责任链中,请求将从第一个处理器开始,依次传递给下一个处理器,直到有一个处理器能够处理该请求或者请求到达责任链的末端。然后,我们创建具体的处理器类,它们将按照一定的顺序依次处理请求。每个处理器都可以选择将请求传递给下一个处理器或者自行处理请求。System.out.println("ConcreteHandler1 处理请求");原创 2023-07-10 22:54:05 · 505 阅读 · 0 评论 -
java实现桥接设计模式
通过将形状和颜色进行桥接,可以轻松地创建不同形状和颜色的组合,而且它们可以独立地变化,互不影响。接下来,我们创建具体的形状类和颜色类。例如,我们可以实现两种形状:圆形和矩形,以及两种颜色:红色和蓝色。System.out.print("画一个圆形,");System.out.print("画一个矩形,");System.out.println("应用红色");System.out.println("应用蓝色");现在,我们可以使用桥接模式将形状和颜色进行桥接。画一个圆形,应用红色。画一个矩形,应用蓝色。原创 2023-07-04 18:40:48 · 398 阅读 · 0 评论 -
java中文数字日期转为阿拉伯数字日期
String[] chineseDigits = {"〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"};请注意,这只是一个简单的示例代码,仅适用于简单的中文数字日期转换。如果需要更复杂的转换,可能需要使用更高级的技术,如自然语言处理(NLP)或正则表达式匹配。,分别表示中文数字和对应的阿拉伯数字。然后,通过循环遍历将中文日期字符串中的中文数字替换为对应的阿拉伯数字。Java本身没有内置直接将中文数字日期转换为阿拉伯数字日期的库。原创 2023-06-20 18:22:55 · 1052 阅读 · 0 评论 -
Java替换Jar文件中的class文件方法
标红内容就是需要替换的class文件,如果有多个文件需要替换依次执行2,3步骤即可。如果是同一目录下的文件,可以解压一次替换多次即可。这样替换jar文件中的class就搞定啦,赶快去重启试试吧。文件不重要的话可以不需要备份,线上环境务必备份方便回滚。把根目录文件替换到目标路径。原创 2023-06-15 18:46:56 · 2017 阅读 · 0 评论 -
java 通过ftp读取某个路径下的所有文件内容
/ 设置文件传输模式为二进制。// 连接到FTP服务器。原创 2023-06-19 18:16:07 · 3057 阅读 · 0 评论 -
Java上传下载ftp文件
在Java中连接FTP服务器可以使用Apache Commons Net库提供的FTPClient类。请确保在使用Apache Commons Net库之前,已将其添加为项目的依赖项。System.out.println("文件上传和下载成功");// 设置文件传输模式为二进制。// 上传文件到FTP服务器。// 下载文件从FTP服务器。// 连接到FTP服务器。),以确保正确传输文件的内容。方法上传文件到FTP服务器,使用。类连接到FTP服务器,并通过。方法从FTP服务器下载文件。原创 2023-06-13 18:04:50 · 2063 阅读 · 0 评论 -
使用IDEA进行远程调试
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555原创 2022-12-27 17:33:31 · 277 阅读 · 0 评论 -
java生产消费kafka消息
通过java生产消费kafka消息原创 2022-09-09 11:27:28 · 2726 阅读 · 0 评论 -
datax扩展vertica插件
datax扩展vertica插件原创 2022-07-05 19:15:33 · 719 阅读 · 7 评论 -
IBMMQ常用操作:本地安装&JAVA案例-完成代码为“2”,原因为“2035”。
解压安装包 双击exe进入安装界面出现此页面 点击完成会自动弹出IBM MQ资源管理器右键新增队列管理器,端口默认为1414新建本地队列新建服务器连接通道这样配置就完成了,可以通过JAVA代码来进行调试了导入所需jar包<dependency> <groupId>com.ibm.mq</groupId> <artifactId>com.ibm.mq.all...原创 2021-06-01 09:26:33 · 2501 阅读 · 1 评论 -
zookeeper入门——安装启动基础操作及java案例
简介最近做的项目用的是zookeeper+kafka,大致学习了下zookeeper。像Spring有IOC和AOP一样,zookeeper的核心主要是文件结构和监听机制安装Zookeeper 的安装还是比较简单的,注意安装目录不要有中文和空格即可附上安装包启动Windows系统双击zkServer.cmd启动启动闪退的话,右键编辑zkServer.cmd,在末尾加上pause保存后继续双击运行,一般会有报错产生,没有报错说明正常启动提示找不到配置文件,需要在原创 2021-04-25 22:05:18 · 421 阅读 · 2 评论 -
Java三种方式实现发送xml参数的WebService接口调用
项目开发中与第三方系统数据对接遇到的问题,仅用作记录。1.使用cxf调用(联调时没有收到响应信息)JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();logger.info(JSON.toJSON(todoInfo));Client client = clientFacto...原创 2018-08-04 17:48:39 · 54802 阅读 · 8 评论 -
Java给指定URL字符串添加值和获取URL字符串中的参数值
/** * 在指定url后追加参数 * @param url * @param data 参数集合 key = value * @return */private static String appendUrl(String url, Map<String, Object> data) { String newUrl = url; StringBuffer...原创 2018-08-07 17:01:47 · 16224 阅读 · 2 评论 -
java通过cxf实现webservice服务端,客户端接收不到响应信息处理方法
最近在做项目时与客户进行webservice联调,响应成功后返回1,服务端正常返回,客户端表示没有收到,针对其中的问题分析和处理方法。1.判断是否是服务写的有问题,写了个测试方式试了下,发现服务端返回没有问题String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><LIST>****</LIST&...原创 2018-08-18 11:31:38 · 4197 阅读 · 0 评论 -
无意间看到的小米面试题,用JAVA代码实现了下
无意中逛知乎遇到的题,闲来没事试着敲下。问题“一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆底,直到手里没牌,最后桌子上的牌是从第一张到最后一张的排列,梳理牌的排列顺序的算法。”例如:原数据:1 2 3 4 5第一次:3 4 5 2 1第二次:5 2 4 3第三次:4 2 5第四次:2 41,3,5,4,2这里的...原创 2018-09-07 20:21:50 · 1739 阅读 · 4 评论 -
windows下查看tomcat日志提示文件xxxx太长,无法用记事本打开
通过cmd命令访问文件内容,type localhost.2018-06-07.log | findstr "Exception"原创 2018-09-05 09:32:34 · 1549 阅读 · 0 评论 -
java DateUtil日期工具类,获取当前日期几天前的日期,一周前的日期,两日期间周数
import java.util.Calendar;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil{/*** 获取指定日期间隔天数的起始值* @param date* @param pattern* @param num* @return*/public static ...原创 2018-06-06 18:10:31 · 11497 阅读 · 1 评论