上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页
摘要: 一、自定义注解 先聊聊这个需求,我需要根据用户的权限对数据进行一些处理,但是痛点在哪里呢?用户的权限是在请求的时候知道的,我怎么把用户的权限传递给处理规则呢?想了以下几种方案: 1. Mybatis 拦截器:如果你的权限参数可以渗透到 Dao 层,那么这是最好的处理方式,直接在 Dao 层数据返回的 阅读全文
posted @ 2019-11-20 08:47 JMCui 阅读(6415) 评论(4) 推荐(0)
摘要: 一、概述 JDK7 之前和之后的版本,String 的 intern() 方法在实现上存在差异,本文的说明环境是 JDK8,会在文末说明 intern() 方法的版本差异性。 intern() 方法是一个 native 的方法,返回常量池中的字符串引用,主要体现在以下两点: 1. 如果常量池中已存在 阅读全文
posted @ 2019-11-14 12:55 JMCui 阅读(657) 评论(0) 推荐(1)
摘要: JDK 1.0 1991年4月,由 James Gosling 博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场上并不算成 阅读全文
posted @ 2019-11-07 09:22 JMCui 阅读(1649) 评论(3) 推荐(3)
摘要: 1. 前言 从一开始学习 Netty 到 rxjava、Rector,再到 java8 的 CompletableFuture,就深深的为响应式编程着迷,这种区别于传统的顺序式编程,没准未来能在编程世界开辟一片天地呢! 然后接触到了 WebFlux 框架,也是充满了浓厚的兴趣,想好好琢磨一番,奈何中 阅读全文
posted @ 2019-11-03 09:47 JMCui 阅读(4635) 评论(0) 推荐(0)
摘要: 一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis 主处理模式是单进程的。 留意 redis 日志文件的配置,对应 l 阅读全文
posted @ 2019-10-27 17:22 JMCui 阅读(911) 评论(0) 推荐(0)
摘要: 一、排序 redis 支持对 list,set 和 zset 元素的排序,排序的时间复杂度是 O(N+M log(M))。(N 是集合大小,M 为返回元素的数量) [BY pattern]:sort 命令默认使用集合元素进行排序,可以通过 “BY pattern” 使用外部 key 的数据作为权重排 阅读全文
posted @ 2019-10-21 21:49 JMCui 阅读(869) 评论(0) 推荐(1)
摘要: key 操作 删除 key:del key 批量删除key:redis-cli -a(密码)keys “QXJ_*”| xargs redis-cli -a(密码)del 查看所有的 key(一次性遍历整个数据库,生产上慎重使用):keys [pattern] 利用 cursor 分页查询记录(渐进 阅读全文
posted @ 2019-10-20 13:06 JMCui 阅读(571) 评论(0) 推荐(1)
摘要: 一、多线程语义 阿姆达尔定律通过系统中并行化和串行化的比重来描述多处理器系统能获得的运算加速能力,摩尔定律则用于描述处理器晶管体数量与运行效率之间的发展关系。这两个定律的更替代表了近年来硬件发展从追求处理器频率到追求多核心并行处理的发展过程。 实现线程主要有3种方式:使用内核线程实现,使用用户线程实 阅读全文
posted @ 2019-10-13 14:58 JMCui 阅读(520) 评论(0) 推荐(0)
摘要: 一、ThreadPoolExecutor 参数说明 corePoolSize:核心线程池的大小。当提交一个任务到线程池时,核心线程池会创建一个核心线程来执行任务,即使其他核心线程能够执行新任务也会创建线程,等到需要执行的任务数大于核心线程池基本大小时就不再创建。如果调用了线程池的 prestartA 阅读全文
posted @ 2019-09-20 07:46 JMCui 阅读(2248) 评论(1) 推荐(4)
摘要: 一、线程池工作流程 线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务(需要获得全局锁)。如果核心线程池里的线程都在执行任务,则进入下个流程。 线程池判断工作队列是否已满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则进入下个流程 阅读全文
posted @ 2019-09-19 23:24 JMCui 阅读(718) 评论(0) 推荐(0)
摘要: CountDownLatch 1. CountDownLatch 允许一个或多个线程等待其他线程完成操作。 2. CountDownLatch 可以替代 join 的作用,并提供了更丰富的用法。 3. CountDownLatch 的 countDown 方法,N 会减1;CountDownLatc 阅读全文
posted @ 2019-09-13 07:48 JMCui 阅读(664) 评论(0) 推荐(0)
摘要: 简介 原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。 Java 在 JDK 1.5 中提供了 java.util.concurrent.atomic 包,这个包中的原子操作类提供了一种用法简单、性能高效、 阅读全文
posted @ 2019-09-08 23:51 JMCui 阅读(854) 评论(0) 推荐(0)
摘要: 一、介绍 使用 java8 lambda 表达式大半年了,一直都知道底层使用的是 Fork/Join 框架,今天终于有机会来学学 Fork/Join 框架了。 Fork/Join 框架是 Java 7 提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大 阅读全文
posted @ 2019-09-06 13:22 JMCui 阅读(859) 评论(0) 推荐(1)
摘要: 介绍 阻塞队列(BlockingQueue)是指当队列满时,队列会阻塞插入元素的线程,直到队列不满;当队列空时,队列会阻塞获得元素的线程,直到队列变非空。阻塞队列就是生产者用来存放元素、消费者用来获取元素的容器。 当线程 插入/获取 动作由于队列 满/空 阻塞后,队列也提供了一些机制去处理,或抛出异 阅读全文
posted @ 2019-09-04 08:32 JMCui 阅读(1532) 评论(0) 推荐(3)
摘要: 一、介绍 ConcurrentLinkedQueue 是一个基于链接节点的无界线程安全队列,非阻塞,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部;当我们获取一个元素时,它会返回队列头部的元素。 ConcurrentLinkedQueue 采用非阻塞的方式实现线程 阅读全文
posted @ 2019-08-31 09:37 JMCui 阅读(586) 评论(0) 推荐(1)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页