
Java
文章平均质量分 91
Java知识点
-Jared
这个作者很懒,什么都没留下…
展开
-
什么是MapStruct?
一、简介现在的分布式系统中模块划分越来越细,不同模块的实体、DTO、DO等需要进行转换,这么多工程处理起来不是那么简单。MapStruct 就是这样的一个属性映射插件,用于为Java Bean生成类型安全且高性能的映射。它基于编译阶段生成get/set代码,此实现过程中没有反射,不会造成额外的性能损失。只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了繁琐的映射实现。???? 官网 - ???? Github - ???? 官方示例优点与手工编写映射代码相比原创 2021-06-14 16:58:26 · 1609 阅读 · 2 评论 -
本地事务&分布式事务
一、本地事务1、事务的基本性质数据库事务的几个特性∶原子性(Atomicity)、一致性(Consistency)隔离性或独立性(Isolation)和持久性(Durabilily),简称就是 ACID;原子性 ∶ 一系列的操作整体不可拆分,要么同时成功,要么同时失败一致性∶ 数据在事务的前后,业务整体一致。转账 A∶1000; B∶1000; 转200 事务成功; A∶ 800 B∶1200隔离性∶ 事务之间互相隔离。持久性∶ 一旦事务成功,数据一定会落盘在数据库。在以往的单体原创 2020-12-14 09:40:47 · 387 阅读 · 0 评论 -
压力测试Jmeter的简单使用
前言Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了原创 2020-11-22 08:57:57 · 736 阅读 · 0 评论 -
Docker超详细教程
Docker简介Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。应用场景Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展原创 2020-10-09 07:21:03 · 4308 阅读 · 1 评论 -
Java基础--2
1、异常分类及处理一、 概念如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。二、异常分类Throwable是Java语言中所有错误或异常的超类。下一层分为Er...原创 2020-06-25 17:17:28 · 207 阅读 · 0 评论 -
Java基础--集合
集合类存放于Java.util包中,主要有3种set(集)、list(列表)、map(映射) 视频学习链接先上图 ~List、SetArrayList:底层是数组。LinkedList:底层是双向链表。Vector:底层是数组,线程安全的,线程同步的,某一时刻只有一个线程能够写 Vector,所有效率较低,使用较少。HashSet:底层是...原创 2020-06-26 19:51:49 · 114 阅读 · 0 评论 -
Java多线程并发--1
1、线程实现/创建方式一、继承 Thread 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。public class MyThread extend...原创 2020-06-28 16:39:41 · 153 阅读 · 0 评论 -
Java基础--1
1、Java语言有哪些特点简单易学,有丰富的类库面向对象(java最重要的特性,让程序耦合度更低,内聚性更高)与平台无关性(JVM是Java跨平台使用的根本)可靠安全支持多线程2、面向对象和面向过程的区别面向过程: 是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所有单片机,嵌入式开发等...原创 2020-06-24 20:39:02 · 164 阅读 · 0 评论 -
Java多线程并发--3
1、Java 中用到的线程调度抢占式调度:抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。协同式调度:协同式调度指某一线程执行完后主动通知系统切换到另一...原创 2020-06-29 17:16:02 · 307 阅读 · 0 评论 -
Java多线程并发--2
1、同步锁与死锁一、同步锁当多个线程同时访问同一个数据时,很容易出现问题。为了避免这种情况出现,我们要保证 线程同步互斥,就是指并发执行的多个线程 ,在同一时间内只允许一个线程访问共享数据。 Java 中可以使用synchronized 关键字来取得一个对象的同步锁。二、死锁何为死锁,就是多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释...原创 2020-06-29 10:46:31 · 118 阅读 · 0 评论 -
Mybatis plus简单入门
一、简介官网:http://mp.baomidou.com/参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。二、特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺...原创 2020-08-06 17:33:18 · 356 阅读 · 1 评论 -
masOS-Maven安装部署
1. 下载maven官网maven 3.6.3maven库,百度网盘 : 3egs解压到/usr/local/,或者其他地方2.修改配置文件修改本地仓库路径修改镜像,从阿里云镜像仓库下载速度比较快(注意配置的格式) <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <n原创 2020-09-27 19:37:05 · 445 阅读 · 0 评论 -
macOS-JDK11安装部署
1.下载JDKoracle官网JDK下载地址百度网盘:20pn2.安装傻瓜式安装,dmg格式会自动安装到Macintosh HD/资源库/Java/JavaVirtualMachines 下打开终端输入java -version 出现版本号说明配置生效3. 配置环境变量1. 配置到/etc/profile:为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效。当被修改时,必须重启才会生效。英文描述:”System wide enviro原创 2020-09-27 19:28:34 · 1236 阅读 · 0 评论