java
文章平均质量分 53
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
卑微小钟
君当终日乾乾,熬过万丈孤独,踏过万水千程,与最好的自己温柔重逢。
展开
-
Nacos服务注册和配置中心
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。原创 2023-09-27 08:54:53 · 2305 阅读 · 0 评论 -
Java实现word excel ppt模板渲染与导出及预览 LibreOffice jodconverter
文档格式转换是office操作中经常需要进行一个操作,例如将docx文档转换成pdf格式。java在这方面有许多的操作方式,大致可以分为内部调用(无需要安装额外软件),外部调用(需要安装额外软件)。其中,内部调用的方式虽然简单,但是会遇到一些头痛的问题,例如:文档格式错误,字体错误,内容缺少。外部调用虽然麻烦,但可以在一定程度上解决这些问题。jodconverter是支持和两种开源的Office软件的,但是从稳定性、转换效果、简单性,更推荐LibreOffice。原创 2023-09-27 08:50:09 · 4916 阅读 · 0 评论 -
Mybatis获取参数的值
Mybatis获取参数的值的方式一共两种**${}#{}**${}使用字符串拼接的方式拼接sql,若字符串类型或时间类型的字段进行赋值时,;但是#{}使用占位符的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号。同时获取参数的值有多种情况。原创 2023-05-22 15:35:50 · 6014 阅读 · 0 评论 -
SpringBoot整合RabbitMQ(最新笔记)
我们使用的springboot版本为2.5.6,其他都是根据自动选择版本引入以下工程即可junit原创 2023-05-18 15:08:00 · 7000 阅读 · 0 评论 -
RabbitMQ高级特性 JAVA (最新笔记记录)
在使用RabbitMQ的时候,作为消息发送方希望杜绝任何消息丢失或投递失败场景。RabbitMQ为我们提供了两种方式来控制消息的投递可靠性模式。producerexchangequeueconsumer利用这两个callback来控制消息的可靠性传递。原创 2023-05-18 15:06:47 · 6255 阅读 · 0 评论 -
Java WebSocket客户端
logger . info("客户端连接成功:{}" , session . getId());logger . info("客户端接受到消息:{}" , message . getPayload());logger . info("客户端发送错误:{}" , exception . getMessage());logger . info("客户端关闭连接:{}" , closeStatus . getCode());} }原创 2023-05-04 13:48:39 · 9849 阅读 · 6 评论 -
Spring Doc OpenAPI3.0 抛弃SpringFox拥抱SpringDoc
SpringDoc是SpringBoot 的API文档工具。在使用SpringBoot 2.6以前去创建API文档工具一般会采用SpringFox提供的Swagger库,但是由于SpringBoot版本的不断升级和SpringFox摆烂不更新,导致了SpringBoot2.6之后的项目无法使用SpringFox去生成API文档,或者可以使用但是有很多的bug。SpringDoc是一款可以结合SpringBoot使用API文档生成工具,基于OpenAPI 3,而且项目维护和社区都在不断更新,不仅支持。原创 2023-04-25 12:29:09 · 12306 阅读 · 0 评论 -
Java反射(详细学习笔记)
Reflection(反射)是java被视为java动态语言的关键,反射机制允许程序在执行期间借助于Reflection API获取任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就会产生一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。引入包类=>new实例化=>获取实例对象实例化对象=>=>获取完整包类名称。原创 2023-03-19 16:13:37 · 7812 阅读 · 0 评论 -
Java 注解(详细学习笔记)
public @interface 注解名{ 定义内容 }其中每一个方法实际上是声明了一个配置参数方法的名称就是参数的名称返回值类型就是参数的类型(返回值只能是基本类型、Class、String、enum可以通过default来声明参数的默认值如果只用一个参数成员,一般参数名称为value注解元素必须有值,我们定义注解元素时,经常使用空字符串,0作为默认值。@Target({原创 2023-03-19 16:12:38 · 7842 阅读 · 0 评论 -
RabbitMQ工作模式
模式介绍:与入门程序的简单模式相比,多了一个或一些消费端,多了消费端共同消费同一个队列中的消息。应用场景:对于任务过重或任务较多情况使用工作队列可以提高任务的处理速度。在一个队列中如果有多个消费者,那么消费者之间对于同一个消息的关系是竞争的关系。对于任务过重或任务较多情况使用队列模式可以提高任务处理的速度。例如:短信服务部署多个,只需要一个节点成功发送即可。在订阅模型中,多了一个Exchange角色,而且过程略有变化:P:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发给交换机。原创 2023-03-14 22:06:02 · 7693 阅读 · 0 评论 -
Spring整合RabbitMQ
整合用到的maven坐标,主要有:、、和。1.2 创建RabbitMQ配置文件这里我们创建的是一个RabbitMQ配置文件,名称为。目的是方便将配置文件中的信息加载到Spring中,就无需在xml文件中修改了。1.3 创建整合配置文件RabbitMQ和Spring使用xml文件进行整合,意味着大部分的配置类或模板都在xml文件中,我们默认的文件名为:。xml文件用到的默认约束(1)加载配置文件,并创建连接工程connectionFactory在这里我们需要注意的是加载配置文件的路径,。(2)定义原创 2023-03-14 21:58:24 · 8168 阅读 · 0 评论 -
SpringMVC的视图
SpringMVC中的视图是View的接口,视图的作用是渲染数据,将模型Model中的数据展示给用户。SpringMVC视图的种类很多,默认有转发视图和重定向视图。若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,使用的是。原创 2023-02-27 08:00:23 · 7800 阅读 · 0 评论 -
Spring MVC异常处理器
和。SpringMVC提供了自定义的异常处理器原创 2023-02-27 08:02:03 · 7843 阅读 · 0 评论 -
java 域对象共享数据
使用ServletAPI向request域对象共享数据原创 2023-02-26 19:28:53 · 7970 阅读 · 0 评论 -
AbstractAnnotationConfigDispatcherServletInitializer 在Servlet3.0环境中
在Servlet3.0环境中,容器会在类路经中查找实现接口的类,如果找到的话就用它来配置Servlet容器。Spring提供了这个接口的实现,名为,这个类反过来又会查找实现的类并将配置的任务交给它们来完成。Spring3.2引入了一个便利的基础实现,名为,当我们的类扩展了并将其部署到Servlet3.0容器的时候,容器会自动发现它,并用它来配置Servlet上下文。原创 2023-02-26 19:20:01 · 8363 阅读 · 0 评论 -
动态规划-规划兼职工作
要点完成第i份兼职获得的最大报酬=MAX(考虑前一份(i-1)兼职的最大报酬,第i份兼职开始时间前能完成的兼职的最大报酬+第i份兼职的报酬)。在计算时考虑当前兼职时,要用到之前子问题的解时,我们直接查兼职与最大薪资表dp就可以简化运算。算法性能分析时间复杂度:O(nlogn),其中 n 是兼职工作的数量。排序需要 O(nlogn),遍历 + 二分查找需要 O(nlogn),因此总时间复杂度为 O(nlogn)。**空间复杂度:O(n)。**需要 O(n) 的空间来保存dp。现实意义。原创 2023-02-25 22:50:12 · 8626 阅读 · 0 评论 -
乘船问题(贪心算法)
乘船问题:有N个人,第I个人重量为wi,每艘船的载重上限为C,且最多乘2人。用最少的船装载所有人,求需最少的船数量。原创 2023-02-25 22:46:55 · 9036 阅读 · 0 评论 -
Java Email 发HTML邮件工具 采用 freemarker模板引擎渲染
Java发送邮件有很多的实现方式第一种:Java 原生发邮件和原生的java可以发送普通文本和HTML邮件,同时也可以发送带附件的邮件,但是缺点也很明显,配置非常繁琐,不同的邮件需要不同的实现类去完成,不适合项目中使用。第二种:使用框架提供的去实现,在SpringBoot中有实现这个功能的组件这种实现起来特别方便,仅仅只要在SpringBoot项目中引入组件,在配置文件中配置好各种参数,就可以实现依赖注入,调用接口完成发送邮件,同时支持普通文本、HTML邮件、以及携带附件的邮件。同时缺点就是和框架集成太原创 2023-02-13 21:37:50 · 10964 阅读 · 1 评论 -
SpringMVC获取请求参数
将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的报文对象。原创 2023-02-11 22:50:14 · 9504 阅读 · 0 评论 -
servlet ssm tamcat web.xml基础配置
配置SpringMVC前端控制器原创 2023-02-11 22:47:33 · 8357 阅读 · 0 评论 -
spring boot入门
引入spring boot框架jar包(引入)原创 2022-10-06 08:53:07 · 13242 阅读 · 0 评论 -
Lombok基本使用
Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量。原创 2022-10-06 08:51:47 · 13447 阅读 · 0 评论 -
SpringBoot使用easyExcel
第二步、建立实体类第三步、测试1.写入数据结果输出:2.2启动程序原创 2022-10-06 08:49:33 · 13704 阅读 · 0 评论 -
Eureka 注册中心
给RestTemplate添加@LoadBalanced注解。在application.yml中配置eureka地址。在application.yml中配置eureka地址。在application.yml中配置eureka地址。添加@EnableEurekaServer注解。引入eureka-server依赖。引入eureka-client依赖。引入eureka-client依赖。1.搭建EurekaServer。原创 2022-09-12 15:10:37 · 14463 阅读 · 0 评论 -
热部署Devtools
2.添加plugin到项目中3.idea开启自动编译打包idea设置路径:Setting/Buid,Execution,Deployment/Compiler开启(勾选)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y1C8X6my-1662445497576)(images/image-20220906103346283.png)]快捷键:Ctrl+Shift+Alt+/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3DupCorA-1原创 2022-09-06 14:25:47 · 14543 阅读 · 1 评论 -
java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils
java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils原创 2022-08-23 11:10:33 · 16405 阅读 · 0 评论 -
springboot集成swagger3与knife4j
springboot集成swagger3 swagger3的springboot启动器jar包注意:当前SpringBoot版本为2.5.6,Swagger3.0目前无法完全兼容SpringBoot2.6.x!原创 2022-08-16 15:14:35 · 16277 阅读 · 0 评论 -
SSM框架学习笔记
SpringMVC默认已经提供了一些常用的类型转换器,例如客户端提交的字符串转换成int型进行参数设置。·但是不是所有的数据类型都提供了转换器,没有提供的就需要自定义转换器,例如:日期类型的数据就需要自定义转换器。定义转换器类实现Converter接口在配置文件中声明转换器在中引用转换器@Override// 将日期字符串转成日期对象返回try {}}}...原创 2022-08-15 10:48:15 · 15866 阅读 · 0 评论 -
springboot统一异常处理(返回json)并支持所有异常格式化返回
当用spring boot开发后端时,我们常采用前后端分离的开发策略,这时候要求前端与后端需要进行数据交互,传统的一般采用json数据交互。这时候我们要对spring boot的默认异常处理方式进行修改了,要统一返回数据格式,优雅的数据交互,优雅的开发应用。首先我们要了解一般springboot的错误发生在什么地方。一般发生在、、、、还有就是了。下面我分享一下我的处理方式:++的处理方式。...原创 2022-08-13 18:24:10 · 18125 阅读 · 3 评论 -
springboot 跨域配置(处理filter,spring security等过滤器跨域问题)
基于filter实现可以处理filter中的跨域问题,这里原理很简单,需要注意是要设置CorsFilter的优先级:Ordered.HIGHEST_PRECEDENCE(加载到过滤器链最前面!但如果遇到spring boot集成spring security的时候,登录时处理是在filter中的,传统的跨域没有办法处理,这时候我们要采用一种新的实现方案:基于filter的跨域实现。经过测试,这种处理方法可以轻松应对springboot的跨域问题。...原创 2022-08-13 18:00:59 · 16970 阅读 · 0 评论 -
java http请求 httpClient get post
java http请求 httpClient,模拟get post请求,便于集成第三方的API。原创 2022-08-01 22:13:50 · 16792 阅读 · 0 评论 -
java抠图片文字或签名
第一步 遍历像素点第二步 判断像素是否是黑色或者指定颜色第三步 统计 选取图像的像素点最小坐标或最大坐标第四步 新建画布(长度和高度=最大像素点-最小像素点)第五步 画图原创 2022-06-23 10:54:57 · 23885 阅读 · 0 评论 -
spring配置数据源
spring配置数据源1.数据源开发步骤导入数据源jar创建数据源对象设置数据源的基本连接数据使用数据源获取连接资源和归还资源2.资源<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version></dependency>&l原创 2022-05-15 21:31:11 · 31596 阅读 · 0 评论 -
java生成二维码
java生成二维码maven依赖<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version></dependency><dependency> <groupId>com.google.zxing<原创 2022-05-12 08:49:39 · 32828 阅读 · 0 评论 -
java 图片处理工具类(图片简单处理 java原生)
java 图片处理工具类方法说明方法描述cutCenterImage从中间裁剪图片不进行缩放zoomImage缩放图片根据最短边zoomCutCenterImage缩放裁剪图片,先进行缩放,然后进行裁剪实现代码public class ImgUtils { /** * 图片格式 */ public static String format = "PNG"; public static int unit = 1024原创 2022-05-12 08:25:31 · 34310 阅读 · 0 评论 -
SpringBoot跨域
SpringBoot跨越@Configurationpublic class CorsConfig implements WebMvcConfigurer { static final String[] ORIGINS = new String[] { "GET", "POST", "PUT", "DELETE" }; @Override public void addCorsMappings(CorsRegistry registry) { // 所有的当前站点原创 2022-04-16 22:24:36 · 43992 阅读 · 0 评论 -
SpringSecurity添加图形验证码认证功能
SpringSecurity添加图形验证码认证功能第一步:图形验证码接口1.使用第三方的验证码生成工具Kaptchahttps://github.com/penggle/kaptcha@Configurationpublic class KaptchaImageCodeConfig { @Bean public DefaultKaptcha getDefaultKaptcha(){ DefaultKaptcha defaultKaptcha = new Defa原创 2022-04-03 19:40:56 · 54520 阅读 · 0 评论 -
springsecurity记住我
Spring Security 记住我第一步 创建(配置)数据库spring: datasource: username: root password: 123456 url: jdbc:mysql://127.0.0.1:3306/study-security?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jd原创 2022-04-03 19:38:40 · 55870 阅读 · 0 评论 -
spring boot 返回图片流
spring boot 返回图片流一、返回BufferedImage由于spring mvc不支持返回BufferedImage ,所以增加图片转换器@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { /** * 增加图片转换器 * @param converters */ @Override public void extendMessageConver原创 2022-03-22 12:39:04 · 81037 阅读 · 2 评论 -
SpringSecurity自定义认证成功处理器
自定义认证成功处理器代码实现1.实现AuthenticationSuccessHandler接口第一步:实现 AuthenticationSuccessHandler@Component("customAuthenticationSuccessHandler")public class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler { @Override public void原创 2022-03-21 21:15:30 · 69997 阅读 · 0 评论