自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

龙套的博客

一无所知又无比嚣张的龙套

  • 博客(96)
  • 资源 (5)
  • 收藏
  • 关注

原创 【Java】BigDecimal使用不当导致的生产事故

我们在使用金额计算或者展示金额的时候经常会使用 BigDecimal,也是涉及金额时非常推荐的一个类型。BigDecimal 自身也提供了很多构造器方法,这些构造器方法使用不当可能会造成不必要的麻烦甚至是金额损失,从而引起事故资损。接下来我们看下收银台出的一起事故。...

2022-06-06 23:18:37 343 1

原创 【SpringBoot】切面AOP概念及简单实例

文章目录理解AOP1、什么是AOP2、 AOP的体系和概念概念简解AOP实例相关注解1、@Pointcut2、@Around3、@Before4、@After5、@AfterReturning6、@AfterThrowing理解AOP1、什么是AOPAOP(Aspect Oriented Programming),面向切面思想,是Spring的三大核心思想之一(另外两个:IOC-控制反转、DI-依赖注入)。那么AOP为何那么重要呢?在我们的程序中,经常存在一些系统性的需求,比如权限校验、日志记录、统

2021-06-26 13:49:03 291

原创 【Spring】事务管理

文章目录Transactional注解属性1、Timeout2、isolation3、readOnly4、propagation5、rollbackFor和noRollbackForTransactional注解属性1、Timeout设置事务的超时时间,默认为-1(即不设超时)2、isolation该属性可以设置事务的隔离级别。小知识:数据库有四种隔离级别:读未提交、读已提交、可重复读、可串行化。MySQL默认的隔离级别是可重复读,Oracle的默认隔离级别是读已提交。DEFA

2021-05-30 16:30:24 164

原创 【SpringBoot】实现跨域的5种方式

文章目录跨域介绍为什么会出现跨域问题理解跨域非同源的限制Java后端实现CORS跨域请求的方式1、返回新的CorsFilter:全局跨域2、重写WebMvcConfigurer:全局跨域3、使用注解:局部跨域4、手动设置响应头:局部跨域5、使用自定义filter实现跨域跨域介绍为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础

2021-05-30 13:44:48 112

原创 【Mybatis】实现数据批量操作

文章目录批量插入1、循环调用SQL插入2、SQL + 'foreach'标签特点批量更新1、循环调用SQL更新1、SQL+外层2、Mybatis批量更新批量插入1、循环调用SQL插入性能问题,排除该方案。2、SQL + 'foreach’标签这个方案有两种写法:第一种写法(推荐):<insert id="insertBatch"> INSERT INTO tb_student (name, age, phone, address, class_id) VALUES

2021-05-16 16:44:49 184

原创 【IDEA】插件开发小入门

文章目录【IDEA】插件开发小入门准备工作开发步骤一、新建项目二、新建简单Action新建Action插件相关信息三、编辑“Hello”动作四、效果【IDEA】插件开发小入门准备工作安装社区版IDEA:专业版也可以,不过社区版代码开源,如果后面做深入插件开发的话,社区版适合调试;**安装Plug-in DevKit Helper **:这个插件是协助我们进行插件开发的,对于我们插件开发入门非常友好。准备工作如上,接下来可以进行插件开发了开发步骤一、新建项目我们Idea新建plugin开

2021-05-05 23:15:21 138

原创 【Deepin】Linux配置软链接

Deepin 配置软连接命令配置软链接,类似于 Window中“配置环境变量”的作用:可以在任何目录中执行命令。逻辑原理:在 usr/local/bin目录中增加一个快捷方式,可以链接到对应配置路径下的执行文件。此处以配置GoLand为例sudo ln -s 执行文件路径 /usr/local/bin/快捷方式名eg:sudo ln -s /media/devin/b4b7bcbd-a74c-42ae-a817-bc1ab9460bfa/devlop/goland-2021.1.1/Go

2021-04-25 15:36:42 565

