上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
摘要: java反编译工具 可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码。 findbugs FindBugs-IDEA插件的使用 阿里巴巴Java开发规约插件 关于《阿里巴巴Java开发规约》插件的安装与使用 阅读全文
posted @ 2018-04-15 00:08 leon66666 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、采用jmeter进行测试 为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议.关于jmeter的使用,请参考 http://www.hissummer.co 阅读全文
posted @ 2018-04-10 11:37 leon66666 阅读(4703) 评论(0) 推荐(0) 编辑
摘要: 前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet 阅读全文
posted @ 2018-04-04 15:45 leon66666 阅读(710) 评论(0) 推荐(0) 编辑
摘要: Spring AMQP中文文档 http://ju.outofmemory.cn/entry/320538 云栖社区 https://yq.aliyun.com/search?q=rabbitmq&type=ARTICLE RabbitMQ-JAVA常见报错信息 , https://yq.aliyu 阅读全文
posted @ 2018-03-30 11:50 leon66666 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 简介 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行 阅读全文
posted @ 2018-03-29 18:15 leon66666 阅读(1820) 评论(0) 推荐(0) 编辑
摘要: 【1、安装erlang环境】yum install http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm 【2、安装rabbitmq】yum install http://www.rabbitmq. 阅读全文
posted @ 2018-03-26 18:30 leon66666 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 一、HashMap概述 HashMap是常用的Java集合之一,是基于哈希表的Map接口的实现。与HashTable主要区别为不支持同步和允许null作为key和value。由于HashMap不是线程安全的,如果想要线程安全,可以使用ConcurrentHashMap代替。 二、HashMap数据结 阅读全文
posted @ 2018-03-22 10:44 leon66666 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: Exchanger是双向的数据传输,2个线程在一个同步点,交换数据。先到的线程会等待第二个线程执行exchangeSynchronousQueue,是2个线程之间单向的数据传输,一个put,一个take。 先举个例子说明一下如何使用 再看一下内部结构 关键技术点1:CacheLine填充 交换数据的 阅读全文
posted @ 2018-03-14 17:03 leon66666 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包 阅读全文
posted @ 2018-03-11 22:37 leon66666 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 当订单定时取消需要修改数据库订单状态,但是怎么确定订单什么时候应该改变状态,解决方案有下面两种: 第一种,写个定时器去每分钟扫描数据库,这样更新及时,但是如果数据库数据量大的话,会对数据库造成很大的压力。 第二种,创建订单的时候再订单表里面创建一条记录,然后把这条记录保存到DelayQueue队列里 阅读全文
posted @ 2018-03-08 16:42 leon66666 阅读(764) 评论(0) 推荐(0) 编辑
摘要: DelayQueue,带有延迟元素的线程安全队列,当非阻塞从队列中获取元素时,返回最早达到延迟时间的元素,或空(没有元素达到延迟时间)。DelayQueue的泛型参数需要实现Delayed接口,Delayed接口继承了Comparable接口,DelayQueue内部使用非线程安全的优先队列(Pri 阅读全文
posted @ 2018-03-08 16:20 leon66666 阅读(534) 评论(0) 推荐(1) 编辑
摘要: PriorityBlockingQueue是一个基于数组实现的线程安全的无界队列,原理和内部结构跟PriorityQueue基本一样,只是多了个线程安全。javadoc里面提到一句,1:理论上是无界的,所以添加元素可能导致outofmemoryerror;2.不容许添加null;3.添加的元素使用构 阅读全文
posted @ 2018-03-07 15:16 leon66666 阅读(468) 评论(0) 推荐(0) 编辑
摘要: SynchronousQueue是一种特殊的阻塞队列,不同于LinkedBlockingQueue、ArrayBlockingQueue和PriorityBlockingQueue,其内部没有任何容量,任何的入队操作都需要等待其他线程的出队操作,反之亦然。如果将SynchronousQueue用于生 阅读全文
posted @ 2018-03-06 16:08 leon66666 阅读(488) 评论(0) 推荐(0) 编辑
摘要: java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。 字段的定 阅读全文
posted @ 2018-02-11 15:15 leon66666 阅读(3505) 评论(0) 推荐(1) 编辑
摘要: 一、前言 在分析了锁框架的其他类之后,下面进入锁框架中最后一个类ReentrantReadWriteLock的分析,它表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁ReadLock和写锁WriteLock,可以通过这两种锁实现线程间的同步,下面开始进行分析。 二、 阅读全文
posted @ 2018-02-06 16:24 leon66666 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 原文已经写得非常详细了,直接把大神的文章转发过来了 https://www.cnblogs.com/xrq730/p/4979021.html 前言 这篇文章被归到Java基础分类中,其实真的一点都不基础。网上写ReentrantLock的使用、ReentrantLock和synchronized的 阅读全文
posted @ 2018-02-02 16:15 leon66666 阅读(408) 评论(0) 推荐(1) 编辑
摘要: 线程的状态:New、Runnable、Blocked、Waiting、Timed waiting、Terminated 1. RUNNABLE,对应"就绪"和"运行"两种状态,也就是说处于就绪和运行状态的线程在java.lang.Thread中都表现为"RUNNABLE"2. BLOCKED,对应" 阅读全文
posted @ 2018-02-01 11:36 leon66666 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 在计算机中,负数以其正值的补码形式表达。 什么叫补码呢?这得从原码,反码说起。 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。 比如 00000000 00000000 00000000 00000101 是 5的 原码。 反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 阅读全文
posted @ 2018-01-09 10:26 leon66666 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。 按位与(Bitwise AND),运算符号为& a&b 的操作的结果:a、b中对应位同时为1,则对应结果位也为1、 例如: 10010001101000101011001111000 & 111111100000000 101 阅读全文
posted @ 2018-01-08 21:01 leon66666 阅读(1674) 评论(0) 推荐(0) 编辑
摘要: 在git使用过程中有时会遇到修改了.gitignore文件,修改了之后发现,不能起作用,这是因为git存在缓存问题,所以做一下步骤即可: 阅读全文
posted @ 2018-01-06 18:02 leon66666 阅读(548) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页