随笔分类 -  后端

后端系统开发笔记
摘要:# Netty 原理解析与开发实战 ## 八、ChannelHandler ### 8.1 ChannelHandler介绍 我们对数据的处理都是在ChannelHandler中完成的,Netty提供了众多ChannelHandler的实现类来帮助我们实现一些网络编程中通用功能,比如最常用的心跳检测 阅读全文 »
posted @ 2023-08-03 17:20 zolmk 阅读(120) 评论(0) 推荐(0) 编辑
摘要:# Java设计模式 GoF(最先开始着手进行设计模式分类整理工作)对设计模式的定义是: ***设计模式***是在**特定的环境**下为解决某一**通用软件设计问题**提供的一套定制的**解决方案**,该方案描述了**对象和类之间的相互作用**。 ## 一、面向对象设计的七大原则 ### 1.1 阅读全文 »
posted @ 2023-08-01 21:11 zolmk 阅读(50) 评论(0) 推荐(0) 编辑
摘要:# UML类图中对象之间的几种关系 对象之间的关系有:泛化(继承)、实现、依赖、关联、聚合、组合 下面我们来一一说明。 ## 1. 泛化 表示类之间的一种继承关系,父类是子类的泛化,例如对老虎可以泛化为动物。 A继承了B,则A是B的一种,也可以说B是A的泛化。 ![img](https://img2 阅读全文 »
posted @ 2023-07-23 10:51 zolmk 阅读(281) 评论(0) 推荐(0) 编辑
摘要:# Netty 原理解析与开发实战 ## 一、Netty 概述 ### 1.1 Java网络编程进化史 #### 1.1.1 Java OIO 早期java提供了 `java.net`包用于开发网络应用,这类API被称为阻塞Java OIO(阻塞IO)。 服务端主要实例代码: ```java Ser 阅读全文 »
posted @ 2023-07-14 12:30 zolmk 阅读(166) 评论(0) 推荐(0) 编辑
摘要:# IO数据拷贝的几种方式——传统、mmap、sendFile、splice ## 1. 传统IO数据拷贝方式 ![img](https://img2023.cnblogs.com/blog/2020662/202307/2020662-20230707164517773-21709011.png) 阅读全文 »
posted @ 2023-07-08 17:34 zolmk 阅读(335) 评论(0) 推荐(0) 编辑
摘要:# 线程模型 ## 1.传统服务设计模型 特点: - 通过阻塞I/O来获取数据 - 每个连接都需要独立的线程来完成业务输入、数据处理、数据返回 存在的问题: - 1.当并发数很大时,需要创建大量线程,占用了很多系统资源。 - 2.连接创建后,如果连接中没有数据可读,线程会被阻塞,操作线程资源浪费。 阅读全文 »
posted @ 2023-07-08 17:32 zolmk 阅读(72) 评论(0) 推荐(0) 编辑
摘要:使用Maven-shade-plugin打包SpringBoot项目 另附参考文章:https://blog.csdn.net/u011441473/article/details/127844885 好奇葩的打包之旅,最后在stack overflow上找到了解决办法,遇到问题,还是多去googl 阅读全文 »
posted @ 2023-04-22 18:34 zolmk 阅读(882) 评论(0) 推荐(0) 编辑
摘要:Spring Boot Security (三) 之前的随笔(https://www.cnblogs.com/zolmk/p/14074227.html)简单的使用了Spring Boot Security,没有深入。 一、主要内容 这篇主要的应用场景为前后端分离,前端Vue,后端Spring Bo 阅读全文 »
posted @ 2023-04-22 16:52 zolmk 阅读(168) 评论(0) 推荐(0) 编辑
摘要:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release> 阅读全文 »
posted @ 2023-04-02 19:12 zolmk 阅读(24) 评论(0) 推荐(0) 编辑
摘要:DevOps学习 -- 使用 GitLab、GiLab-Runner 下图为我们的自动化部署流程 用户推送代码到 GitLab,GitLab 将配置好的代码更新事件(流水线)发送到 GitLab-Runner或其他CI/DI软件,CI/DI软件完成自动部署。 一、安装配置部署 GitLab 安装 G 阅读全文 »
posted @ 2022-09-10 19:41 zolmk 阅读(311) 评论(0) 推荐(0) 编辑
摘要:搭建自己的 Maven 仓库 搭建仓库 这里我们使用 Docker 容器技术。 拉取镜像:docker pull sonatype/nexus3 运行镜像:docker run -d -p 8081:8081 --name nexus sonatype/nexus3 可以通过浏览器查看仓库,地址为: 阅读全文 »
posted @ 2022-09-10 19:35 zolmk 阅读(1100) 评论(0) 推荐(0) 编辑
摘要:Java 高级特性——安全,jaas登陆框架(二) java 提供了 jaas 框架来对用户进行鉴权,本文主要从实战方面讲述如何使用 jaas 框架,最终完成登陆模块。 阅读本文的前置知识:Java 安全框架(策略文件的使用) 注:如果使用了 Java 模块,则需将登陆用到的自定义包导出 一、Jaa 阅读全文 »
posted @ 2022-08-28 10:30 zolmk 阅读(618) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 配置引发 时区问题,接口返回日期莫名其妙-1天? 如果像这篇文章(https://www.cnblogs.com/zolmk/p/16452157.html) 一样配置 MessageConverter 会引发一个莫名其妙的时区问题,如:接口返回日期被-1天。 修改方式如下, 阅读全文 »
posted @ 2022-08-17 21:37 zolmk 阅读(347) 评论(0) 推荐(0) 编辑
摘要:SpringBoot 过滤器和拦截器 实现全局接口日志输出 首先,看一张图: Tomcat收到请求之后,会先通过过滤器 Filter,该过滤器属于 Java Http 框架(过滤器采用接口回调的方式来运行);然后请求被发送的 Servlet,SpringBoot收到请求之后,调用拦截器 Interc 阅读全文 »
posted @ 2022-08-14 20:41 zolmk 阅读(2421) 评论(0) 推荐(2) 编辑
摘要:Java高级特性——安全 Java技术提供了三种确保安全的机制: 语言设计特性(对数组的边界进行检查,无不受检查的类型转换,无指针算法) 访问控制机制,用于控制代码能够执行的操作 代码签名 一、类加载器 1. 类加载器介绍 类加载器可以在将类加载到虚拟机的时候检查类的完整性。 类加载器主要有三种:引 阅读全文 »
posted @ 2022-07-31 19:29 zolmk 阅读(105) 评论(0) 推荐(0) 编辑
摘要:Java高级特性——平台模块系统 java9 引入了 JAVA 平台模块系统 一、模块的概念 假设一个场景,我们想要修改或剔除一个很少使用的特性,如果它对外是公有的,那么就没办法推断这个变化产生的影响。模块为我们提供了比较好的解决方案。 一个 JAVA 平台模块包含: 一个包集合 可选地包含资源文件 阅读全文 »
posted @ 2022-07-31 12:22 zolmk 阅读(134) 评论(0) 推荐(0) 编辑
摘要:解决 SpringBoot配置全局的fastxml转换器——引发 Hibernate事务同步错误: Cloud not obtain synchronized-ransaction Session for current thread 参考https://www.cnblogs.com/zolmk/ 阅读全文 »
posted @ 2022-07-06 19:11 zolmk 阅读(265) 评论(0) 推荐(0) 编辑
摘要:SpringBoot中Jackson的使用:注册全局的序列化和反序列化器 注:此种方式会引发Hibernate事务同步问题,虽然修改的是接口层,但是会影响DAO层,修改建议如下: https://www.cnblogs.com/zolmk/p/16452157.html 什么情况下会用到? 当我们需 阅读全文 »
posted @ 2022-07-02 01:52 zolmk 阅读(1529) 评论(0) 推荐(0) 编辑
摘要:SpringBoot中的表单校验 一、添加依赖 请注意,不添加依赖编译不会报错,但是校验注解不会生效! <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </depende 阅读全文 »
posted @ 2022-05-28 12:30 zolmk 阅读(367) 评论(0) 推荐(0) 编辑
摘要:Spring Boot\Cloud Maven项目版本管理问题 前述:Spring Boot和Spring Cloud如果配置的时候不注意版本,就会出现各种各样奇奇怪怪的问题,手动管理项目依赖太麻烦。 使用Maven中的DependenciesManager节点来管理版本 一般常用的有下面三个: < 阅读全文 »
posted @ 2022-05-03 20:38 zolmk 阅读(458) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示