原创 【面试知识点】Elasticsearch

面试知识点之——Elasticsearch文章目录面试知识点之——Elasticsearch1. Elasticsearch是如何实现master选举的2. 详细描述一下ElasticSearch索引文档的过程3. 详细描述一下ElasticSearch更新和删除文档的过程4. 详细描述一下ElasticSearch搜索的过程5. ElasticSearch对于大数据量(上亿)的聚合如何实现6. 并发情况下,ElasticSearch如何保证读写一致7. ElasticSearch中的集群、节点、索引、文

2021-04-18 22:15:48 94

原创 【常见知识点】MongoDB

常见知识点之——MongoDB文章目录常见知识点之——MongoDB1. 什么是MongoDB2. MongoDB的优势3. MongoDB中的集合(对应数据库)4. 文档(对应表)5.为什么用MOngoDB?6.在哪些场景使用MongoDB7.MongoDB中的命名空间是什么意思?8.MongoDB中的分片什么意思9.为什么要在MongoDB中使用分析器10.MongoDB支持主键外键关系吗11.MongoDB支持哪些数据类型12.为什么要在MongoDB中用"Code"数据类型13.为什么要在Mong

2021-04-18 00:15:13 66

原创 【常见知识点】数据结构与算法

常见知识点之——数据结构与算法1.什么是算法?2.TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?3.如何知道二叉树的深度?4.介绍一下,堆排序的原理是什么?5.数组和链表的区别6.二分查找了解过吗?7.说下你熟悉的排序算法8.布隆过滤器了解过吗?9.一致性hash算法了解过吗?10.如何在一个1到100的整数数组中找到丢失的数字?11.请你讲讲LRU算法的实现原理?12.为什么要设计后缀表达式,有什么好处?13.

2021-04-17 20:28:31 86

原创 【常见知识点】计算机组成原理

常见知识点之——计算机组成原理1.计算机系统由哪两部分组成?计算机系统性能取决于什么?2.计算机系统5层层次结构从下到上由哪五层组成?哪些是物理机,哪些是虚拟机?3.在计算机系统结构中,什么是翻译?什么是解释?4.什么是计算机体系结构?什么是计算机组成?以乘法指令为例说明二者区别。5.冯诺依曼机器的主要特点?6.程序访问的局部性7.字长8.Cache的基本工作原理9.Cache和主存之间的映射方式10. Cache中主存块的替换算法11.二进制一般使用什么方法转换成十进制?12.计

2021-04-17 20:20:47 216

原创 【常见知识点】计算机网络

计算机网络常见知识点1.简述TCP/UDP的区别2.TCP对应的协议和UDP对应的协议3.有哪些私有(保留)地址?4.你能说一说OSI七层模型?5.说一说TCP/IP四层模型6. 简述IP地址的分类?7.简述ARP地址解析协议工作原理8.简述ICMP、TFTP、HTTP、NAT、DHCP协议9.说一说TCP的三次握手10.为什么TCP要三次握手11.TCP建立连接时为什么要传回 SYN12.TCP为什么要四次挥手13.滑动窗口和流量控制14.拥塞控制15.在浏览器中输入url

2021-04-17 20:07:20 62

原创 【RPC】Grpc的Streaming

文章目录一、前言二、gRPC服务端流三、grpc客户端流四、gRPC双向流五、StreamObserver转换为反应式框架流六、总结一、前言grpc 是一个由 google 推出的、高性能、开源、通用的 rpc 框架。它是基于 HTTP2 协议标准设计开发,默认采用 Protocol Buffers 数据序列化协议,支持多种开发语言。一般业务场景下,我们都是使用grpc的simple-rpc模式,也就是每次客户端发起请求,服务端会返回一个响应结果的模式。但是grpc除了这种一来一往的请求模式外,还

2021-03-28 22:36:04 501

原创 【javaScript】JavaScript与DOM

