自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 面试踩坑,持续更新

1、数据库的左连接就是左边的表全保留,右边的表不同的部分全去除。 2、数据库的右连接就是右边的表全保留,左边的表不同的部分全去除。 3、外连接、全连接:将两个表重叠的字段取一次,剩下的部分字段合成一个新表。 ...

2021-01-29 18:33:07 122

原创 Java整合rabbitmq并且配置序列化

1、导入rabbitmq的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2、编写配置文件,将自己的信息写进去 spring.rabbitmq.host=23.213.3

2021-01-27 20:49:08 753 1

原创 docker使用RabbitMQ

这个东西很烦人,挂载稍微多写点就不让你启动,我这里直接把我使用成功的跟大家分享把。 1、下载并且安装RabbitMQ在docker上  1)先在docker上拉取镜像,版本不重要,重要的是要有management,其实这个也不重要,只不过是新手操作比较方便,不然什么版本都可以 1、下载并且安装RabbitMQ在docker上 1)先在docker上拉取镜像,版本不重要,重要的是要有management [root@zsp ~]# docker pull rabbitmq:3.8.3-management

2021-01-27 20:37:53 585

原创 设计模式:工厂模式

工厂模式分为: 简单工厂模式:用来生产同一等级结构中的任意产品(对于增加新的产品,需要球盖已有代码) 工厂方法模式:用来生产同一等级结构中的固定产品(支持增加任意产品) 简单工厂模式图解: 测试类: package com.zsp.simple; public class TestDemo { public static void main(String[] args) { Car car1 = CarFactory.getCar("五菱宏光"); Car car

2021-01-05 22:44:40 73

原创 面试HashMap题

A:说说您对HashMap的理解? A:说到HashMap的底层结构,您知道Java7与Java8中的HashMap有何区别吗? A:为什么要加入红黑树呢? A:HashMap与HashTable的有何区别知道吗? A:说说HashMap线程不安全的场景? A:如何解决HashMap的线程不安全? A:说说这两种方式的区别? A:说说您对ConcurrentHashMap的理解? A:说说Java7和Java8中的ConcurrentHashMap是如何保证线程安全的? A:嗯,说说您对CAS算法的理解。

2021-01-04 21:59:39 73 1

原创 Tcp/Ip三次握手和四次挥手

Tcp/IP三次握手: 1.SYN(synchronous建立联机) 2.ACK(acknowledgement 确认) 3.Sequence number(顺序号码) 1、浏览器发送数据包给服务器,数据包里面包含SYN=1(表示建立连接),Seq(身份码) 2、服务器发送数据包给浏览器,数据包包含ACK=1(表示确认建立连接), ack=seq+1(表示确认身份)和SYN=1(表示建立连接),Seq(身份码) 3、浏览器发送数据包给服务器,数据包包含ACK=1,ack=seq+1,完成建立连接。 Tcp/

2021-01-04 20:18:20 70

原创 自己写一个自旋锁

自旋锁代码如下: package lock; import java.util.concurrent.atomic.AtomicReference; public class SpinlockDemo { AtomicReference<Thread> atomicReference =new AtomicReference(); public void myLock(){ Thread thread =Thread.currentThread();

2021-01-02 17:00:35 201

原创 可重入锁

2、可重入锁:可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。 可重入锁有 synchronized ReentrantLock synchronized的示意图如下:自动获取自动释放 代码如下: package lock; public class SynchronizedDemo { public static void main(String[] args) { Phone1 phone = new Phone1(); new Thre

2021-01-02 16:13:17 87

原创 CAS的ABA问题:原子引用解决

CAS问题:ABA问题(狸猫换太子): 线程B改变了线程1为3,然后再改回1,线程A却无法知道,仍旧是把1改成了2 package cas; import java.util.concurrent.atomic.AtomicInteger; public class CASDemo { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(2020);

2021-01-01 22:19:07 188 1

原创 Integer的大坑:阿里开发手册里写的

Integer使用了对象缓存机制,默认范围-128~127,推荐使用静态工厂方法valueOf获取对象实例,而不是new。valueOf使用缓存,而new一定会创建新的对象,分配新的内存空间。

2021-01-01 22:16:21 211 1

原创 多种方法破解单例模式(单例模式到枚举的学习)

饿汉式:饿汉式,一开始就把对象创建好,然后返回对象给调用方法的人,缺点浪费空间,优点,一开始用final写死了对象,对象怎么样都不会出现新的。 package single; public class Hungry { private Hungry() { } private final static Hungry HUNGRY =new Hungry(); public static Hungry getInstance(){ return HUNGRY

2021-01-01 20:40:03 174

空空如也

空空如也

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

TA关注的人

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