自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 学习方法模板

一、做什么的例: kafka 是用来...二、怎么做的例: kafka 通过...三、有哪些构件3.1 producerproducer 用来...3.2 consumerconsumer 用来...3.3 topictopic 用来...四、性能分析例: kafka 吞吐量...五、其他同类对比例: kafka & RabbitMQ...六、具体使用场景举例例:七、如何使用例: 如何安..

2020-11-03 10:48:18 82

原创 Redis - 主从/主从从节点

 使用主从做什么避免 redis 单点故障实现读写分离主从拓扑图如何配置安装单节点 redis 创建文件夹 6379、6380、6381,复制 redis.conf 文件到三个文件夹中 修改每个文件夹下的 redis.conf 文件 daemonize yes    # 后台运行 bind 192.168.100.50    # 根据节点 ip 设置,不要设...

2018-08-21 11:32:09 1227

原创 Java - 事务

一、事务特性(ACID)原子性:事务内所有的更改操作(先关联的所有数据操作),作为一个单元进行提交或者回滚。一致性:事务保证数据库从一个一致状态变到另一个一致状态。(要么所有操作成功,要么所有操作回滚)隔离性:与事务隔离性和隔离级别有关。持久性:数据更改永久性。二、事务操作JDBC 事务、JTA事务、容器事务。JDBC事务只能操作同一数据库,不可分布式。JDB...

2018-08-13 17:01:26 164

原创 Java 线程 - ThreadLocal

ThreadLocal:线程本地变量、线程本地存储。。。!为每个线程创建一个副本,让线程可以访问自己的副本,实现线程数据私有化。下面的例子中,每个线程独有一份 ThreadLocal 副本,调用set后,每个线程中的数据互不影响。ThreadLocal 维护一个 ThreadLocalMap,该 ThreadLocalMap 又关联 Thread 的 ThreadLocalMap 实例。...

2018-08-13 10:43:39 161

原创 Java 多线程工具类

一、CountDownLatchCountDownLatch 可用于倒计数getCount():获取当前计数器剩余计数countDown():倒计数器释放一次await():用在多线程执行的后面,只有当 CountDownLatch 计数器全部释放,及 getCount() == 0 时,才会唤醒,继续执行public class Test { public static...

2018-08-13 09:37:17 757

原创 Java 算法 - 排序

// 快速排序 private static class Sort1 { public static void sort() { int[] a = { 43, 56, 1, 4, 56, 70, 133, 13, 2, 33, 6, 43, 42 }; System.out.println(Arrays.toString(a)); int len = a.length;...

2018-08-12 21:34:21 116

原创 Java 阻塞锁

在这里我们使用了LockSupport.unpark()的阻塞锁。 该例子是将CLH锁修改而成。阻塞锁的优势在于,阻塞的线程不会占用cpu时间, 不会导致 CPu占用率过高,但进入时间以及恢复时间都要比自旋锁略慢。在竞争激烈的情况下 阻塞锁的性能要明显高于 自旋锁。理想的情况则是; 在线程竞争不激烈的情况下,使用自旋锁,竞争激烈的情况下使用,阻塞锁。import java.uti...

2018-08-12 20:37:08 699

原创 Java 自旋锁

使用 while 循环等待其他锁释放,而不是让出 CPU 时间片。(使用原子操作 CAS - atomic 类型数据)可以减少线程切换,但可能长时间占用等待。(不可重入自旋锁、可重入自旋锁)不可重入自旋锁// 自旋锁,不可重入。因为如果同意线程,即run方法中,多次调用lock,则会死锁class SpinLock { AtomicReference<Thread>...

2018-08-12 18:32:45 262

原创 java - 菜单树形结构

1、结构一限制:(数据库添加数据的时候,进行限制最好;id 与 pid 为 int)  不要出现类似下面的情况,即 B = C && D > B,  换句话说,先 sort(pid) 再 sort(id) 之后,某一项的 pid 对应的 id应该在该项前面,即 A = D && B < DmenuList.add(new Menu(112, 116, "...

2018-05-08 08:59:22 1173

原创 Java - 方法回调

public class Test { public static void main(String[] args) { Caller caller = new Caller(); caller.call(new Callback() { @Override public void callback() { System.out.prin...

2018-05-04 15:01:09 137

原创 Java - 延迟队列

Task.javapublic class Task<T extends Runnable> implements Delayed { // 到期时间 private final long time; // 任务 private final T task; // 用于标识当前任务 private final long n; private final Ato...

2018-05-04 14:54:43 494

原创 java - 监听器

代码实现:public class ListenerTest { public static void main(String[] args) { EventSource eventSource = new EventSource(); eventSource.addListener(new EventListener() { @Override pub...

2018-05-04 14:42:37 137

原创 java - 设计模式七大原则

1、单一职责原则:定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改...

2018-05-04 09:50:38 365

原创 java - 23种设计模式

一、设计模式分类:      创建型模式:单例模式、工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)、建造者模式、原型模式。      结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。      行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。      其它:并发...

2018-05-04 09:50:09 422

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除