知识点整理
文章平均质量分 86
开发相关知识点整理
swainnnn
always like this~
展开
-
JVM相关
jvm 加载的类是放到了JVM的元数据空间,也就是永久代 永久代一般放一些类和常量池,一般设置256M. 如果给小了,可能导致频繁的Full GC,因为永久代如果满了,会触发Full GC. Java虚拟机栈 1M的大小,一个系统运行最多几百个线程,不用设置太大. 局部变量保存的都是对象的地址,地址指向了JVM堆内存。 1.类加载机制 加载-验证-准备-解析-初始化-使用-卸载 -验证规范-分配内存空间(静态变量)-符号应用替换为直接引用-赋值(new时触发加载初始化,有父类先初始化父类) 类加载器分类:原创 2021-08-01 21:59:36 · 152 阅读 · 0 评论 -
JAVA并发编程
1.java内存模型: 线程工作内存 <-> 主内存 2.并发问题解决方案: 无锁: 局部变量: 善用局部变量可避免线程安全问题,因为局部变量在各自线程内 不可变对象: final关键字; ThreadLocal: 每个线程有自己的副本 cas原子类: (乐观锁)比较置换, Atomic为前缀的类 有锁: synchronized关键字: (悲观锁) ReentrantLock可重入锁: (悲观锁) 3. CopyOnWriteArrayList 等效不可变对象 弱一致性: 写元原创 2021-08-01 21:58:26 · 74 阅读 · 0 评论 -
mysql整理
MySQL相关知识点记录1.mysql驱动:与mysql建立网络连接2. InnoDB架构设计:3.binlog: 归档日志 属于mysql server自己的日志文件4. 线上部署5.压测:6.Prometheus+Grafana监控平台7.物理设计8.在磁盘上如何存储?9.数据库的多事务并发问题:10.解决多事务并发问题:11.锁:12.数据页物理结构:13 高可用保证mysql高性能: 1.数据量不要太大 2.查询用上索引 1.mysql驱动:与mysql建立网络连接 数据库连接池 网络连接必须让线程原创 2021-08-01 21:53:30 · 124 阅读 · 0 评论