自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现高并发秒杀的七种方式 !

高并发

2023-02-09 14:38:23 164

原创 spring Data jpa 2 的sql

111

2022-06-09 21:54:46 148

原创 Node.js二 模块化 npm与包

1. 模块化2. npm与包

2022-05-29 17:32:13 158

原创 Node.js一 fs文件系统模块 path路径模块 http模块

1. 初识Node.js2. fs文件系统模块建议以下这种path路径模块4. http模块

2022-05-27 17:49:06 105

原创 ThreadLocal JDK1.8中的时间类

public class Test { private static final ThreadLocal<SimpleDateFormat> dbsdfLocal = new ThreadLocal<SimpleDateFormat>(){ @Override protected SimpleDateFormat initialValue() { return new SimpleDateFormat("yyyy-MM

2022-04-19 17:11:32 283

原创 spring data jpa

1.新建spring的配置文件:新建单元测试 测试数据源:配置jpa测试jpa配置成功,创建对应的测试类然后配置spring data上下两种等效

2022-04-01 10:02:14 186

原创 分布式锁 zookeeper

1.分布式锁1 传统的单体架构2 分布式架构2.分布式锁解决方案解决方案一:前两种都属于悲观锁解决方案二:解决方案三:3.项目引入zookeeper分布式锁类似于取号排队等待吃饭

2022-03-07 10:22:23 1800 1

原创 java StringUtils collectionUtils Arrays.asList Json

1 StringUtils用于判断字符串:2 CollectionUtils判断集合是否为空:3 Arrays.asList将数组变为集合:

2022-03-03 17:00:43 251

原创 狂神说 Docker

1.Docker概述2.docker安装docker的架构图:3.安装docker3.Docker的常用命令镜像命令:容器命令:1.1.1.1.

2022-02-27 16:42:11 499

原创 狂神说 Spring Cloud

Spring Cloud快速入门1. 微服务概述2.Spring Cloud3.Spring Cloud项目搭建(1)父工程子工程:配置文件:dao:服务提供者:消费者:4.Eureka服务端配置:5.6.

2022-02-26 11:50:21 379

原创 狂神说 springBoot

1.springBoot(2).搭建springBoot项目修改配置文件:application.properties 只能保存键值对:application.yaml 功能更强大2.整合Mybatis3.整合Druid4.5.6.7.

2022-02-25 17:21:13 179

原创 分布式锁 redis setnx redission

1.什么是reddission限流:

2022-02-24 17:51:47 518

原创 初识JVM 内存模型 堆 GC Jprofile 垃圾回收算法 JMM

1 JVM2 沙箱安全机制3 native4 堆5 GC复制算法:标记清除算法:标记压缩算法:6 JMM

2022-02-23 23:37:16 214

原创 dubbo RPC框架

1 基础知识2 Dubbo1.引入依赖2.创建配置xml:生产者的配置文件:消费者的配置文件:3 springBoot整合dubbo导入依赖配置文件:生产者的配置:application.properties消费者的配置:application.properties4 dubbo相关的配置文件实现灰度发布。4 Zookeeper 高可用dubbo直连dubbo的负载均衡消费者

2022-02-21 19:54:45 975

原创 狂神说 JUC lock condition 集合类不安全 常用的辅助类 读写锁 阻塞队列 线程池 函数式接口 Stream流式计算 Fork/Join 异步回调 jmm volatile CAS

1.JUC2 Lock锁345678

2022-02-20 17:43:19 212

原创 尚桂谷 JUC synchronized lock 多线程编程 集合的线程安全 多线程锁 Callable FutureTask 辅助类 读写锁 阻塞队列 ThreadPool Fork/Join

1.JUC概述2.Lock接口使用lock锁实现;3.多线程编程(Synchronized和Lock)使用synchronized实现多线程编程:package sync;//第一步 创建资源类,定义属性和操作方法public class Share { //初始值 private int number=0; //+1的方法 public synchronized void incr() throws InterruptedExce..

2022-02-19 18:29:46 3268

原创 多线程实际使用(代码演示) FutureTask 阻塞队列 LinkedBlockingDeque

1.多个服务接口如何同时调用京东个人信息业务,设计多种信息,需要调用多个接口 。 多个服务接口应该同时调用,串行的话时间太长。这面的代码有弊端。get()拿返回值可能会造成web服务器阻塞解决方案:web服务器只接受request,启动子线程去执行。代码如何实现:如果请求用户量大时:可能依然存在问题(压力到后端服务器)解决方案:后端服务提供批量查询实际代码演示:模拟1w个请求去查询单次调用 性能低下:使用批量调用:先定义个线程池...

2022-02-19 12:13:04 224

原创 并发编程包 java.util.concurrent hashTable concurrentHashMap

1. java.util.concurrent 知识体系hashtable 线程安全,但是效率低concurrentHashMap 多线程环境下,线程安全,默认长度为16,推荐设置初始容量2.hashTable线程安全,但是性能低CAS不涉及到上下文切换。(设计到多线程时,用synchronized锁时,要关闭偏向锁)hashMap:hashMap并发时,可能出现问题,两个线程往entry的同一索引处存值,可能会丢失。hashTable:为解决这个问题,对pu..

2022-02-18 23:35:56 278

原创 消息队列的幂等性如何保证

消息队列的幂等性如何保证

2022-02-18 10:12:17 194

原创 分布式事务 二阶段提交 可靠消息最终一致性 TCC方案(实现难度大,开发成本高)LCN方案(链接代理)GTS

分布式事务2 分布式事务解决方案分布式事物解决方案一:二阶段提交缺点:同步阻塞,影响性能。分布式事物解决方案二:可靠性消息最终一致性基于本地消息的最终一致性:把我们的业务数据和本地消息放到一个库里面,来保证原子性,做一个定时任务,来保证本地的消息能够正常的发送到mq上,然后mq返回ACK,再对本地消息做一个删除。基于独立消息的最终一致性:分布式事物解决方案三:TCC方案 (开发成本更高,最不推荐)应用场景:(每个服务都要写)先冻结,例如:

2022-02-16 22:59:53 1064

原创 消息队列高手篇

1. 为什么要用消息队列2. 该如何选择消息队列3. 消息模型:主题和队列有什么区别它们最大的区别其实就是,一份消息数据能不能被消费多次的问题。

2022-02-16 17:08:14 761

原创 Java多线程内存模型 volatile的底层 指令重排序 内存屏障 线程池

1 Java多线程内存模型volatile的作用:保证线程之间共享变量的可见性。(实际上是通过汇编语言的lock前缀来实现,缓存一致性协议MESI)jdk自带的线程池:传递的参数不一致导致速度慢。newCachedThreadPool:可能会导致cpu100%,以为构造方法中只有一个队列,100个任务,创建100个线程去处理newFixedThreadPool:核心线程数为10,最大线程数为10,可能会造成内存溢出newSingleThreadPool:核心线程数

2022-02-15 20:10:03 115

原创 Java 常见的面试题目

java面试题SQL优化

2022-02-14 17:34:31 53

原创 RSA非对称加密算法

1 RSARSA实战链接

2022-02-14 15:13:13 2512

原创 CAS 锁升级 多线程 高并发

1 CAS如何解决ABA问题,加一个版本号,既比较值又比较版本号。锁的信息记录在对象的markword区域2 锁volatile保证线程可见性饿汉式:双重检测模式:3 线程怎么样创建线程线程的几个方法yield没有什么应用场景john用于等待另一个线程的结束线程状态synchronized银行账户问题Synchronized 可重复锁异常会释放锁3 线程...

2022-02-13 17:52:17 75

原创 mybatis 缓存 一级缓存, 二级缓存

1.初识mybatis(1)引入jar包 默认开启一级缓存mysql数据库(2)mybatis的配置2.mybatis的命中原则(1) id必须相同(2)查询参数,参数必须相同(最终传递给sql语句的参数相同)(3)分页参数一样(4)sql语句一样(5)环境3.mybatis的生命周期...

2022-02-12 16:52:08 475

原创 cookie session

cookie session什么是Session/Cookie用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。Session与Cookie的作用都是为了保持访问用户与后端服务器的交互状态。理解CookieCookie的作用通俗的说就是当一个用户

2022-02-11 13:58:57 60

原创 1并发编程理论

Java 并发编程:核心理论并发编程

2021-12-08 09:58:16 175

原创 时间工具类

时间工具类package test;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateUtils { /** * 格式化时间 获取当前时间 年月日时分秒 * @param now * @return */ public static String getFormatTime(Date n

2021-09-24 14:43:04 52

原创 java2 1、消息中间件ActiveMQ消息组成与高级特性 JMS 消息持久化 消息事务 消息投递方式 死信队列 2、ActiveMQ的企业面试经典问题

1、 ActiveMQ消息组成与高级特性(1)消息持久化基于内存:重启ActiveMQ会丢失基于日志文件存储:(推荐)基于数据库存储:使用sqlyong查看数据库:消费成功后,数据库会清空消息。(2)消息事务事务性发送:方案一事务性发送:方案二 (推荐,更简单)(3)消息确认机制关闭事务的配置类:(4)消息投递方式 异步投递 延迟投递 定时投递2、 ActiveMQ的企业面试经典问题...

2021-08-26 18:15:24 75

原创 java1 消息中间件ActiveMQ Spring与ActiveMQ整合 SpringBoot与ActiveMQ整合

1、ActiveMQ入门(1) ActiveMQ入门引入消息中间件主要是为了:提高系统的吞吐能力。(2)JMS编程API2、ActiveMQ安装3、原生JMS API 操作ActiveMQ(1)(2)点对点模式下的生产者运行后:可以在ActiveMQ内发现已经生成队列。(3)点对点模式的消费者4、Spring与ActiveMQ整合5、SpringBoot与ActiveMQ整合6、ActiveMQ的消息组成与高级特性7、Activ

2021-08-25 18:02:44 116

原创 java kafka

1、消息队列实现原理和kafka概述同一个Consumer组内的消费真不能同时消费同一个分区。Broker可以理解为节点,Topic内存消息,Topic内有分区。2、kafka集群部署(重点)kafka部署3、kafka工作流分析4、kafka Api实战 (重点)(1)引入依赖(2)生产者代码回调函数方式:(3)消费者代码高级API:低级API:比较复杂5、kafka producer拦截器6、kafka Streams...

2021-08-24 17:41:04 136

原创 java 异步通信原理 kafka

1、异步通信原理2、消息系统原理3、kafka优点:实时数据处理方面非常优秀(1)kafka系统架构(2)(3)(4)

2021-08-24 11:13:31 167

原创 java 自定义注解 反射机制 java内存分析 类加载

1、注解(1)元注解(2)自定义注解2、反射机制(1)反射(2)(3)(4)(5)3、java内存分析5、session cookie6、JDBC流程7、存储过程8、AOP

2021-08-23 17:17:12 99

原创 Java 锁2 显示锁 AQS CLH队列 条件队列

可重入锁:可重复加锁1、AQS2、CLH队列3、条件队列4、公平锁 非公平锁

2021-08-17 15:22:25 115

原创 Java 锁1 悲观锁 乐观锁 公平锁 非公平锁 CAS 自旋锁 上线文切换 Synchronized lock volatile concurrent reentrantLock AQS

1、悲观锁 乐观锁等待:相当于挂起,也就是阻塞 wait() cpu让出时间片给其他线程使用(上下文切换)唤起:notify()2、CAS算法弊端:多次自旋,会占用cpu资源场景1:多次自旋场景2:ABA问题3、自旋锁4、上线文切换线程上下文切换:可以理解为:cpu和内存之间的一次io,消耗系统资源5、Synchronized...

2021-08-17 11:23:49 151

原创 Java 流 文件 IO流 InputStream OutputStream FileInputStream FileOutputStream FileReader FileWriter Proper

1、悲观锁 乐观锁2、字节流 字符流3、反射4、线程的声明周期5、session cookie6、JDBC流程7、存储过程

2021-08-16 17:18:41 141

原创 JAVA框架1 Spring

1、AOP IOC2、SpringMVC的工作流程3、SpringMVC的注解4、Mybatis5、Mybatis的 一级缓存和二级缓存6、MybatisPlus7、Hibernate8、Struts29、Quarts10、Shiro

2021-08-14 19:38:46 64

原创 java集合 List:ArrayList Vector LinkedList;Set:HashSet LinkedHashSet TreeSet;Map:HashMap HashTable

1、单线程环境下的集合2、多线程环境下的集合3、悲观锁 乐观锁4、字节流 字符流5、反射6、线程的声明周期7、session cookie8、JDBC流程9、存储过程

2021-08-14 19:28:13 152

原创 BIO NIO IO NETTY

1、BIO当并发量大时,BIO程序不支持(1) 原生package Thread;import com.sun.security.ntlm.Server;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;//BIO程序public class SocketServer { public static void main(String[] args) throws

2021-08-13 17:50:30 88

空空如也

空空如也

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

TA关注的人

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