抱歉,您的瀏覽器無法訪問本站
本頁面需要瀏覽器支持(啟用)JavaScript
了解詳情 >

前言

最近在面试时,被问到了一个MySQL死锁相关的问题,在当时并没有意识到这会产生死锁,那么就需要来学习一下MySQL中锁🔒的相关知识啦

MySQL

APT介绍

在JDK6的时候引入了JSR269的标准,即 Pluggable Annotation Processing API (可插入注解处理API),简称APT。它提供了在编译时期改变一些行为的相关API,例如生成一些新的JAVA文件。

大致处理流程如下图,APT在编译成class文件时执行,在这个过程中可以自定义相关行为,例如生成新的源文件(MapStruct),修改AST语法树(Lombok),直到所有编译处理器都没有在对JAVA文件进行修改为止,才会走到后续的生成Class文件的流程。

img

前言

个人博客之前使用的是七牛云的10G的S3存储+自定义CDN 加速域名,来作为博客的免费的图床。但最近不知道为啥总是有额外的流量费用,根据工单说是走了额外的外网流出流量,最后也没排查出啥结果,同时七牛云的免费额度并不包括HTTPS协议,又因为浏览器的混合内容的问题(HTTPS不能直接发起HTTP请求)还导致博客只能为HTTP协议,带来了很多请求的麻烦,因此决定在服务器上自建图床~

img

前言

这几年随着Go的发展,Go语言也是越来越火了,随意打开一个招聘软件都能发现有许多Go的招聘岗位。

那么我作为一个Javaer也开始学习Go的相关知识,Go的语法并不难学甚至还比较简单,但Go的思想、项目开发却与大多数的OOP语言有些不同。下面就来我就来描述一下自己在使用Go进行项目实践开发中遇到的疑惑吧,欢迎大伙在评论区交流一下。

Go

前言

在Go语言中提供了以下形式来遍历容器类型(array、slice、map),同时可以通过空标识符_忽略掉key或者value的赋值。下面来了解一下这四种循环语句需要注意的地方吧。

Go

前言

大伙都知道在今年的3月份,Go官方在1.18版本中推出了泛型的特性。本文就是介绍一个基于1.18版本的Go工具类库samber/lo,该库相对于其他使用反射来实现的库来说,更加的快、同时还安全。

它提供了切片的许多辅助函数。例如:FilterSliceFillMapFilterMapFlatMapGroupByPartitionBy等,还提供了类似Java中的try-catch机制的异常处理函数,例如:TryTryWithErrorValueTryCatch

Go

banner

映射集合,流

Collection类

MapStruct中也是支持Collection类型之间的映射,使用方法与正常Bean对象映射是一致的,只是多了个循环语句。

banner

数据类型转换

自动类型转换

在平常的对象映射中,总会有很多类型不完全一致的情况,例如IntegerLongStringInteger或者两个自定义对象之间的转换等。在MapStruct中定义了一些类型的自动类型转换或者说是隐形类型转换。

banner

前言

也不知道说啥,那就直入主题吧~

什么是MapStruct?

介绍

相信大家,已经在各种地方都听过MapStruct这个框架了,知道它是一个类似于BeanUtils的拷贝框架,那么下面让我们来看下官方的介绍

进程、线程、协程有什么区别

进程通俗理解一个运行起来的程序或者软件就叫进程,可以理解进程就是负责获取系统资源,他是操作系统分配资源的基本单位

线程是依附于进程里面的,线程是cpu调度的基本单位,同一个进程间的线程共享同一片内存空间,线程之间通信主要使用共享内存。

协程是一种用户态的轻量级线程,协程的调度完全由用户控制。