- 博客(151)
- 资源 (4)
- 收藏
- 关注
转载 MAT使用
概述对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进...
2019-03-28 20:29:39
237
转载 利用redis实现多属性快速查询
筛选 bitmap redis 4.5k 次阅读 · 读完需要 7 分钟之前有两篇文章介绍了Redis中BitMap的用途和用法,有些小伙伴说这个东西好像没太大的用途,今天我给大家分享一个在实际场景中经常会碰到的情况,那就是多属性筛选前言拿京东举例,如下图我们要找一款电子琴,牌子有:雅马哈、卡西欧,价格有各种区间,各种颜色、不同的音色数。现如今动不动...
2018-12-13 03:29:51
1434
转载 关于ActiveMQ、RocketMQ、RabbitMQ、Kafka一些总结和区别
转自:http://www.cnblogs.com/williamjie/p/9481780.html 尊重原作,谢谢消息队列为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部...
2018-12-03 22:07:53
664
原创 手机发短信
package com.jeemis.framework.util;import com.alibaba.fastjson.JSON;import com.jeemis.framework.core.util.HttpUtil;import com.jeemis.framework.core.util.JsonUtil;import com.jeemis.framework.core....
2018-08-15 10:22:19
227
原创 HttpClientUtil 工具类
package com.jeemis.framework.util; import java.io.IOException;import java.net.URI;import java.util.ArrayList;import java.util.List;import java.util.Map; import org.apache.http.NameValuePair;...
2018-08-15 10:20:57
424
原创 发送邮件
package com.jeemis.framework.util;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMess...
2018-08-15 10:20:12
313
转载 Java系列笔记(2) - Java RTTI和反射机制
目录类加载器动态加载链接初始化示例类加载器在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用。每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器
2017-04-26 19:34:21
311
转载 Java系列笔记(2) - Java RTTI和反射机制
目录前言传统的RTTI反射反射的实现方式反射的性能反射与设计模式前言并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这就是RTTI(Runtime Type Information,运行时类型信息)。在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型;还有一种,是利用反射机制,在
2017-04-26 19:33:38
229
转载 Java系列笔记(1) - Java 类加载与初始化
目录类加载器动态加载链接初始化示例类加载器在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用。每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器
2017-04-26 19:32:40
336
转载 Java系列笔记(4) - JVM监控与调优
目录参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。 (如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅读本
2017-04-26 19:29:58
806
转载 深入解析:分布式系统的事务处理经典问题及模型
深入解析:分布式系统的事务处理经典问题及模型发表于2014-01-21 13:25| 29619次阅读| 来源酷壳| 24 条评论| 作者陈皓分布式PAXOSNWR模型Two Generals Problem一致性模型摘要:分布式系统需要在数据完整、一致性和性能间做平衡。本文系统介绍了处理分布式数据一致性的技术模型,如:Master-Slave,Master
2016-08-06 04:22:00
409
转载 RabbitMQ (二)工作队列
http://blog.youkuaiyun.com/lmj623565791/article/details/37620057
2016-08-06 02:48:32
274
转载 rabbitmq可靠确认模式的java封装及示例
rabbitmq.png最近的一个计费项目,在rpc调用和流式处理之间徘徊了许久,后来选择流式处理。一是可以增加吞吐量,二是事务的控制相比于rpc要容易很多。确定了流式处理的方式,后续是技术的选型。刚开始倾向于用storm,无奈文档实在太少,折腾起来着实费劲。最终放弃,改用消息队列+微服务的方式实现。消息队列的选型上,有activemq,rabbitmq,kafka等。最开始倾向于
2016-08-06 01:43:07
643
转载 深入浅出 消息队列 ActiveMQ
一、 概述与介绍ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和协议,带有易于在充分支持JMS 1.1和1.4使用J2EE企业集成模式和许多先进的功能。二、 特性1、 多种语言和协议编写客户端
2016-08-04 22:40:53
360
转载 七种WebSocket框架的性能比较
http://colobu.com/2015/07/14/performance-comparison-of-7-websocket-frameworks/
2016-08-03 02:37:22
4001
转载 两种分布式锁实现方案
http://rdc.gleasy.com/%E4%B8%A4%E7%A7%8D%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%A1%881.html https://blog.youkuaiyun.com/xiongyouqiang/article/details/79387829 htt...
2016-07-13 20:08:03
347
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程
2016-07-13 19:24:17
2376
转载 mysql 性能优化方案
网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status;
2015-10-25 20:54:24
327
转载 java多线程之生产者消费者经典问题
今天研究了一下java多线程,顺便写了一下多线程中的经典问题-----生产者消费者经典问题,参照了网上的各种写法之后自己写了一个,如下所示[java] view plaincopyprint?"font-size: 14px;">/**生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二,既然是生产者、消费者,那么生产者类和
2015-10-25 20:40:00
295
原创 JAVA多线程实现的三种方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的
2015-10-25 19:28:41
265
转载 最简实例说明wait、notify、notifyAll的使用方法
public class NotifyTest { private String flag[] = { "true" }; class NotifyThread extends Thread { public NotifyThread(String name) { super(name);
2015-10-25 18:56:07
389
转载 Spring实现AOP的4种方式
Spring实现AOP的4种方式 先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间
2015-09-21 18:53:43
305
转载 Java并发编程:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类
2015-09-21 16:55:16
302
转载 solr云配置
http://wenku.baidu.com/link?url=NDUsVwxGqDWbYEJXUqhZtpRDcRlQtobNWpQHtw5ouFPmTHbFu28E0gLOIxBJK-wHPpWXHQeMuSK23WowB2ZfAJC6tZveqayz_TXXiT-uAh_
2015-04-09 18:36:22
335
转载 Spring AOP 实现原理与 CGLIB 应用
AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强
2015-03-24 14:05:41
297
转载 Java thread中对异常的处理策略
前言 想讨论这个话题有一段时间了。记得几年前的时候去面试,有人就问过我一个类似的问题。就是java thread中对于异常的处理情况。由于java thread本身牵涉到并发、锁等相关的问题已经够复杂了。再加上异常处理这些东西,使得它更加特殊。 概括起来,不外乎是三个主要的问题。1. 在java启动的线程里可以抛出异常吗? 2. 在启动的线程里可以捕捉异常吗? 3. 如果可以捕捉异常
2015-03-22 13:53:25
610
转载 接口和抽象类的区别 --相信你看完不会再混淆了
接口和抽象类的区别 --相信你看完不会再混淆了我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。1.面向接口编程和面向对象编程是什么关系首先
2015-03-16 17:48:40
331
转载 java中HashSet详解
HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码: Java代码 public class HashSet extends AbstractSet im
2015-03-06 12:58:44
316
转载 simple-spring-memcached简介
memcached是一款非常优秀的分布式缓存工具,有效提升了按主键检索数据的性能问题。而simple-spring-memcached组件通过与spring框架整合,让memcached的调用变得更加简单。simple-spring-memcached本质上是采用了AOP的方式来实现缓存的调用和管理,其核心组件声明了一些Advice,当遇到相应的切入点时,会执行这些Advice来对memc
2015-03-06 10:20:34
323
转载 MySQL 加锁处理分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加
2015-01-29 16:46:25
280
转载 救火必备linux命令小结(一)------查问题
线上查问题的时候有些命令是必备,有必要把一些常用命令总结一下(这类命令和相关参数相当多,只总结自己常用得到的),查找问题一般可以分为系统参数、性能参数、进程、内存、网络、存储、内存和jvm这么几类:系统参数 cat /proc/cpuinfo cpu相关参数cat /proc/meminfo 内存相关参数cat /proc/loadavg 负载情况 性能参数
2014-12-31 17:11:13
315
转载 Zookeeper Api(java)入门与应用(转)
如何使用Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,后面将会详细介绍 Zookeeper 能够解决的一些典型问题,这里先介绍一
2014-12-31 16:45:28
334
转载 关于TbSchedule任务调度管理框架的整合部署
一、前言任务调度管理作为基础架构通常会出现于我们的业务系统中,目的是让各种任务能够按计划有序执行。比如定时给用户发送邮件、将数据表中的数据同步到另一个数据表都是一个任务,这些相对耗时的操作通过任务调度系统来异步并行执行,既能提高任务的执行效率又能保障任务执行的可靠性。实现的方式也是多种多样,比如使用Timer进行简单调度或者使用Quartz类似的框架,本文基于淘宝开源框架TbSchedule实现,
2014-12-29 14:31:17
513
转载 ZooKeeper的学习与应用
1. ZooKeeper的学习与应用 1.1. 概述 ZooKeeper是Apache在很多云计算项目中的一个,与Hadoop密切相关,这种情况导致我一开始认为ZooKeeper的搭建需要Hadoop项目作为支持,但是最后发现完全不需要,它是可以单独运行的一个项目。 在网上看到了一个很不错的关于ZooKeeper的介绍: 顾名思义动物园管理员,
2014-12-26 13:18:25
375
转载 SOLR入门配置说明
http://jingyan.baidu.com/album/e8cdb32b5ae58f37052badad.html?picindex=4
2014-12-24 16:23:43
352
转载 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
本文原文连接: http://blog.youkuaiyun.com/bluishglc/article/details/7612811 ,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向
2014-11-07 14:27:32
424
转载 JDK动态代理实现原理
之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。 Java代码 package dynamic.proxy; import java.la
2014-09-29 18:37:22
379
XFire客户端流程分析
2011-04-02
ANT使用指南.PDF
2011-04-02
页面静态化实例.rar
2009-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人