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