自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Java 中创建和使用自定义注解

声明注解指定目标元素类型使用@Target元数据注解来指定你的自定义注解可以应用于哪些类型的程序元素。指定保留策略使用@Retention元数据注解来指定编译器如何保留注解信息。定义注解成员在注解接口中定义成员变量,这些成员变量可以用在使用注解的地方。指定重复性使用元数据注解来允许在单个程序元素上多次使用相同的注解。指定容器注解如果注解支持重复使用,还需要定义一个容器注解。下面是一个自定义注解@Dict的完整定义,它可以被用来标记字段,并可以携带一些元数据,比如字典类型和描述。

2024-07-30 18:07:16 452

原创 自定义注解@Dict总结

Dict 注解是一种自定义注解,它的具体功能和实现取决于其定义者。在不同的上下文中,它可以有不同的用途,但通常都是为了增强代码的可读性、维护性和功能性。

2024-07-30 17:59:29 63

原创 设计模式——责任链模式

责任链模式在 Java 编程中是一种强大的工具,它能够帮助我们构建更灵活、可扩展和低耦合的系统。通过合理地设计责任链,我们可以更好地处理复杂的业务逻辑,提高代码的可维护性和可复用性。

2024-07-29 09:35:12 261

原创 设计模式——动态代理

设计模式——动态代理==动态代理的基本概念====动态代理的实现步骤====总结==在Java中,动态代理是一种强大的机制,它允许在运行时创建一个代理对象,这个代理对象可以代表另一个实际对象,它允许你在不直接操作原始对象的情况下,通过代理对象来间接地操作原始对象。这样做的好处是可以添加额外的功能,比如日志记录、性能监控、安全检查等,而无需修改原始对象的代码。动态代理主要用于实现AOP(面向切面编程)和一些框架中,如Spring AOP。动态代理的基本概念代理模式: 代理模式是一种设计模式,它提供了一个

2024-07-29 09:01:18 173

原创 Java对象属性拷贝常用方法总结

选择哪种方法取决于具体需求,比如是否需要深拷贝,对象的复杂性,以及你是否愿意引入额外的依赖库。在处理包含复杂对象结构的情况时,序列化/反序列化或第三方库可能更加方便。而对于简单的对象,手动拷贝或使用构造器拷贝则更为直接和高效。深拷贝与浅拷贝相关解释:深拷贝和浅拷贝↩︎。

2024-07-24 17:33:46 275

原创 深拷贝和浅拷贝

选择使用深拷贝还是浅拷贝,主要取决于你的具体需求。如果你希望新对象和原对象完全独立,那么应该使用深拷贝。如果你只是需要一个对象的“视图”,并且可以接受它们共享某些数据,那么浅拷贝就足够了。深拷贝虽然更安全,但是它可能涉及更多的资源消耗,特别是在处理大型或复杂对象时。

2024-07-24 17:30:18 148

原创 @PathVariable

它用于从 URL 中提取变量,并将其绑定到方法的参数上。是处理 RESTful API 中动态路径参数的强大工具,使得从 URL 中提取信息变得简单而直观。

2024-07-23 09:41:35 152

原创 如何提升Java应用程序的安全性

在Java开发过程中,安全性是一个持续的挑战。通过了解常见的安全漏洞和实施有效的防范措施,开发者可以显著降低应用程序的安全风险。安全不是一蹴而就的,而是需要在整个开发生命周期中持续关注和改进的过程。

2024-07-22 15:59:21 507

原创 @Resource 和 @Autowired

Resource 和 @Autowired 都是 Spring 框架中用于依赖注入的注解,它们的主要目的是将 Spring 容器中的 Bean 注入到目标对象中。尽管它们的功能相似,但在使用方式和行为上存在一些差异。相同点依赖注入:两者都用于实现依赖注入,即将一个 Bean 注入到另一个 Bean 中。支持的注入类型:两者都支持字段注入、构造器注入和方法注入。不同点@Autowired 是 Spring 框架提供的注解。

2024-07-19 09:05:28 299

原创 kafka介绍&入门&案例

kafka介绍&入门&安装&案例一、kafka介绍1. 定义2. 消息队列3. 消费模式3.1 点对点模式3.2 发布/订阅模式4. 基础架构二、kafka安装1. jar包下载2. 安装3. 命令行操作三、kafka案例1.生产者代码异步发送普通生产者异步发送回调生产者带自定义分区器的生产者同步发送生产者2.消费者代码简单消费者消费者重置offset消费者自定义存储offset一、kafka介绍kafka官网地址:http://kafka.apache.org/kafka官方

2021-08-20 12:45:54 385

转载 Java中更好的发挥数据库性能

Java中更好的发挥数据库性能Java 应用中的数据库相关组件JDBC1. JDBC API1.1 使用 Prepare API1.2 使用 Batch 批量插入更新1.3 使用 StreamingResult 流式获取执行结果2. MySQL JDBC 参数2.1 Prepare 相关参数useServerPrepStmtscachePrepStmtsprepStmtCacheSqlLimitprepStmtCacheSize2.2 Batch 相关参数2.3 执行前检查参数连接池1. 连接数配置2. 探

2021-07-14 11:22:53 659

原创 MySQL使用ssl连接,java通过ssl连接数据库

