文章库ARTICLE COLUMN

  • AbstractQueuedSynchronizer理解之三(Semaphore)

    AbstractQueuedSynchronizer理解之三(Semaphore)

    摘要:信号可以理解为一种许可,拿到许可的线程才可以继续执行。的计数器其实记录的就是许可的数量,当许可数量为时,方法就会阻塞。 本文接着分析Semaphore的实现原理 Semaphore是什么 Semaphore是一个计数信号量。Semaphore(信号)可以理解为一种许可,拿...

    MingjunYangMingjunYang 评论0 收藏0
  • AbstractQueuedSynchronizer理解之二(CountDownLatch)

    AbstractQueuedSynchronizer理解之二(CountDownLatch)

    摘要:本文分析一下是如何运用的是什么顾名思义它是一个门闩,它是用一个计数器实现的,初始状态计数器的数值等于线程数,每当有线程完成任务后,计数器就会减一。当为时,锁就会被释放,凡是之前因抢占锁而等待的线程这时候就会被唤醒继续抢占锁。 本文分析...

    张宪坤张宪坤 评论0 收藏0
  • AbstractQueuedSynchronizer理解之一(ReentrantLock)

    AbstractQueuedSynchronizer理解之一(ReentrantLock)

    摘要:有了这个基础,才能发挥作用,使得在节点取消和异常时能够保证队列在多线程下的完整性。 Doug Lea是JDK中concurrent工具包的作者,这位大神是谁可以自行google。 本文浅析ReentrantLock(可重入锁)的原理 Lock接口 showImg("https://segmentfault.com...

    learninglearning 评论0 收藏0
  • 【源起Netty 外传】ScheduledThreadPoolExecutor源码解读

    【源起Netty 外传】ScheduledThreadPoolExecutor源码解读

    引言 本文是源起netty专栏的第4篇文章,很明显前3篇文章已经在偏离主题的道路上越来越远。于是乎,我决定:继续保持…… 使用 首先看看源码类注释中的示例(未改变官方示例逻辑,只是增加了print输出和注释) import java.time.LocalTime; import java.util...

    funnyZhangfunnyZhang 评论0 收藏0
  • ScheduledThreadPoolExecutor详解

    ScheduledThreadPoolExecutor详解

    摘要:该方法传入表示如果当前任务正在执行,那么立即终止其执行传入表示如果当前方法正在执行,那么等待其执行完成之后再取消当前任务。        本文主要分为两个部分,第一部分首先会对ScheduledThreadPoolExecutor进行简单的介绍,并且会介绍其主...

    wangshijunwangshijun 评论0 收藏0
  • NDK入门

    NDK入门

    摘要:第一步安装配置环境变量注意要在根目录下保存退出回车输入,验证配置是否成功出现上面的结果,表示配置成功,要配合使用第二步编写项目创建项目,配置编写类编写对应文件,并生成文件生成文件利用生成文件注意包名类名创建把文件粘贴到里面创建 第一步...

    wanglu1209wanglu1209 评论0 收藏0
  • 如何把jar包发布到中央仓库

    如何把jar包发布到中央仓库

    摘要:注意此时上传的构件并未正式发布到中央仓库中,只是部署到中了,下面才是真正的发布。 1、在网站https://issues.sonatype.org/s...(请记住对应的账号和密码,之后需要用到)此外,Sonatype 还提供了一个名为OSS 的系统,具体的构件发布是在这个oss系...

    沈俭沈俭 评论0 收藏0
  • ELK 实时日志分析平台环境搭建

    ELK 实时日志分析平台环境搭建

    摘要:简单介绍,三者组合在一起搭建实时的日志分析平台,目前好多公司都是这套是个开源分布式搜索引擎,它的特点有分布式,零配置,自动发现,索引自动分片,索引副本机制,风格接口,多数据源,自动搜索负载等。 showImg("https://segmentfault.com/img/re...

    geekidentitygeekidentity 评论0 收藏0
  • Java中的wait/notify/notifyAll

    Java中的wait/notify/notifyAll

    摘要:等待一段时间是否有线程唤醒锁,如果没有,超时自动唤醒。随机唤醒等待队列中的等待同一个锁的一个线程,使这个线程退出等待队列,进入可运行状态。条件队列中是处于等待状态的线程,等待特定条件为真。在一般情况下,总应该调用唤醒所有需要被唤醒的线...

    terasumterasum 评论0 收藏0
  • 1. 认识 Java 程序【连载 1】

    1. 认识 Java 程序【连载 1】

    摘要:是什么是一种计算机编程语言,年詹姆斯高斯林等大神发明的一种编程语言,至今发展多年,应用非常广泛,使用者超级多。能干什么既然是一种计算机编程语言,自然它就是用来开发程序的。比较官方的简单定义程序是数据结构加算法。 showImg("https://segme...

    xiaowugui666xiaowugui666 评论0 收藏0
  • 2. 准备编译环境 【连载 2】

    2. 准备编译环境 【连载 2】

    摘要:包括编译器运行时环境,以及类库。配置环境变量安装好之后,我们还需要配置一下环境变量。配置环境变量的目的是可以在电脑的任何路径下都可以直接使用命令,进行编译等操作。 showImg("https://segmentfault.com/img/remote/1460000012599410?w=900&h=...

    lindroidlindroid 评论0 收藏0
  • 3. 第一个 Java 程序 - Hello World 【连载 3】

    3. 第一个 Java 程序 - Hello World 【连载 3】

    摘要:需要注意的地方输入法状态调整为英文状态代码的缩进不要忘记分号下面图片标注内容。语句语句是程序最小的一个执行单位,像一个指令,程序中,必须使用一个英文分号结束一条语句。建议,第一个简单的程序,我已经详细的为你做了演练与解释。 在上一篇文...

    shevyshevy 评论0 收藏0
  • 动态加载DEX

    动态加载DEX

    摘要:一什么是动态加载为什么要动态加载动态加载就是用到的时候再去加载,也叫懒加载,也就意味着用不到的时候是不会去加载的。 一.什么是动态加载?为什么要动态加载? 动态加载就是用到的时候再去加载,也叫懒加载,也就意味着用不到的时候是不会去加载的...

    zhangke3016zhangke3016 评论0 收藏0
  • SpringMVC中资源文件的处理

    SpringMVC中资源文件的处理

    摘要:但资源文件的请求也会被转至中处理,可通过如下配置查看效果注意中的后面有两个号,表示所有目录及子目录的路径。这样,在中多带带访问某个资源文件,可以看到该请求被转到方法中处理了。 在Spring框架中,所有的请求都可通过Spring转发器(Dispatcher...

    CrazyCodesCrazyCodes 评论0 收藏0
  • 国际版多时区设计方案

    国际版多时区设计方案

    摘要:用户场景国际版中各个仓库分属不同的城市,不同的城市所在时区不同,基于各个角色对数据的使用情况不一样主要的用户场景库内作业人员,仓库是纽约仓,时区是,查询到的仓库入库单。在查询结果显示的时候,时间数据也需要转换到纽约时区。 用户场景 国...

    史占广史占广 评论0 收藏0
  • java并发编程学习2--Future

    java并发编程学习2--Future

    摘要:一个线程池包含很多准备运行的空闲线程,每当执行完毕后,线程不会死亡而是回到线程池准备为下一个请求提供服务。另一个使用线程池的理由是减少并发线程数。创建大量线程会大大降低性能甚至拖垮虚拟机。 【Future的概念 interface Future ,表示异步计...

    weizxweizx 评论0 收藏0
  • springboot启动 @ComponentScan错误

    springboot启动 @ComponentScan错误

    摘要:错误提示根据的来运行会报出下面的错误解决方法原来是是偷懒没有把放到某个下面,而是直接放到了。 错误提示 根据springboot的tutorial来运行 https://spring.io/guides/gs/spring-boot/ 会报出下面的错误: 2016-01-28 11:35:42.034 INFO 3732 --- [...

    AnchorerAnchorer 评论0 收藏0
  • 解耦图片加载库

    解耦图片加载库

    摘要:但是当我们需要更换图片加载库时,却发现这是一项艰巨的任务。高斯模糊效果是一个很耗性能的一个操作,很容易引起,所以在使用时应将尽可能的缩小,同时选择一个稳定的实现方式。 在APP开发过程,图片加载是一个不可或缺的模块,一般我们都会使用比较...

    newtreknewtrek 评论0 收藏0
  • leetcode198,213 house robber

    leetcode198,213 house robber

    摘要:你不能连着偷两家因为这样会触发警报系统。现在有一个数组存放着每一家中的可偷金额,问可以偷的最大金额为多少这里考验了动态编程的思想。动态编程要求我们将问题一般化,然后再找到初始情况开始这个由一般到特殊的计算过程。 House Robber I You are...

    whidywhidy 评论0 收藏0
  • Android系统--TouchEvent的处理流程

    Android系统--TouchEvent的处理流程

    摘要:的处理流程就是在树中的传递的过程这个过程分为步第一步,在树中寻找处理的第二步,剩余的在树传递给目标第一步,在树中寻找处理的递归方式完成从顶向下传递,找到到的最底层的从底向上,查找可以处理的并记录从到的路径其中涉及到以及递归的方式调用的...

    edgardengedgardeng 评论0 收藏0
  • ServletConfig与ServletContext对象详解

    ServletConfig与ServletContext对象详解

    摘要:一对象在的配置文件中,可以使用一个或多个标签为配置一些初始化参数。进而,程序员通过对象就可以得到当前的初始化参数信息。对象通常也被称之为域对象。 一、ServletConfig对象 在Servlet的配置文件中,可以使用一个或多个标签为servlet配置一些初始...

    X1nFLYX1nFLY 评论0 收藏0
  • ElasticSearch 集群监控

    ElasticSearch 集群监控

    摘要:最近在做的信息集群和节点监控,特此稍微整理下学到的东西。这篇文章主要介绍集群的监控。把想象成一个需要及时调查的警告。指出你集群中的主分片数量。运行在虚拟机中,这意味着垃圾回收的持续时间和频率将成为其他重要的监控领域。 showImg("https:/...

    monw3cmonw3c 评论0 收藏0
  • 全文搜索引擎 Elasticsearch 集群搭建入门教程

    全文搜索引擎 Elasticsearch 集群搭建入门教程

    摘要:介绍是一个基于的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于接口。是用开发的,并作为许可条款下的开放源码发布,是当前流行的企业级搜索引擎。本文从零开始,讲解如何使用搭建自己的全文搜索引擎。 介绍 ElasticSearch 是一个基...

    Java_oldboyJava_oldboy 评论0 收藏0
  • ElasticSearch 单个节点监控

    ElasticSearch 单个节点监控

    摘要:会展示这个节点目前正在服务中的段的数量。线程池部分在内部维护了线程池。这些线程池相互协作完成任务,有必要的话相互间还会传递任务。每个线程池会列出已配置的线程数量,当前在处理任务的线程数量,以及在队列中等待处理的任务单元数量。 showImg(...

    ky0nchengky0ncheng 评论0 收藏0
  • Java 8 并发:同步和锁

    Java 8 并发:同步和锁

    摘要:可重入意味着锁被绑定到当前线程,线程可以安全地多次获取相同的锁,而不会发生死锁例如同步方法在同一对象上调用另一个同步方法。写入锁释放后,两个任务并行执行,它们不必等待对方是否完成,因为只要没有线程持有写入锁,它们就可以同时持有读取锁。...

    andycallandycall 评论0 收藏0

热门文章

<