- 博客(162)
- 收藏
- 关注
原创 Node.js一 fs文件系统模块 path路径模块 http模块
1. 初识Node.js2. fs文件系统模块建议以下这种path路径模块4. http模块
2022-05-27 17:49:06 137
原创 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 325
原创 spring data jpa
1.新建spring的配置文件:新建单元测试 测试数据源:配置jpa测试jpa配置成功,创建对应的测试类然后配置spring data上下两种等效
2022-04-01 10:02:14 232
原创 分布式锁 zookeeper
1.分布式锁1 传统的单体架构2 分布式架构2.分布式锁解决方案解决方案一:前两种都属于悲观锁解决方案二:解决方案三:3.项目引入zookeeper分布式锁类似于取号排队等待吃饭
2022-03-07 10:22:23 1846 1
原创 java StringUtils collectionUtils Arrays.asList Json
1 StringUtils用于判断字符串:2 CollectionUtils判断集合是否为空:3 Arrays.asList将数组变为集合:
2022-03-03 17:00:43 285
原创 狂神说 Docker
1.Docker概述2.docker安装docker的架构图:3.安装docker3.Docker的常用命令镜像命令:容器命令:1.1.1.1.
2022-02-27 16:42:11 557
原创 狂神说 Spring Cloud
Spring Cloud快速入门1. 微服务概述2.Spring Cloud3.Spring Cloud项目搭建(1)父工程子工程:配置文件:dao:服务提供者:消费者:4.Eureka服务端配置:5.6.
2022-02-26 11:50:21 476
原创 狂神说 springBoot
1.springBoot(2).搭建springBoot项目修改配置文件:application.properties 只能保存键值对:application.yaml 功能更强大2.整合Mybatis3.整合Druid4.5.6.7.
2022-02-25 17:21:13 212
原创 初识JVM 内存模型 堆 GC Jprofile 垃圾回收算法 JMM
1 JVM2 沙箱安全机制3 native4 堆5 GC复制算法:标记清除算法:标记压缩算法:6 JMM
2022-02-23 23:37:16 242
原创 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 999
原创 狂神说 JUC lock condition 集合类不安全 常用的辅助类 读写锁 阻塞队列 线程池 函数式接口 Stream流式计算 Fork/Join 异步回调 jmm volatile CAS
1.JUC2 Lock锁345678
2022-02-20 17:43:19 250
原创 尚桂谷 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 3312
原创 多线程实际使用(代码演示) FutureTask 阻塞队列 LinkedBlockingDeque
1.多个服务接口如何同时调用京东个人信息业务,设计多种信息,需要调用多个接口 。 多个服务接口应该同时调用,串行的话时间太长。这面的代码有弊端。get()拿返回值可能会造成web服务器阻塞解决方案:web服务器只接受request,启动子线程去执行。代码如何实现:如果请求用户量大时:可能依然存在问题(压力到后端服务器)解决方案:后端服务提供批量查询实际代码演示:模拟1w个请求去查询单次调用 性能低下:使用批量调用:先定义个线程池...
2022-02-19 12:13:04 257
原创 并发编程包 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 305
原创 分布式事务 二阶段提交 可靠消息最终一致性 TCC方案(实现难度大,开发成本高)LCN方案(链接代理)GTS
分布式事务2 分布式事务解决方案分布式事物解决方案一:二阶段提交缺点:同步阻塞,影响性能。分布式事物解决方案二:可靠性消息最终一致性基于本地消息的最终一致性:把我们的业务数据和本地消息放到一个库里面,来保证原子性,做一个定时任务,来保证本地的消息能够正常的发送到mq上,然后mq返回ACK,再对本地消息做一个删除。基于独立消息的最终一致性:分布式事物解决方案三:TCC方案 (开发成本更高,最不推荐)应用场景:(每个服务都要写)先冻结,例如:
2022-02-16 22:59:53 1104
原创 消息队列高手篇
1. 为什么要用消息队列2. 该如何选择消息队列3. 消息模型:主题和队列有什么区别它们最大的区别其实就是,一份消息数据能不能被消费多次的问题。
2022-02-16 17:08:14 794
原创 Java多线程内存模型 volatile的底层 指令重排序 内存屏障 线程池
1 Java多线程内存模型volatile的作用:保证线程之间共享变量的可见性。(实际上是通过汇编语言的lock前缀来实现,缓存一致性协议MESI)jdk自带的线程池:传递的参数不一致导致速度慢。newCachedThreadPool:可能会导致cpu100%,以为构造方法中只有一个队列,100个任务,创建100个线程去处理newFixedThreadPool:核心线程数为10,最大线程数为10,可能会造成内存溢出newSingleThreadPool:核心线程数
2022-02-15 20:10:03 150
原创 CAS 锁升级 多线程 高并发
1 CAS如何解决ABA问题,加一个版本号,既比较值又比较版本号。锁的信息记录在对象的markword区域2 锁volatile保证线程可见性饿汉式:双重检测模式:3 线程怎么样创建线程线程的几个方法yield没有什么应用场景john用于等待另一个线程的结束线程状态synchronized银行账户问题Synchronized 可重复锁异常会释放锁3 线程...
2022-02-13 17:52:17 97
原创 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 551
原创 cookie session
cookie session什么是Session/Cookie用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。Session与Cookie的作用都是为了保持访问用户与后端服务器的交互状态。理解CookieCookie的作用通俗的说就是当一个用户
2022-02-11 13:58:57 84
原创 时间工具类
时间工具类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 73
原创 java2 1、消息中间件ActiveMQ消息组成与高级特性 JMS 消息持久化 消息事务 消息投递方式 死信队列 2、ActiveMQ的企业面试经典问题
1、 ActiveMQ消息组成与高级特性(1)消息持久化基于内存:重启ActiveMQ会丢失基于日志文件存储:(推荐)基于数据库存储:使用sqlyong查看数据库:消费成功后,数据库会清空消息。(2)消息事务事务性发送:方案一事务性发送:方案二 (推荐,更简单)(3)消息确认机制关闭事务的配置类:(4)消息投递方式 异步投递 延迟投递 定时投递2、 ActiveMQ的企业面试经典问题...
2021-08-26 18:15:24 143
原创 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 139
原创 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 173
原创 java 异步通信原理 kafka
1、异步通信原理2、消息系统原理3、kafka优点:实时数据处理方面非常优秀(1)kafka系统架构(2)(3)(4)
2021-08-24 11:13:31 215
原创 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 125
原创 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 180
原创 Java 流 文件 IO流 InputStream OutputStream FileInputStream FileOutputStream FileReader FileWriter Proper
1、悲观锁 乐观锁2、字节流 字符流3、反射4、线程的声明周期5、session cookie6、JDBC流程7、存储过程
2021-08-16 17:18:41 168
原创 JAVA框架1 Spring
1、AOP IOC2、SpringMVC的工作流程3、SpringMVC的注解4、Mybatis5、Mybatis的 一级缓存和二级缓存6、MybatisPlus7、Hibernate8、Struts29、Quarts10、Shiro
2021-08-14 19:38:46 87
原创 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 183
原创 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 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人