java 通过ssl连接数据库MySQL使用ssl连接,java通过ssl连接数据库MySQL驱动与MySQL版本的关系什么是SSL?MySQL5.7.34 ssl配置文件和参数MySQL服务器端配置ssl配置java环境通过ssl连接数据修改yml文件中jdbc连接urlMySQL使用ssl连接,java通过ssl连接数据库用了一天的时间去解决这个问题,事情要从一个异常开始说起。当我把项目war包部署到阿里云服务器上,启动后一开始出现了PKIX path building failed: sun.s

2021-07-08 11:17:56 2560

原创 记录mybatis自定义resultMap异常

异常信息如下:Caused by: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.iie.cyberpecker.entity.po.custom.CustTaskResultInfoNoIpInfo with invalid types (Long,Long,String,Long,String) or values (Cause: java.lang.NoSuchMethodExcep

2021-01-04 18:46:45 258

原创 ubuntu实现jvm监控

ubuntu实现jvm监控使用Xming和PuTTY配置X11转发使用jvisualvm监控linux下的应用程序使用Xming和PuTTY配置X11转发参考链接: link.使用jvisualvm监控linux下的应用程序参考链接: link.

2020-11-19 15:35:36 210

原创 MySQL中如何利用B-Tree索引

MySQL中如何利用B-Tree索引索引存储分类MySQL如何使用B-Tree索引(一)mysql中能够使用索引的典型场景(1)匹配全值(Match the full value)(2)匹配值的范围查询(Match a range of values)(3)匹配最左前缀(Match a leftmost prefix)(4)仅仅对索引进行查询(Index only query)(5)匹配列前缀(Match a column prefix)(6)能够实现索引匹配部分精确而其他部分进行范围查找(Match on

2020-11-17 17:29:38 204

原创 数据库优化步骤与方案(边学边记录,更新中)

mysql数据库优化方案优化方案一、定位执行效率较低的SQL语句-------慢查询日志(一) 慢查询日志的设置(二)慢查询日志的读取二、通过explain分析低效SQL的执行计划优化方案一、定位执行效率较低的SQL语句-------慢查询日志慢查询日志记录了所有执行时间超过参数long_query_time(单位:s)设置值并且扫描记录数不小于min_examined_row_limit的所有SQL语句的日志(获得表锁定的时间不算作执行时间)。long_query_time默认为10秒,最小为0秒,

2020-11-15 21:04:49 237

原创 数据库索引规约补充说明

数据库优化MySQL索引索引规约二级目录三级目录MySQL索引聚集索引一个表中只能有一个,聚集索引的顺序与数据真实的物理存储顺序一致。查询速度特别快,聚集索引的叶子节点上是该行的所有数据,数据索引能加快范围查询(聚集索引的顺序和数据存放的逻辑顺序一致)。 主键不等于聚集索引。辅助索引(非聚集索引)一个表中可以有多个,叶子节点存放的不是一整行数据,而是键值,叶子节点的索引行中还包含了一个“书签”,这个书签就是指向聚簇索引的一个指针,从而在聚簇索引树中找到一整行数据。联合索引就是由多列组成的索引

2020-11-15 17:09:06 125

原创 controller控制层接收前端json数据举例说明

controller控制层接收前端json数据举例说明json中数据含有多个json中包含单个数据时json中数据含有多个{"deviceName":"资产名称","deviceIp":"192.168.13.34","riskNumber":"90","deviceType":"shanghai","deviceFactory":"海康威视","model":"ipcamera","edition":"dcs-932lb1","os":"linux kernel","vulNumber":"13","

2020-11-10 19:45:55 2035

原创 记录springmvc上传文件解析异常

记录springmvc上传文件解析异常一、 java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?一、 java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?这是在找解决错误的过程中,

2020-10-31 19:19:50 238 1

原创 freemark生成word文档。自用

详细freemark生成word文档。自用制作模板修改word模板设计数据类业务层关于图片生成替换数据模板项目需求:需要将数据以word文档的形式展示出来。制作模板对模板中的文件进行修改设计数据类业务方法对数据进行填充替换模板数据部分代码展示制作过程中可能遇到的问题制作模板注意事项:1、表格中的字段不能重复。否则在数据填充的时候会出现相同字段赋一样的值。建议跟数据库中的字段保持一致,方便在业务层中进行处理。【图片例1.1 产品型号与版本 1.2项目信息 1.3检查

2020-05-12 14:41:05 217

原创 linux下运行jar包

linux下运行jar包一、 java -jar kafka_data.jar基本jar包执行方式。当用Ctrl+c中断或者关闭Xshell窗口时,程序也会中断执行。二、java -jar kafka_data.jar &&:代表在后台运行。使用Ctrl+c时程序不会中断执行;关闭Xshell窗口时程序会中断执行。三、nohup java -jar ka...

2020-04-14 16:30:13 144 1

原创 I/O流

理解流java中所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java中将输入输出操作称为流,比如水管将两个容器连接起来,将数据从外存中读取到内存中(供Java程序使用)的称为 输入流 ,将数据从内存写入外存中的称为输出流流是一个形象的概念,当程序需要读取 数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件、内存、网络连接等。同样,当程序需要...

2020-04-10 13:38:51 121

空空如也

空空如也

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

TA关注的人

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