DOM:文档对象模型(Document Object Model)DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API。Javascript和DOM一般经常作为一个整体,因为Javascript通常都是用来进行DOM操作和交互的。关于DOM,有些知识需要注意:window对象作为全局对象,也就是说你可以通过window来访问全局对象。属性在对象下面以变量的形式存放,在页面上创建的所有全局对象都会变成window对象的属性。方

2021-03-22 23:36:09 133

原创 【SpringCloud】微服务架构概览

文章目录1、什么是微服务1.1、架构演进1.2、微服务解决方案2、SpringCloud概览2.1、什么是SpringCloud2.2、主要的组件2.2.1、Eureka:注册中心(服务发现)2.2.2、Ribbon:负载均衡2.2.3、Feign:Web Service2.2.4、Hystrix:熔断2.2.5、Zuul:网关2.2.6、GateWay:网关2.2.7、Config:分布式配置2.2.8、Bus:消息总线2.2.9、OAuth2:授权认证2.2.10、Sleuth:服务链路追踪3、小结1

2021-03-21 16:24:15 133

原创 【操作系统】进程相关概念问题小汇

文章目录一、进程, 线程1.进程什么是进程?程序与进程的区别进程之间交互2.线程什么是线程线程之间交互3.进程与线程的关系4.总结二.并行, 并发, 串行三.任务运行的三种状态1.就绪态 (Ready)2.运行态 (Running)3.阻塞态 (Blocked)(sleep)4.进程三种状态 间的转换就绪态➠➠运行态运行态➠➠就绪态运行态➠➠阻塞态阻塞态➠➠就绪态四.任务提交的两种方式1.同步2.异步3.例子五.进程池1.什么是进程池?2.为什么要有进程池?3.进程池的概念资源进程管理进程4.资源进程与管理

2021-03-20 22:47:58 220

原创 【设计模式】Java多线程保证单例

文章目录单例模式分析立即加载(饿汉模式)延迟加载(懒汉模式)懒汉模式保证单例的解决方案1. synchronized关键字实现2. 静态内置类实现单例模式3. 序列化和反序列化实现单例4. 使用static代码块实现单例5. 使用enum枚举实现单例6. 完善使用enum实现单例模式我们常使用单例模式来解决多线程或并发场景下变量数据的安全问题,避免脏数据的产生。本文主要简单总结下Java多线程中使用单例模式思想的各种实现,并比较这些单例具体实现的优点和缺陷。文章内容摘自:《Java多线程编程核心技

2021-03-18 22:27:15 151 1

原创 【SpringBoot】MySQL读写分离实现

文章目录(前言)主从同步的局限性1. 主从数据源配置2. 数据源路由配置3. 数据源上下文环境4. 注解切换、Aop配置5. 实际用法、测试6. 总结(前言)我们回想一下,在高并发场景下,对于数据库我们可以有哪些优化手段:读写分离添加缓存主从架构集群分库分表以上是数据库主要的优化手段,在互联网项目应用中,大部分都是读多写少的场景,我们可以设置两个库实现读写分离,称主库和读库。主从同步的局限性这里分为主数据库和从数据库,主数据库和从数据库保持数据库结构的一致:主库负责写,当写入数据的

2021-03-17 23:08:09 127

原创 【消息队列】通用基础介绍

文章目录消息队列1. MQ的本质2. 模型演化2.1 队列模型2.2 发布-订阅模型2.3 结语3. MQ的应用场景4. 自己设计一个MQ4.1 MQ 的雏形4.2 写一个适用于生产环境的 MQ1、先把握这个问题的关键点2、整体设计思路3、详细设计4.3 小结消息队列1. MQ的本质消息队列(Message Queue,以下称MQ)可以理解为“一发、一存、一消费”,再直接一些就是一个“转发器”对于 MQ 来说,不管是 RocketMQ、Kafka 还是其他消息队列,它们的本质都是:一发一存一

2021-03-16 22:33:07 193 1

原创 【go学习】go命令笔记

