- 博客(62)
- 资源 (5)
- 收藏
- 关注

原创 idea关于eclipse的快捷键
序号功能快捷键1执行(run)Alt + R2提示补全 (Class Name Completion)Alt + /3单行注释Ctrl + /4多行注释Ctrl + Shift + /5向下复制一行 (Duplicate Lines)Ctrl + Alt + Down6删除一行或选中行 (delete line)Ctrl ...
2020-05-06 14:39:02
283

原创 使用IntelliJ IDEA进行Java开发好用的插件与配置
① Ctrl + 鼠标滚轮,滑动滚轮改变代码字体大小② 显示代码的行号、方法以横线间隔③ 文件以多行显示单行显示多行显示④ 设置鼠标悬停时,提示代码信息断点调试...
2020-04-30 16:07:07
8854
原创 码出高效:Java开发手册笔记(java对象四种引用关系及ThreadLocal)
水能载舟,亦能覆舟。”用这句话来形容 ThreadLocal 最贴切不过。ThreadLocal 初衷是在线程并发时,解决变量共享问题,但由于过度设计,比如弱引用和哈希碰撞,导致理解难度大、使用成本高,反而成为故障高发点,容易出现内存泄漏、脏数据、共享对象更新等问题。单从 ThreadLocal 的命名看人们会认为只要用它就对了,包治变量共享问题,然而并不是。本节以内存模型、弱引用、哈希算法为铺垫 , 然后从 CS 真人游戏的示例代码入手,详细分析 ThreadLocal 源码。
2023-05-03 14:35:04
5706
原创 码出高效:Java开发手册笔记(线程安全)
延伸到计算机的线程处理过程中,因为各个线程轮流占用 CPU 的计算资源,可能会出现某个线程尚未执行完就不得不中断的情况,容易导致线程不安全。以医生坐诊为例,某个科室有两个专家同时出诊,这就是两个并行任务,其中一个医生,时而问诊,时而查看化验单,然后继续问诊,突然又中断去处理病人的咨询,这就是并发。并发包中的类族有很多,差异比较微妙,开发工程师需要有很好的 Java 基础、逻辑思维能力,还需要有定的数据结构基础,才能够彻底分清各个类族的优点、缺点及差异点。某些线程安全类的内部有非常明确的线程安全机制。
2023-04-30 20:21:45
5661
原创 Vue+element Upload利用http-request实现第三方地址图片上传
vue element upload图片上传http-request方法后端oss图片上传接口简单实现
2023-04-17 19:15:54
13479
原创 RabbitMQ死信队列基础代码实现
RabbitMQ死信队列基础代码实现1.死信队列1.1.死信队列介绍1.2.死信队列产生原因1.3.死信队列作用2.代码实现2.1.消费者代码实现2.2.生产者代码实现RabbitMQ死信队列官网:https://www.rabbitmq.com/dlx.html1.死信队列1.1.死信队列介绍死信,死掉的信息,就是消费者未处理就已经丢失,例如消费者未启动,生产者发出消息至交换机,交换机没有找到相应的队列,此消息就会丢失。如果这些消息很重要,而我们又需要,现在就有一种方法可将这些死信消息存下来
2021-02-24 10:33:01
7742
1
原创 Linux上安装docker并配置阿里云加速
Uninstall old versions官方文档$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \
2021-02-01 18:06:29
509
原创 利用VirtualBox快速创建Linux虚拟机
利用Virtualbox快速创建Linux虚拟机环境搭建安装VirtualBox官方网址:https://www.virtualbox.org/
2021-02-01 11:13:20
9895
原创 Springboot初步使用RabbitMQ
RabbitMQ消息队列1.2.消息队列(MQ)1.2.1.什么是消息队列解耦、削峰填谷、异步消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。结合前面所说的问题:商品服务对商品增删改以后,无需去操作索引库或静态页面,只是发送一条消息,也不关心消息被谁接收。搜索服务服务接收消息,去处
2021-01-29 14:28:38
10378
原创 后端使用@CrossOrigin页面还显示跨域问题?
后端使用@CrossOrigin页面还显示跨域问题?错误信息如下:解决方案:原因:前后端分离项目,后端设置的允许跨域的代码,到前端调试界面的时候还显示了不允许跨域。错误信息如下:Access to XMLHttpRequest at‘http://localhost:8000/carInfo/carCondition/1/4’ from origin‘http://localhost:9528’ has been blocked by CORS policy: Response to preflig
2021-01-27 15:23:12
11989
原创 idea新建项目作为git仓库名称
idea新建项目作为git仓库名称前言:开发时,先在gitee或者github上新建仓库再进行下拉,得到的可能是一个文件夹,不能确定是maven项目、springboot项目还是普通java项目,下拉过后需要自己配置,比较麻烦。因此,可以在idea上将新建好确定的项目上传至git,同时会在git上创建仓库。步骤一:步骤二:步骤三:创建成功:gitee上显示创建成功的仓库:前提是,idea上配置了gitee账户(或github账号):...
2021-01-22 17:07:36
7496
原创 多线程中的8锁现象
题目:多线程8锁1 标准访问,请问先打印邮件还是短信?2 邮件新增暂停4秒钟的方法,请问先打印邮件还是短信?3 新增普通的hello方法,请问先打印邮件还是hello4 有两部手机,请问先打印邮件还是短信?5 两个静态同步方法,同一部手机,请问先打印邮件还是短信?6 两个静态同步方法,2部手机,请问先打印邮件还是短信?7 1个静态同步方法,1个普通同步方法,1部手机,请问先打印邮件还是短信?8 1个静态同步方法,1个普通同步方法,2部手机,请问先打印邮件还是短信?1、标
2021-01-14 16:22:21
7375
5
原创 SpringWebMVC
Spring MVCSpring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就已包含在 Spring Framework 中。正式名称“ Spring Web MVC”来自其源模块的名称(spring-webmvc),但更通常称为“ Spring MVC”。SpringMVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet是SpringMVC框架的总导演、总策划,它负责截获请求并将其分派给相应的处理器处理1.3. Sp
2021-01-13 15:34:58
9643
原创 Servlet技术基础点总结1
Servlet 技术什么是 Servlet1、 Servlet 是 JavaEE 规范之一。 规范就是接口2、 Servlet 就 JavaWeb 三大组件之一。 三大组件分别是: Servlet 程序、 Filter 过滤器、 Listener 监听器。3、 Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求, 并响应数据给客户端。手动实现 Servlet 程序1、 编写一个类去实现 Servlet 接口2、 实现 service 方法, 处理请求,
2021-01-11 17:05:59
324
原创 JavaScript和jQuery
Javascript 语言诞生主要是完成页面的数据验证。 因此它运行在客户端, 需要运行浏览器来解析执行 JavaScript 代码。JS 是 Netscape 网景公司的产品, 最早取名为 LiveScript;为了吸引更多 java 程序员。 更名为 JavaScript。JS 是弱类型, Java 是强类型。特点:交互性(它可以做的就是信息的动态交互)安全性(不允许直接访问本地硬盘)跨平台性(只要是可以解释 JS 的浏览器都可以执行, 和平台无关)什么是 jQuery ?jQuer
2021-01-06 11:27:58
177
1
原创 关于spring框架中,junit单元测试时通过spring注入的对象为空
关于spring框架中,JUnit测试问题/** * @Author: Ron * @Create: 2020 8:47 */@Configuration@Component@ComponentScan(basePackages = {"com.test.spring5"})public class SpringConfig { @Bean("www") public UserDaoImpl test01(){ System.out.println("bea
2020-12-26 10:16:46
11715
1
原创 spring AOP面向切面编程
spring AOP面向切面编程AOP:Aspect Oriented Programing 面向切面编程面向切面编程指的是:程序是运行期间,动态地将某段代码插入到原来方法代码的某些位置中。这就叫面向切面编程。AOP采用横向抽取机制,取代了传统纵向继承体系抽取重复性代码(性能监视、事务管理、安全检查、缓存)面向对象纵向继承机制面向切面横向抽取机制AOP面向切面编程的底层原理就是代理动态代理的方式有两种:基于接口实现动态代理: JDK动态代理基于继承实现动态代理:CGLIB代理优先使用接
2020-12-25 17:00:43
7692
1
原创 spring注解开发
spring注解前言相关面试题前期准备1.管理bean的四类注解1.1.用于创建bean对象1.1.1.@Component1.1.2.@Controller @Service @Repository面试题:@Component、@Controller、@Service、@Repository有何区别?1.2.用于给对象中的属性注入值1.2.1.@Value1.2.2.@Autowired1.2.3.@Qualifier1.2.4.@Resource面试题:@Autowired和@Resource的区别?1
2020-12-24 12:50:40
7678
原创 Spring中的Ioc和DI
Spring学习总结提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用https://blog.youkuaiyun.com/qq_35080796/article/details/111355515提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Spring学习总结前言Spring概念?1.The IoC Container2.Spring AOP APIs总结前言使用的Spring的版本是5.2,
2020-12-23 17:24:14
7507
1
原创 为什么Redis不支持回滚
redis的使用为什么Redis不支持回滚?(来自官网)Why Redis does not support roll backs?If you have a relational databases background, the fact that Redis commands can fail during a transaction, but still Redis will execute the rest of the transaction instead of rolling back
2020-12-18 13:44:27
7507
原创 Spring jar包官方下载地址及方法
Spring jar包官方下载地址及方法1 spring jar包下载地址2 下载方法spring官网jar包下载方法(找起来还是比较好玩的)1 spring jar包下载地址不想自己去玩的,这是jar包下载地址:https://repo.spring.io/release/org/springframework/spring/2 下载方法step 1:Spring官网,进入Spring框架的github链接spring官网:https://spring.io/step 2:git
2020-12-18 11:56:03
29330
5
原创 探究JDK8中HashMap的底层实现与JDK7中的不同
探究JDK8中HashMap的底层实现与JDK7中的不同HashMap在jdk8中相较于jdk7在底层实现方面的不同new HashMap():底层没创建一个长度为16的数组jdk8底层的数组是:Node[],而非Entry[]jdk7底层结构:数组+链表。jdk8底层结构:数组+链表+红黑树。Poisson distribution关键词:HashMap()Node[ ]DEFAULT_LOAD_FACTORDEFAULT_INITIAL_CAPACITYput()putVal()res
2020-10-26 17:32:34
7353
1
原创 mysql数据库事务隔离级别演示
1.1. 基本概念事务的概念:事务是逻辑上一组操作,组成这组操作各个逻辑单元,要么一起成功,要么一起失败。事务的四个特性(ACID):原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个事务中涉及到的多个操作在逻辑上缺一不可。事务的原子性要求事务中的所有操作要么都执行,要么都不执行。一致性(consistency):“一致”指的是数据的一致,具体是指:所有数据都处于满足业务规则的一致性状态。一致性原则要求:一个事务中不管涉及到多少个操作,都必须保证事务执行之前数据
2020-10-24 10:51:45
9044
原创 探究JDK7中HashMap的底层实现原理
以下问题分析基于JDK1.7的基础!!!面试题:谈谈你对HashMap中put/get方法的认识?如果了解再谈谈HashMap的扩容机制?默认大小是多少?什么是负载因子(或填充比)?什么是吞吐临界值(或阈值、threshold)?面试题:负载因子值的大小,对HashMap有什么影响?HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键一、HashMap的存储结构JDK7及以前版本:HashMap是数组+链表结构
2020-10-22 15:25:16
7614
原创 雪花算法生成实例
雪花算法生成实例一、集群高并发情况下如何保证分布式唯一全局id生成?1.1 为什么需要分布式全局唯一ID以及分布式ID的业务需求1.2 ID生成规则部分硬性要求1.3 ID号生成系统的可用性要求二、一般通用方案2.1 UUID2.2 数据库自增主键2.3 基于Redis生成全局id策略2.4 SnowFlake三、Hutool工具包代码实现一、集群高并发情况下如何保证分布式唯一全局id生成?1.1 为什么需要分布式全局唯一ID以及分布式ID的业务需求对分库分表后需要有一个唯一ID来标识一条数据或消
2020-10-21 16:27:23
9502
1
原创 多线程中synchronized处理线程安全问题
synchronized处理线程安全问题关键词:关键词:共享数据同步监视器synchronizedstatic反射list.removemodCountexpectedModCount快速失败机制(fail-fast)一、实现多线程的方法:①继承Thread类②实现Runnable接口③实现Callable接口④使用线程池经典问题:卖票问题,火车站三个窗口卖100张票?在Java中,我们通过同步机制,来解决线程的安全问题。方式一:同步代码块*synchroni
2020-09-29 10:51:55
7645
原创 探究List中foreach循环里进行元素的remove操作引起的异常
探究List中foreach循环里进行元素的remove操作引起的异常一、问题引入二、问题分析①ArrayList中的remove方法(如下图所示):②Iterator中的remove方法(如下图所示):③modCount和expectedModCount三、迭代器Iterator的执行原理①foreach和Iterator②Iterator中的方法,hasNext()、next()、remove()③迭代器Iterator中的执行原理一、问题引入上图为阿里巴巴java开发手册的开发规范,forea
2020-09-24 13:33:07
9341
原创 win7系统,Vagrant安装虚拟机及问题总结
win7上,vagrant加virtualbox安装centos7总结①win7支持vagrant 1.9.5以前版本,virtualbox支持经过测试,在win7上,vagrant1.9.5以下的版本可以和virtualbox5.1.x版本相匹配。1.9.6以上的64位版本不能和virtualbox正常配合,于是把vagrant的版本换成1.9.3,就可以了。②ssh协议,win7不支持,cmd使用vagrant ssh无法进入linux系统,解决方案③vagrant查看支持的virtualbox
2020-09-10 10:42:01
9325
原创 利用Vagrant去官网下载镜像文件**.box
Vagrant去官网下载镜像文件**.box前言进官网找文件拼地址(最有意思的一步)总结前言当我们利用Vagrant在线安装VirtualBox中的虚拟机时,会发现通过命令在线下载安装虚拟机速度特别慢,最好的方案是利用下载好的.box文件添加到本地,再利用本地的.box进行安装。进官网vagrant官方镜像仓库找文件选择需要下载的软件版本:拼地址(最有意思的一步)地址拼接方法:地址栏地址 + /providers/ + 提供者 + .box举个栗子:https://ap
2020-09-04 19:15:44
8409
2
原创 利用Stream API对List集合进行分组求和统计
文章目录一、原始数据及需求二、利用Stream API处理List集合三、处理后得到符合需求的数据四、实体类总结一、原始数据及需求需求:发货地和收货地相同的数据,合并这两项,并计算其他两项的数据之和拿到的原始数据如下图所示:二、利用Stream API处理List集合代码如下: @Override public Map<String, Object> countCarLine(String begin, String end) { // 线路统计
2020-09-04 10:43:44
13798
原创 Java开发中异常类处理
自定义异常处理和统一异常处理需要自定义的类什么是统一异常处理统一异常处理自定义异常处理需要自定义的类定义统一返回结果R.java(创建结果类)@Data@ApiModel(value = "全局统一返回结果")public class R { @ApiModelProperty(value = "是否成功") private Boolean success; @ApiModelProperty(value = "返回码") private Integer co
2020-08-18 15:01:16
7458
AspectJ相关jar包.rar
2020-12-26
spring5.2.6和日志jar包.rar
2020-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人