摘要:
重新认识Java 1. java的优点是什么? java是面向对象语言 通过java虚拟机,可以一次编写到处运行 java具有相对安全的内存管理和访问机制,避免了大部分内存泄露和指针越界的问题。 通过热点代码检测和运行时编译优化,java应用可以随着运行时间的增加而获得更高的性能。 Java具有多样 阅读全文
摘要:
深入浅出谈索引(下)笔记 由于查询结果所需要的数据只在主键索引上有,所以不得不回表。可以通过一些优化的方法来避免回表的过程。 覆盖索引 1. 什么是覆盖索引 在查询时,尽量只查询树上包含的字段。例如通过二级索引查询主键等行为,当某些查询频率较高,可以尝试建立联合索引通过覆盖索引的手段,提高查询效率 阅读全文
摘要:
https://www.netsarang.com/zh/free-for-home-school/ 阅读全文
摘要:
通过快捷键就可以更快的切换标签了,不需要使用鼠标点来点去的。 快捷键 功能 Ctrl + K 在地址栏中打开搜索查询 Ctrl + T 打开新标签页并切换到该标签页 Ctrl + W 关闭当前标签页 Ctrl + 1、2...8 切换到特定标签页 Ctrl + 9 切换到最后一个标签页 Ctrl + 阅读全文
摘要:
分支合并框架 复杂任务分拆给线程,大事化小,最后把拆分结果合并 原理 Fork and Join 相关类 ForkJoinPool 分支合并池 ForkJoinTesk 分支合并任务 RecursiveTask 递归任务 package main.java; import java.util.con 阅读全文
摘要:
ThreadPoll线程池 为什么要用线程池 线程池做的工作主要是控制运行的数量,处理过程中将任务放到队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等到其他线程执行完毕,再从队列中取出任务来执行。 主要特点:线程复用,控制最大并发数,管理线程 优势: 降低资 阅读全文
摘要:
BlockingQueue阻塞队列 生产者消费者问题,在多线程领域,所谓阻塞就是再某些情况下会挂起线程,一但条件满足,被挂起的线程就又会自动唤醒。 常用的实现类: ArrayBlockingQueue:由数组结构组成的有界阻塞队列 LinkedBlockingQueue:由链表结构组成的有界阻塞 阅读全文
摘要:
ReentranReadWriteLock读写锁 一些锁的概念 共享锁(S锁)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁(X锁)又 阅读全文
摘要:
JUC 常用辅助类 CountDownLatch减少计数 public class CountDemo { public static void main(String[] args) throws InterruptedException { CountDownLatch cd = new Cou 阅读全文
摘要:
Callable 实现多线程的方法 继承thread类 实现runnable接口 实现callable接口 java的线程池获得 callable与runnable的区别 class MyThread implements Runnable{ @Override public void run() 阅读全文