文章目录提要一、基本常用命令go buildgo rungo install其他命令提要go项目的目录一般存有三个主要文件夹:bin:编译后生成的可执行文件(exe文件)一般都存放在这边。bin目录一般都有在环境变量之中进行设置,所以可以直接进行调用。src:存放开发的源代码,一般都是在该目录下进行编码开发。pkg:存放编译后的库文件一、基本常用命令go build编译go程序文件,生成二进制可执行(exe)文件,可以直接打开运行。编译生成的exe可执行文件go

2020-10-25 20:36:56 99

原创 【Zookeeper】常见面试题

Zookeeper常见面试题1、 Zk是什么zookeeper是一个分布式的,开放源码的分布式应用程序协调服务(以下简称Zk)。Zk是hadoop和hbase的重要组件。Zk是一个为分布式应用提供一致性服务的软件,提供的功能主要包括:配置维护域名服务分布式同步组服务2、 Zk有哪些功能?集群管理:监控节点存活状态、运行请求主节点选举:主节点挂掉后,可以从备用的节点中进行新一轮选举,该选举过程就称为主节点选举。分布式锁:zookeeper提供两种锁:独占锁,共享锁。

2020-07-30 17:26:04 834

原创 【Dubbo】搭建源码环境

文章目录1. 拉取Dubbo源码2. maven编译3. 导入到IDEA1. 拉取Dubbo源码Dubbo源码仓库链接相关命令://拉取仓库代码git clone https://github.com/apache/dubbo//切换具体分支,此处以2.7.7为例git checkout -b dubbo-2.7.7 dubbo-2.7.72. maven编译执行mvn命令编译此处需要事先配好maven的环境mvn clean install -D maven.test.ski

2020-07-28 17:13:06 179

原创 【Mybatis】ResultMap解析

ResultMap解析在Mybatis中,resultMap节点定义了结果集和结果对象(JavaBean)之间的映射规则。本文章主要讲述的是resultMap的解析。相关基础类1、ResultMapping:列映射类ResultMapping对象记录了结果集中的一列与对应JavaBean中一个属性的映射关系;文章参考:列映射类ResultMapping2、ResultMap:结果集映射类ResultMapResultMap对应的是结果集中的一个结果集。其基本组成部分中,含有Result

2020-07-28 14:58:27 584

原创 【Swagger笔记】Unable to infer base url

在进入Swagger接口测试界面时,弹出一个弹窗,内容:Unable to infer base url. ……大体的意思为:Swagger获取不到它需要的资源,原因可以从两方面考虑:Swagger相关的配置没配置好。这种情况相关配置教程很多,请用自己喜欢的引擎搜索Swagger没有获得访问路径的权限。例如之前刚配置好的权限管理,如Shiro、Security等,需要对Swagger请求访问的相关路径进行开放。相关路径如下:/swagger-ui.html/webjars/**/v2/

2020-07-28 14:49:21 1133

原创 Java8 中Stream的常用技巧

Java8中,Stream数据流操作对集合操作做了极大的简化,学习了Stream,以后我们可以不用for循环就能对集合进行很多操作。文章目录Stream的初始化流操作1、遍历操作(map)2、过滤操作(filter)3、循环操作(forEach)4、返回特定结果集合(limit/skip)5、排序(sort/min/max/distinct)6、匹配(Match相关)Stream的初始化Java中所有的Stream操作,都是针对流对象的,故使用Stream必须得初始化得到Stream类型对象:S

2020-07-28 13:58:30 624

原创 Redis的内存淘汰策略

带着问题学习Redis数据库内存满了的话,会不会造成宕机?答案这个问题一开始便有一坑,Redis并不会让内存数据存满这种情况发生。在使用Redis的时候,我们需要配置Redis能够使用的最大内存大小, 存到一定容量的时候还有Redis的内存淘汰策略呢,还有最近最少使用(LRU)算法进行淘汰,等等。。。Redis占用内存众所周知,Redis是基于内存的key-value数据库,因为系统的内存大小有限,在使用Redis的时候,可以配置Redis能使用的最大内存大小。配置方式通过配置文件配置

