系统变的复杂,系统的层次划分越来越细,边界也越来越明确。 然后每一层之间一般都有自己要处理的领域对象,统称为 pojo 一般在model或者domain包下(类的后缀不能为pojo)。 常见的一些模型类型: PO、 DO :持久层对象,一般和数据库直接打交道。 DTO :数据传输对象,系统之间的交互,再服务层提供服务的时候输出到其它系统。 VO:视图 ......
239
0
0
2023-10-16
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。 先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足 ,主要内容如下图所示: HashMap 遍历 HashMap 遍历 ......
210
0
0
2023-10-15
log4j 有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、 ......
267
0
0
2023-10-13
周末有个小伙伴加我微信,向我请教了一个问题:老哥, 「 过滤器 ( Filter ) 和 拦截器 (Interceptor) 有啥区别啊?」 听到题目我的第一感觉就是: 「简单」 !毕竟这两种工具开发中用到的频率都相当高,应用起来也是比较简单的,可当我准备回复他的时候,竟然不知道从哪说起,支支吾吾了半天,场面炒鸡尴尬有木有,工作这么久一个基础问题答成这样 ......
249
0
0
2023-10-13
简介IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总 ......
323
0
0
2023-10-13
Google Java 编程规范(中文版)1.1 术语说明在本文档中,除非另有说明:1. 术语class可表示一个普通类,枚举类,接口或是annotation类型( @interface )2. 术语comment只用来指代实现的注释(implementation comments),我们不使用”documentation comments”一词,而是用Ja ......
213
0
0
2023-10-13
前言Mybatis 是 Java 开发中比较常用的 ORM 框架。在日常工作中,我们都是直接通过 Spring Boot 自动配置,并直接使用,但是却不知道 Mybatis 是如何执行一条 SQL 语句的,而这篇文章就是来揭开 Mybatis 的神秘面纱。基础组件我们要理解 Mybatis 的执行过程,就必须先了解 Mybatis 中都有哪一些重要的类, ......
260
0
0
2023-10-12
在接下来的15分钟里,您将学习如何通过线程、任务和执行器服务并行执行代码。 三大部分重点: 你为什么不会用 多线程 ,因为你不懂生产者与消费者。 一般分三步: 多线程一般用来执行这样的操作。比如说取数据。去多个平台拿 几千个数据,可以分多个线程去拿。然后将取来的数据放在并发容器中。后面的处理从容器中拿数据 去处理。 相当于分了两步走。 取数据 处理数据 写数 ......
267
0
0
2023-10-12
02 JVM 垃圾回收算法2.1 什么是垃圾回收? 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。 2.2 什么样的对象需要回收?引用计数法 引用计数是历史最悠久的一种算法,最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依 ......
233
0
0
2023-10-12
在 Java 网络开发的过程中接触NIO是必不可少的,在NIO中有一个重要的组件那就是 ByteBuffer ,下面就来通过图文的方式来讲解ByteBuffer的使用以及一些操作的原理。 1. ByteBuffer实现原理 对于ByteBuffer来说主要有五个重要属性如下: mark(int类型): 记录当前索引的位 ......
234
0
0
2023-10-12
作者:录录当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下 ......
199
0
0
2023-10-12
原文链接:实现思路 1.如何分析? 第一步:发现类(对象) 人物-小丑(敌方-友方) 子弹-帽子 墙体 爆炸物 第二步:发现属性 小丑: 宽高 , 位置(x y), 移动速度 帽子: 宽高 , 位置(x y), 移动速度 墙体: 宽高 , 位置(x y) 爆炸物:宽高 , 位置(x y) 第三步:发现方法 小丑: ......
203
0
0
2023-10-11
一、导学掌握 Linux命令 是高级Java工程师必备的技能之一,但并不是每个人都能完全掌握,绝大部分 Java 初中级工程师只知道少数的cd/ls/mkdir/rm等非常简单的命令,但是只会这些命令是完全不够的,如果想要提升技术壁垒,晋升成为大牛 程序员 ,掌握最实用的Linux命令是不可或缺的。文本作者结合多年企业开发经验,将最实用的Linux命令进行了 ......
247
0
0
2023-10-11
java虚拟机 在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着 虚拟机 进程的启动而一直存在,有些区域则是依赖用户 线程 的启动和结束而建立和销毁。 如下图所示,其中灰色部分为单个线程私有的,红色部分是多个线程所共享的。 每个线程:包括 程序计数器 、栈、本地方法栈 线程间共 ......
259
0
0
2023-10-11
Minio上传文件如果不使用云服务的话,需要本地搭建,一般选择 FastDFS 但是 FastDFS 安装比较复杂,今天了解一款安装使用更简单的存储系统 MinIOMinIO 这是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件上。即X86等低成本机器也能够很好的运行MinIO。MinIO与传统的存储和其他的对象存储不同的 ......
282
0
0
2023-10-11