随笔分类 - 学习笔记
平时不会的知识加以总结、输出
摘要:泛型类 泛型T 比较固定 不支持继承类写入 泛型 ?支持继承 但是不可控 泛型 ? extends E 加上边界 泛型 ? super E 给泛型加下边界 泛型接口 interface a<T,N>{} public class b<T,N> implements a<T,N>{} public c
阅读全文
摘要:红色的为关键步骤,其余可以不看。 一:安装时 , 报 : 1.应用程序无法正常启动0xc0000007b 清单机确定关闭应用程序 : 2. 缺少XXX.dll文件 解决方法都是: C:\Windows\System32 这里缺少相关的配置文件。 我使用的是DLL修复工具,修复之后安装就不会报类似的问
阅读全文
摘要:List<Object> list = masterRedisTemplate.executePipelined((RedisCallback<Long>) connection -> { StringRedisConnection redisConn = (StringRedisConnectio
阅读全文
摘要:记录《Java 并发编程的艺术》部分知识点 第二章 并发机制的底层实现原理 volatile synchronized 第三章 java内存模型 JMM happen before 用来阐述内存之间的可见性 JMM中一个操作对另一个操作可见,必须遵循HappenBefore 有关原则有 对一个线程的
阅读全文
摘要:https://www.cnblogs.com/jiangym/p/15885161.html JVM内存模型(JMM) 根据代码画出下面的JVM内存模型 public class Math { public static final int initData = 666; public stati
阅读全文
摘要:分布式事务问题 背景 积分支付,需要查询用户积分; 商品扣减库存; 保存订单; 这些一定要保证一致性; 解决办法有 基于XA协议的两阶段提交 事务补偿机制 本地消息表+定时任务 MQ XA协议 一个事务管理器和多个资源管理器组成 提交分为两阶段 prepare commit 第一阶段 第二阶段 这个
阅读全文
摘要:超卖问题的解决 现象 一件商品,AB同时下单,扣减库存出了问题。A读到库存是1,B读到库存是1;AB同时更新数据库,更新为0,数据库中虽然是0了,但是产生了两笔订单。 解决办法:下沉到数据库扣减库存: 通过UPDATE语句,更新增量,通过UPDATE计算库存,用到了UPDATE行锁,其他的UPDAT
阅读全文
摘要:一:五种常用数据类型 简单动态字符串 redis做了一个用作字符串的SDS,除了一些不需要修改的场景,都是用SDS C字符串的底层实现总是一 个N+1个字符长的数组 sds.h: struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度
阅读全文
摘要:Syncronized的作用: 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。(有一把锁,持有锁的线程才能执行该段代码) Syncronized的地位: Synchronized是java的关键字。 是最基本的互斥同步手段。 用法: 对象锁,包括方法锁和同步代码块锁。 类
阅读全文
摘要:五层网络模型 应用层 包括HTTP,FTP... HTTP支持客户/服务器模式 简单快速有getpost方法 灵活,可以传输任意类型 无连接,每次连接只处理一个请求,收到应答就关闭 无状态,对于事物处理没有记忆能力 1.1有个长连接技术keepalive 为应用软件提供了很多服务request,ge
阅读全文
摘要:反射定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(包括私有的);对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 反射获取类的所有属性和方法 package a; import java.
阅读全文
摘要:扩容的容器: ArrayList 、HashSet、TreeSet、HashMap、WeakHashMap 、Hashtable 再加一个常用的StringBuilder LinkedList它的底层是用双向链表实现的,没有初始化大小,也没有扩容的机制; TreeMap由红黑树实现,容量方面没有限制
阅读全文