2020-07-20 15:25:29 289

原创 IDEA-快捷键大全

文章目录常用快捷键自动代码快捷键查询快捷键其他快捷键调试快捷键重构快捷键常用快捷键Ctrl + Shift + A 快捷键可以查找 Intellij 的所有命令,且有带有其快捷键信息,可谓一大神键,也适合我们了解、学习快捷键的工具。自动代码快捷键快捷键(括号内为笔记解释)含义Ctrl + Alt + O优化导入的类和包Alt + Insert生成代码(如g...

2019-12-07 23:50:51 125

原创 【Android】记各安卓模拟器的adb调试端口

自己电脑一出问题,模拟器和Android的开发环境基本就得重装……故在此记下各个安卓模拟器的调试端口,以备以后之需,也供朋友们查看。文章目录常用模拟器调试端口ADB常用命令常用模拟器调试端口安卓模拟器端口夜神模拟器62001逍遥模拟器21503BlueStacks(蓝叠模拟器)5555雷电模拟器5555天天模拟器5037网易M...

2019-11-21 23:49:43 1827 1

原创 【GitHub】条件查询精确找到自己真正需要的开源项目

【GitHub】条件查询查找开源项目文章目录【GitHub】条件查询查找开源项目一、项目描述内容筛选in:二、项目热度筛选三、其他组合查询例子​笔记内容来源: 《如何高效地在网上找开源项目做》,作者:B站Up主 ​CodeSheep很多同学朋友,在比较系统的学习完相关知识点之后急需一些对学习内容针对性比较强的项目来练手熟悉,我当初就放着项目资源丰富的GitHub,四处找自己需要的项目,不...

2019-11-16 11:34:05 1485

原创 响应状态码手册

文章目录状态码手册状态码简单分类详细列表状态码手册状态码简单分类符号*表示 该位取任意数字分类描述1**信息,服务器收到请求后,需要请求者继续执行操作2**成功,操作被成功接受并处理3**重定向,需要进一步的操作以完成任务4**客户端任务,请求包含语法错误或无法完成请求5**服务器错误,服务器在处理请求的过程中发生了错误详细列...

2019-09-25 10:41:28 143

原创 学习(顺便手撕)SpringMVC

SpringMVCSpringMVC这么火,要不我们手撕一下吧~_(¦3」∠)_手撕是深层理解框架的必经之路。最近就手撕了一个比较具体而微型的SpringMVC核心功能(只是实现了接受请求时调用的逻辑)。发出来给大家分享分享~了解SpringMVCSpringMVC接受用户请求时的调用逻辑顺序如下:步骤解读:用户发送请求到前端控制器DispatcherServletDisp...

2019-09-24 09:16:40 464

转载 JVM指令手册

文章目录栈和局部变量操作将常量压入栈的指令将栈中的值存入局部变量的指令wide指令通用(无类型)栈操作类型转换整数运算逻辑运算移位操作按位布尔运算浮点运算对象和数组对象操作指令数组操作指令控制流条件分支指令比较指令无条件转移指令表跳转指令异常方法返回指令线程同步JVM指令助记符栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型...

2019-09-13 10:59:46 950

原创 Java排序重写比较器

重写Comparetor1、Comparetor简单比较Java中的排序默认是升序排序,重写为降序如下: public static void main(String[] args) { List<Integer> list = new ArrayList<>(); for (int i = 1; i < 10; i++) { ...

2019-09-01 23:35:52 2071

原创 【IDEA】Maven项目pom.xml依赖包下载太慢

pom.xml文件依赖包下载过慢解决方法配置国内阿里的镜像地址,速度飞起~~1、打开/创建 settings.xml鼠标右键点击 项目(或 pom.xml文件)如下图所示打开或创建 settings.xml。2、给settings.xml添加配置通过settings.xml配置国内阿里的镜像地址,settings.xml文件内容如下:<?xml version="1.0" e...

2019-08-29 21:20:10 2002 1

原创 【面经】数据库的索引(MySQL)

文章目录1、索引采用的数据结构2、为什么用B+ Tree?和Hash索引比起来有什么优缺点吗?3、B+ 树的叶子节点。4、联合索引、最左匹配5、索引的缺点6、MySql 5.6中对索引的优化索引是数据库中对数据查询/检索的一种优化方案。1、索引采用的数据结构主要有Hash索引和B+ Tree 两种数据结构。Mysql默认的InnoDB引擎中,默认的是B+ Tree。2、为什么用B...

2019-08-29 00:42:29 565

原创 【MySQL】笔记

1、连接error:Your password has expired.To log in you must change it using a client that suppor。所在问题5.7版本之后,Mysql改变了默认的强制更新密码策略。在client连接Mysql时就可能会出现这种错误。解决方案cmd命令弹出命令窗,输入mysql -uroot -p启动,输入以前的密码登录m...

2019-08-28 19:21:40 118

原创 SpringBoot中数据库的配置和使用

文章目录1、MySQL1.1、配置依赖1.2、实体配置1.3、JPA实现持久化1.4、测试此文忽略Springboot项目的创建以及初始化学习书籍《深入实践SpringBoot》1、MySQL对于传统关系型数据库(如MySQL)来说,SpringBoot使用JPA(Java Persistence API)资源库实现对数据库的操作。JPA是为POJO(Plain Ordinary J......

2019-08-16 15:56:54 66658 4

原创 MD5加密算法特点及简单实现(Java)

MD5加密及简单实现(Java)在自己学习的项目中需要用到对用户密码进行不可逆加密,保证用户账号的安全性,写此文记此次MD5的加密算法的简单实现。文章目录MD5加密及简单实现(Java)什么是MD5MD5加密的特点对字符串进行MD5加密1、简单实现,不做处理什么是MD5MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致,是计算机...

2019-08-04 15:05:45 1885

原创 【Redis】安装配置及数据类型

Redis安装配置及数据类型文章目录Redis安装配置及数据类型Redis安装Window安装Redis配置1、查看配置2、修改配置3、配置项参数说明Redis的数据类型String 相关命令List 列表Hash字典,哈希表Set集合Sorted Set有序集合​ 一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可以持久化的日志型、Key-Value数据库,并提供多种语言的API;...

2019-08-03 01:04:40 145

原创 在编译器中刷LeetCode

文章目录在Idea中刷LeetCode简介使用方式安装配置(第一次安装需要先配置)打开Leetcode窗口(主窗口右下角的LeetCode图标)菜单在Idea中刷LeetCode简介在IDE中解决LeetCode问题,支持leetcode.com与leetcode-cn.com,满足基本的做题需求。理论上支持: IntelliJ IDEA PhpStorm WebStorm PyCh...

2019-07-23 03:00:38 7985

Spring全家桶.pdf

文件记录了Spring全家桶常见的一些面试知识点,分享给大家,希望能够对大家找工作起到积极的作用~~

2020-07-28

LexicalAnalyzer.zip

此程序为本人编译原理实验课上的一次作业:利用C、C++或Java实现一个词法分析器,这是Java实现的一个词法分析器,供各位学习分享。

2019-05-23

XMind 8 (解压可直接用)

该压缩包是 Xmind 8 update 8免费版,解压后打开Xmind8.exe便可以直接使用。

2019-03-08

UI多人聊天室Java源码

比较简单的可视化多人聊天室,开启一个RServer进程,之后可以开启多个客户端聊天室,先点击连接,连接成功后第一次输入为自己的昵称,之后可以进入聊天室聊天了

2018-11-29

Java编程规范

Java编程开发中零基础的语法和编程规范,以及Java编程中的一些常见错误

2018-07-13

空空如也

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

TA关注的人

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