Java
文章平均质量分 62
Jon Young
这个作者很懒,什么都没留下…
展开
-
一篇文章说清楚Filter(过滤器)、Interceptor(拦截器)和AOP(切面儿)
Filter、Interceptor、AOP都是用于实现应用横切关注点的技术手段,通过这些技术,可以将横切关注点的代码从核心业务逻辑中解耦,使得代码更加清晰和可维护,同时也提高了代码的复用性。但是三者的应用场景还是有些区别的,Filter主要用于处理HTTP请求和响应,在Servlet容器中工作,可以实现如日志记录、安全性过滤、跨域请求处理等;Interceptor主要用于在Spring MVC中拦截方法调用,允许在方法执行前后添加额外逻辑,用于实现权限拦截、日志记录、事务管理等;原创 2024-07-04 21:55:38 · 1396 阅读 · 0 评论 -
又是一年春来到,快来围观用Java代码写春联
基于春联的实现,其实可以拓展一下思路,是不是就可以实现在背景图上使用代码渲染文字了,是不是比P图来的方便的多。让程序在实际生活中也有了更多的色彩,最后祝大家在新的一年“龙行龘龘 前程朤朤”!原创 2024-02-03 14:21:10 · 506 阅读 · 0 评论 -
用一千多行Java代码完整实现斗地主游戏
用一千多行Java代码实现的斗地主游戏,后端使用的技术栈是Springboot+SpringCache+Websocket,项目中运用了Java基础及面向对象的各类技术,类、接口、对象、枚举、集合、Map、数组、排序、算法、缓存等都有使用......前端使用的是Thymeleaf+原生的js/jquery。项目逻辑比较全面,满足斗地主游戏的基本需求,包括:玩家准备、抢地主、出牌、牌规则验证、出牌验证等,使用Websocket实时推送到前端交互,整体逻辑代码比较简洁明了,供大家学习参考原创 2024-01-28 21:21:29 · 984 阅读 · 0 评论 -
一篇文章带你彻底了解Java常用的设计模式
说到Java开发,设计模式肯定是绕不开的,Java常用的设计模式主要包括很多,一种说是有10种设计模式,还有一种说是23种设计模式。我这边重点解释了开发中常用到的8种设计模式,分别是:工厂模式、单例模式、原型模式、适配器模式、观察者模式、策略模式、装饰者模式、模板方法模式。其中每种模式都有其特定的应用场景和优缺点,在实际开发中,根据具体需求选择适合的设计模式可以提高代码的可维护性、可扩展性和重用性。需要根据具体情况来合理选择和组合使用设计模式,最终的目的就是让我们的代码优雅且可读性强,整体逻辑高内聚、低耦合原创 2023-08-26 20:48:14 · 334 阅读 · 0 评论 -
Java解析环保HJ212协议
HJ212是由国家环保行业制定的数据传输标准协议,通常是通过TCP/IP通讯方式进行数据传输的,数据传输报文主要由包头、数据段长度、数据段、CRC校验、包尾组成。重点解析的就是”数据段“的内容,内容包括请求编码(QN)、系统编码(ST)、设备唯一标识(MN)、密码(PW)、命令编码(CN)、指令参数(CP)。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。基本报文示例:ST=22;CN=2011;原创 2023-07-03 22:46:07 · 3842 阅读 · 0 评论 -
Java程序处理视频裁剪(快速处理大文件)
用java程序实现一个视频剪切工具,处理大的视频软件不失真、速度快,轻松搞定大文件视频剪切的需求,非常方便。解决遇到动辄大几G、十几G的文件裁剪困难的问题原创 2023-07-01 10:39:10 · 3867 阅读 · 2 评论 -
Java中Map与对象之间互相转换
Map在日常开发应用中的频率很高,最常用的实现类是HashMap和有序的TreeMap。在企业级应用中,更多的应用场景是关联JSON和Object使用,Map可以用于JSON传参、接收JSON参数,返回JSON数据等,也可以用于对象处理,开发者可以省一些简单实体类,用map来替代原创 2023-03-17 21:45:00 · 13986 阅读 · 1 评论 -
Java进制间的互相转换(2进制、10进制、16进制)
根据业务开发需求及日常开发需求,整理了所有常用的进制间的转换方法,包括:2进制与10进制互转、10进制与16进制互转、2进制与16进制互转等原创 2022-12-31 18:25:26 · 813 阅读 · 0 评论 -
Java集合与数组互相转换
集合与数组互相转换在日常业务开发中必不可少,有时业务需要的是集合,而程序提供的是数组;或者业务需要的是数组,而程序提供的是集合,这就需要转换了原创 2022-12-31 18:23:58 · 9584 阅读 · 0 评论 -
java基于opencv图片灰度处理小工具
基于opencv对文件夹内的所有图片进行灰度处理,直接在小工具程序上选择待处理的文件夹,对文件夹内的所有图片进行灰度处理。此方法区别于调样式风格灰色处理,而是直接把图片更换为灰度处理后的图片原创 2022-12-18 16:09:16 · 964 阅读 · 2 评论 -
Java实现斗地主?原来如此简单(页面效果版)
用java程序做一个简单的斗地主游戏,设计思路比较简单,首先要准备一副扑克牌(一个集合,包含54个对象),然后打乱扑克顺序(洗牌),均匀发牌到三个玩家及最后的三张底牌,就实现了发牌的效果。原创 2022-11-27 11:38:46 · 2815 阅读 · 0 评论 -
多线程CompletableFuture之常用方法示例
多线程开发中CompletableFuture必不可少,对比传统的Thread、ThreadPool,CompletableFuture最大的优势是其非常强大的Future的扩展功能,可以在异步方法中获取返回值,类似前端的Promise原创 2022-11-06 15:04:33 · 1420 阅读 · 0 评论 -
Java中的反射,你在开发过程中使用了吗?
在程序运行状态中,任何一个类都能够知道这个类的属性和方法,类对应到对象,任何一个对象都能够调用它的方法和属性原创 2022-09-20 21:45:00 · 234 阅读 · 0 评论 -
基于RabbitMq的削峰实例
RabbitMq在我们日常开发中不可或缺,作为主流消息中间件,可以用于项目中的应用解耦、流量削峰、异步处理(非主流任务交由队列下发处理)等,本文着重介绍运用于项目中流量峰值时,依据服务器的消费能力进行削峰,最大限度保障服务器不宕机原创 2022-09-09 21:15:00 · 2130 阅读 · 0 评论 -
Java中double保留2位小数(精度丢失)的两种方式
对于double数据类型进行计算发生的精度丢失的情况,可以按照自己的需求选择任意方式,方式一更灵活点,方式二可以直接得到字符串类型的结果原创 2022-08-31 20:45:00 · 14770 阅读 · 0 评论 -
Mybatis Plus使用大全
mybatisPlus在service层的基本应用场景,从增、删、改、查四个方面整理出用的频率比较高的几种方式原创 2022-08-24 21:30:00 · 860 阅读 · 0 评论 -
java从集合中快速取某个元素
对于元素的泛型为对象时,提供了五种方式从集合中取元素,每种方式都有各自的优缺点,都有各自的应用场景,可以依据自己的业务场景选择合适的方案原创 2022-07-09 16:32:21 · 10667 阅读 · 2 评论 -
Java模拟获取随机车牌号的两种方式
通过简单的几行代码,模拟用户选车牌的业务场景,这边只是简单的获取随机车牌,没有任何业务交互!这边提供了2种方式获取随机车牌,首先是定义好字母数组和车牌数组,方式一是每个字符都是随机获取字母或数字,方式二是把字母和数字都放在集合种,每次都打乱集合的顺序,获取集合的前5个元素。个人觉得方式一更好些!有兴趣的可以做一个延伸,例如:显示过的再一次执行的时候就直接过滤掉等以下是源码:public class CarNumberController { private static Random ran原创 2022-03-04 11:40:22 · 1841 阅读 · 0 评论 -
Java对文件的基本操作(查找、读取)
1.读取目录下的所有文件隐藏的文件一网打尽,快速定位要找的那个文件/** * 查询路径下的所有文件 * @param path 路径 */private static void find(String path){ File file = new File(path); File[] files = file.listFiles(); if(files!=null){ for (File f : files) { if (!f.is原创 2021-12-10 18:45:00 · 1647 阅读 · 0 评论 -
Java8中Stream流的用法示例大全
Stream流是Java8新添加的一种声明的方式处理数据方式,Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。支持筛选、排序、聚合等。对于任何一项技术,每个人都有自己独到的见解,有些人习惯在理论上分析,有些人习惯在实践中提升,这都不影响我们灵活运用这项技术。我这边通过一个方法整理出日常开发中经常用到Stream的技术点,说实话,对于常规的数据处理,真的太方便了~首先,做个拓展,从一个txt中读数据,作为一名优秀的程序员,不能一直拘泥于在数据库中读原创 2021-12-08 18:48:00 · 1221 阅读 · 0 评论 -
SpringBoot文件访问映射的两种实现方式
SpringBoot文件访问映射的两种实现方式业务需求:通过SpringBoot访问服务器(磁盘内)的所有文件,用于正常项目中上传图片(文件)的访问。图片路径:E://images/upload/123.jpg,现在通过两种方式实现对图片的访问方式一(推荐):增加配置类实现WebMvcConfigurer接口,然后在addResourceHandlers方法中设置文件夹与访问路径之间的映射关系。参考代码:@Configurationpublic class FileConfig imple原创 2021-11-11 10:35:28 · 2071 阅读 · 0 评论 -
Java按照指定的长度把一个大集合拆分成多个小集合
Java按照指定的长度把一个大集合拆分成多个小集合封装了一个方法,参数length是长度、list是待拆分的大集合(泛型可以传任意类型:Object、Map、String、Integer…),返回值是由拆分后的多个小集合组成的二维集合。public static <T>List<List<T>> getSubList(int length,List<T> list){ int size = list.size(); int temp = s原创 2021-10-29 16:54:47 · 1695 阅读 · 0 评论 -
Java根据特定字符拆分字符串(截取以**开头、**结尾)
Java根据特定字符拆分字符串(截取以**开头、**结尾)假设我们现在要通过java解析一段长报文,而这一段长报文中可能关联多个子报文,每个子报文的规则都是以“7e”开头、“6e”结尾。那么我们就需要一套拆分算法,把长报文拆分成多个符合条件的子报文。其实这种的实现方式有很多种,例如:substring截取并且标记下标、获取特定字符下标集合截取…在这里,我们采用最简单的一种方式:通过split拆分解析代码实现:public class Test02 { /** * 把长报文拆分成原创 2021-06-29 11:01:38 · 6428 阅读 · 0 评论 -
Java通过图片URL把图片上传到本地服务器
**Java通过图片URL把图片上传到本地服务器**在工作中通常有这么个需求:跟第三方对接数据,第三方给的图片数据只有一个url链接,这就导致我们访问图片资源要一直请求第三方的资源。万一第三方做了限制或者删除,就导致我们这边的图片资源访问不到了。这就需要我们把第三方的图片url实时转存到我们的服务器上,真正的实现资源自由。其实实现逻辑很简单:①首先通过URL从HTTP响应获取资源②然后把资源转成文件流③最后以文件流的形式上传图片到服务器话不多所,直接上代码...原创 2021-03-11 09:59:33 · 5795 阅读 · 4 评论 -
java中如何快速优雅的把一个对象的属性赋值到另一个对象中(驼峰->驼峰,驼峰->下划线,下划线->驼峰)
java中如何快速优雅的把一个对象的属性赋值到另一个对象中(驼峰->驼峰,驼峰->下划线,下划线->驼峰)一、驼峰->驼峰二、驼峰->下划线,下划线->驼峰在工作中,我们经常会遇到对象之间赋值的问题,例如把ObjectA赋值到ObjectB中,最原始的方式就是每个属性都通过get/set去取值赋值。这样就使得我们的代码出现了大量的低效代码,降低了整体代码的质量。一、驼峰->驼峰正常我们java类中的属性变量都是以驼峰形式命名的,对于两个对象一样的属性,我们可以原创 2020-12-18 17:41:39 · 4752 阅读 · 3 评论