02 2021 档案
摘要:api组件 提供交互接口以及请求的参数对象 // 交互接口 public interface IService { String getToken(String userId); String receiveMsg(); } // 交互数据封装 public class RpcRequestMsg
阅读全文
摘要:序列化/反序列化 - 实现内存对象 - 二进制数据的转换,二进制数据用于存储、持久化、网络传输。 技术选型要素:①序列化空间开销(压缩比) ②序列化时间损耗(性能需求) ③是否跨平台 ④使用的难易程度 ⑤是否需要可读性 Java序列化 // 序列化对象需实现Serializable接口,可通过tra
阅读全文
摘要:概念 网络编程知识 DNS域名系统(属于应用层):用于将域名解析成IP(单域名解析多IP可实现负载均衡) IP网际互连协议:用于实现广域网中的数据传输(ip是根据网络拓扑分配的,解决我在哪的问题) MAC:用于实现局域网中的数据传输(mac是由网卡制造商分配的,解决我是谁的问题) ARP地址解析协议
阅读全文
摘要:架构的本质:功能的拆分与整合(类比:代码模块/类划分,以及模块之间的交互) 互联网架构的演进 单机架构(单台机器上同时部署 Java服务 和 数据库) 一个类中完成所有操作 硬件资源告警:数据库与应用分离。 业务与数据处理分离 单服务支撑能力不足:水平扩容,采用代理服务器解决负载均衡问题 线程并发
阅读全文
摘要:分布式开发基础 分布式开发基础知识杂记 分布式开发 - Socket编程 BIO/NIO/AIO 分布式开发 - 序列化Demo 分布式开发 - 基于Socket搭建简易的RPC交互
阅读全文
摘要:线程池的种类 线程池名称 描述 FixedThreadPool 核心线程数等于最大线程池,任务队列长度为Integer.MAX_VALUE SingleThreadExecutor 一个线程的线程池,任务队列长度为Integer.MAX_VALUE CachedThreadPool 核心线程为0,最
阅读全文
摘要:JDK 1.8中,CHM采用Node数组 + 链表/红黑树(避免hash冲突)。 细化锁 - 1.8中,只对数组元素进行加锁,进一步避免冲突(1.7中为分段锁的设计) 纳入红黑树的实现,当链表长度>=8(且Map.size>=64)时,会将链表转换为红黑树(查询效率 log(n)) put tip
阅读全文
摘要:Atomic类 - 线程安全类型 Atomic类的相关操作,底层实现依赖Unsafe类中的原子指令实现(如CAS) + volatile。 public class AtomicInteger extends Number implements java.io.Serializable { priv
阅读全文
摘要:ReentrantLock - 独占锁 特性:①独占锁 ②可重入 ③公平/非公平 ④可超时中断 // ReentrantLock public class ReentrantLockTest { private static Lock lock = new ReentrantLock(); priv
阅读全文
摘要:AQS Java并发编程核心在于java.util.concurrent包,而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这组行为的实现,就是基于AbstractQueuedSynchronizer(AQS) AQS提供了一套多线程访问共享资
阅读全文
摘要:创建线程的三种方式 继承Thread对象,重写run方法 实现runnable接口,作为Thread构造参数 - Thread默认的run()方法中会调用runnable对象的run()方法 实现callable接口,配合FutureTask对象使用 - 底层依然是runnable接口,通过共享变量
阅读全文
摘要:并发编程基础知识 AbstractQueuedSynchronizer解析 JUC中常用的并发工具 原子类与阻塞队列 ConcurrentHashMap 线程池原理与解析
阅读全文
摘要:核心对象 SqlSessionFactoryBean: 实现InitializingBean接口,在初始化过程中读取配置文件mybatis-config.xml并创建SqlSessionFactory MapperScannerConfigurer: 实现BeanDefinitionRegistry
阅读全文
摘要:入口 public static void statementTest() { // 1.0 配置解析入口 // mybatis-config.xml - Configuration // mapper.xml - <Type,MapperProxyFactory> // mapper.xml#<s
阅读全文
摘要:缓存 一级缓存(Local cache) 作用范围:单个SqlSession,与SqlSeesion中的Executor组合在一起(当前SqlSession执行select语句则发生缓存写入,发生update类语句则发生缓存清空) 弊端:不能跨会话共享,无法感知到其他SqlSession发生的upd
阅读全文
摘要:Mybatis框架 - 半自动的对象关系映射ORM框架 资源管理 封装样板代码 实现对象关系映射(参数处理和结果集处理) SQL语句与业务代码解耦,通过xml配置实现sql的统一管理 动态SQL 缓存机制和插件机制 mybatis中文官方文档 Mybatis使用案例: public static v
阅读全文

浙公网安备 33010602011771号