自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MeiGe在路上。。。

个人技术学习, 大家共同进步!

  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

转载 log4j配置优化

a、日志输出的目的地,输出到控制台的速度比输出到文件系统的速度要慢。  b、日志输出格式不一样对性能也会有影响,如简单输出布局(SimpleLayout)比格式化输出布局(PatternLayout)输出速度要快。可以根据需要尽量采用简单输出布局格式输出日志信息。 c、日志级别越低输出的日志内容就越多,对系统系能影响很大。 d、日志输出方式的不同,对系统系能也是有一定影响的,

2017-05-14 17:34:02 1096

转载 MQ与kafka之间的对比

1.是否遵守JMS规范MQ遵守了jms规范,kafka没有遵循jms规范。kafka利用文件系统来管理消息的生命周期2. 吞吐量kafka是顺序写磁盘,因此效率非常高。Kafka基于时间或者partition的大小来删除消息,同时broker是无状态的,consumer的消费状态(offset)是由consumer自己控制的(每一个consumer实例只会消费某一个或多个特定parti

2017-05-03 11:54:57 22220

转载 Lock和synchronized比较详解

今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章,注意红色字体。  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java

2017-04-06 15:05:09 595

转载 redis跟mongo比较

MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。

2017-03-28 16:26:26 948

转载 Java中的阻塞队列总结

1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。阻塞队列提供了四种处理方法:

2017-03-20 02:36:01 387

转载 程序员职业规划

关于程序员的几个阶段每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你可以思考一下自己的将来。LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期)。第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不

2017-03-19 23:18:14 571 1

转载 成为java高级程序员需要掌握哪些

section 11.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了

2017-03-04 21:04:48 28179 2

原创 web服务端 缓存技术总结

分布式缓存redis,memcache,EHcache,Java Caching system,OSCache,JBossCache,Imcache,本地缓存自己构造单例、guava、ehcache基本上涵盖了目前的大多数行为了

2017-02-16 17:19:01 624

转载 Ehcache介绍

Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思考,希

2017-02-16 15:21:15 425

转载 java本地缓存技术或框架

java中的本地缓存,工作后陆续用到,一直想写,一直无从下手,最近又涉及到这方面的问题了,梳理了一下。自己构造单例、guava、ehcache基本上涵盖了目前的大多数行为了。 为什么要有本地缓存?在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无谓的数据库访问(数据库访问占用数据库连接,

2017-02-16 15:08:02 8277

转载 mysql 结构优化

情况一:全列匹配。当按照索引中所有列进行精确匹配(这里精确匹配指“=”或“IN”匹配)时,索引可以被用到。这里有一点需要注意,理论上索引对顺序是敏感的,但 是由于MySQL的查询优化器会自动调整where子句的条件顺序以使用适合的索引情况二:最左前缀匹配。当查询条件精确匹配索引的左边连续一个或几个列时,如或,所以可以被用到,但是只能用到一部分,即条件所组成的最左前缀。上面的查询从分

2016-11-14 18:15:18 320

转载 mysql 全面优化

6. MySQL Query的优化Query语句的优化思路和原则主要提现在以下几个方面:1. 优化更需要优化的Query;2. 定位优化对象的性能瓶颈;3. 明确的优化目标;4. 从Explain入手;5. 多使用profile6. 永远用小结果集驱动大的结果集;7. 尽可能在索引中完成排序;8. 只取出自己需要的Columns;9. 仅仅使用最有效的过滤条

2016-11-14 17:27:53 403

转载 mysql优化策略

1. 为查询缓存优化你的查询// 查询缓存不开启$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()"); // 开启查询缓存 $today = date("Y-m-d"); $r = mysql_query("SELECT username FROM user WHERE

2016-11-14 14:22:40 367

原创 各种排序、查找算法总结

1.直接插入排序第i(i>1)个数,依次插入到前i-1个数组成的有序序列(上升序列,下降序列)中。2.二分插入排序(直接插入排序的改进算法)第i(i>1)个数,依次插入到前i-1个数组成的有序序列(上升序列,下降序列)中。使用二分查找来定位第i个数的位置。3.希尔排序(分组直接插入排序)利用递减增量分组序列,组内直接插入排序。4.选择排序依次取i-n组成的数

2016-10-14 20:18:47 982

原创 zookeeper掉线、会话过期重连代码

package cn.jpush.iapp.zk.monitor;import java.io.IOException;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;import org.apache.zookeeper.WatchedEvent;import org.ap

2016-10-09 15:34:04 2627

原创 mysql 行列互换,列列互换数据,数组列转多行数据

1. 列变行,比较难,需要使用存储过程,调用动态sql,使用mysql的系统表information_schema.`COLUMNS`。2.行变列,比较简单。2.1 sum ifSELECT     cname AS "姓名",    SUM(IF(cource="语文",score,0)) AS "语文",    SUM(IF(cource="数学",scor

2016-09-28 18:04:03 5617

原创 mysql 不区分大小写问题

1. mysql 的默认规定 1.1 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:    1、数据库名与表名是严格区分大小写的;    2、表的别名是严格区分大小写的;    3、列名与列的别名在所有的情况下均是忽略大小写的;    4、变量名也是严格区分大小写的; 1.2 MySQL在Windows下都不区分大小写。 2. 解决方法

2016-09-18 13:47:31 1064

转载 manifest.mf文件属性详解

我们把MANIFEST中的配置信息进行分类,可以归纳出下面几个大类:  一. 一般属性  1. Manifest-Version  用来定义manifest文件的版本,例如:Manifest-Version: 1.0  2. Created-By  声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1  3

2016-08-18 10:48:56 1216

原创 dubbo框架源码核心技术解析

1.dubbo与spring可扩展Schema自定义配置支持META-INF下的spring.handlers文件中指定了dubbo的xml解析类2.jdkspi扩展在META-INF目录下,放置文件名为接口全称,文件中为key、value键值对通过URL对象来传递key值ExtensionLoader则通过接口类名和key值获取一个实现动态代理(根据实际调用时的一

2016-08-17 13:18:29 1133

转载 网络架构模型及相关协议整理分类

osi七层模型都有哪些协议?应用层:FTP,HTTP,Telnet,NFS,SMTP,Gateway,SNMP,RIP,DNS表示层: TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP传输层:TCP,UDP,S

2016-08-16 19:37:53 420

转载 java锁机制

1.java锁种类及相关概念1、自旋锁2、自旋锁的其他种类3、阻塞锁4、可重入锁5、读写锁6、互斥锁7、悲观锁8、乐观锁9、公平锁10、非公平锁11、偏向锁12、对象锁13、线程锁14、锁粗化15、轻量级锁16、锁消除17、锁膨胀18、信号量2.为什么说java的syncronized关键字的效率很低?这是因为,jav

2016-04-14 08:02:23 1021

转载 java 静态内部类的使用

Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在Android手机开发中经常用到。一、常规内部类所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释。。。)先写一个最简单的内部类的例子,大家感觉一下:1public classO

2016-04-05 18:30:33 432

转载 java内部类与静态内部类

Java 内部类与静态类Java 内部类与静态类我们一般不常用,开源框架经常用,有兴趣可以看看这篇文章,以下是我的一些总结,先了解一下,留着备用。内部类1:内部类拥有普通类的所有特性,也拥有类成员变量的特性2:内部类可以访问其外部类的成员变量,属性,方法,其它内部类静态类1:只有内部类才能声明为static,也可以说是静态内部类2:只有静态内部类才能拥有静态成员,普通内

2016-04-05 17:01:29 473

转载 设计模式

1.什么是设计模式?模式:在某些场景下,针对某类问题的某种通用解决方案场景:项目环境问题:约束条件,项目目标等解决方案:通用、可以复用的设计,解决约束,达到目标2.设计模式的分类创建型模式:对象实例化的模式,创建型模式解耦了对象的实例化过程结构型模式:把类或对象结合在一起形成更大的结构行为型模式:类和对象如何交互,及划分责任和算法3.对象设计的6大原则

2016-04-04 22:04:42 355

转载 java的注解技术介绍

1.什么是注解?用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:1234@OverridepublicString toString() {    return"This is String Representati

2016-04-03 21:13:05 624

转载 resume suspend wait sleep

为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持。      阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定

2016-04-03 19:32:22 420

转载 多线程sleep,wait,yield辨析

Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。       当有多个线程访问共享数据的时候,就需要对线程进行同步。线程中的几个主要方法的比较:       Thread类的方法:sleep(),yield()等       Object的方法:wait(

2016-04-03 18:54:37 719

转载 java笔记--关于线程同步(5种同步方式)

为何要使用同步?     java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),     将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,     从而保证了该变量的唯一性和准确性。   1.同步方法     即有synchronized关键字修饰的方法。     由于ja

2016-03-13 12:08:26 372

转载 Jvm堆内存管理

年青代=新生代(eden space)+2个survivor年青代用来存放新近创建的对象,尺寸随堆大小的增大和减小而相应的变化,默认值是保持为堆大小的1/15,可以通过-Xmn参数设置年青代为固定大小,也可以通过-XX:NewRatio来设置年青代与年老代的大小比例,年青代的特点是对象更新速度快,在短时间内产生大量的“死亡对象”。年轻代的特点是产生大量的死亡对象,并且要是产生连续可用的空间

2016-03-13 09:56:54 401

转载 如何决定 Web 应用的线程池大小

在部署 web 应用到生产环境,或者在对 web 应用进行性能测试的时候,经常会有人问:如何决定 web 应用线程池大小?决定一个 IO 阻塞型 web 应用的线程池大小是一项很艰巨的任务。通常是通过进行大量的性能测试来完成。在一个 web 应用中同时拥有多个线程池会让决定最优线程池大小的过程变得更加复杂。本文将就这个常见的问题进行一些讨论和建议。线程池web 应用中的线程池大小决定了在指

2016-03-09 16:48:57 466

原创 Nosql数据库特征总结

1.memcached:挥发性的键值存储一般作为关系型数据库的缓存来使用具有非常快的处理速度由于存在数据丢失的可能,所以一般用来处理不需要持久保存的数据用于需要使用expires时(需要定期清除数据)使用Consistent Hashing算法来分散数据2.Tokyo Tyrant持久性的键值存储用来处理需要持久保存,高速处理的数据具有非常快的处理速度用于不需要定期清除数据时使

2016-02-19 18:21:53 2176

转载 session、cookie概念作用辨析

1.概述Session:在计算机中,尤其是在网络应用中,称为“会话”。它具体是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。Session实际上是一个特定的时间概念。2.session术语在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session

2016-02-17 18:02:10 782

转载 contentType的所有类型

关于 contenttype的所有类型类型        子类型                                  描述Text        enriched                       用于E-mail和news文件               html                               HTML文件      

2016-01-24 10:52:05 1127

转载 基于HashedWheelTimer的一个定时器实现

之前有几个需要用到定时器超时的场景,比如线程池大小有限,如何让task不死等,但又不至于一旦队列满就直接reject或者让提交线程来做,但后来还是用让提交线程做事的方式来做,也就是并行暂时退化成了串行。定时器有几个关键部分,1.定时扫描机制和设定,2.超时处理callback,3.超时前成功返回cancel.定时器的实现有很多种。下面的代码主要是团队使用的改造过的HashedWheelTi

2016-01-19 18:02:57 5508 1

转载 ActiveMq性能优化

原文  http://www.cnblogs.com/zhishan/archive/2012/11/09/2762672.html主题 ActiveMQ 性能优化 SpringActiveMq运行是比较稳定的,数据的吞吐速度也很高,如果出现入队列或者出队列慢的问题,先检查一下自己的代码,是不是本身取到数据后处理过慢。本文的关于性能优化,其实是列举出一些需要注意的点

2016-01-19 11:41:14 566

转载 数据库性能优化之SQL语句优化

一、问题的提出在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百

2016-01-19 09:39:02 799

转载 数据结构与算法学习

数据结构与算法设计是CS相关专业的必修课,也是IT公司笔试面试的重点。网上这方面的资料多如牛毛,我列出了一些我认为非常值得推荐的资源,供有需求的读者研习之用。首先是一些网络资源,然后是一些书籍点评和推荐。如果你有更好的推荐,欢迎在下方留言,我甄别之后会补充的这个列表中,也欢迎自荐。不断更新中,但大浪淘沙,我只保留最值得推荐的。1、法国鲁昂大学(University of Rouen

2016-01-19 09:35:13 538

原创 activeMq消息队列查询统计

1. activemq.xml配置统计插件:        2. java代码public class StatisticsQueueMessageServlet extends HttpServlet {private static final long serialVersionUID = 1L;private final static Log

2016-01-18 19:32:44 3240

转载 元数据(MetaData)

元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑

2016-01-13 10:14:35 555

转载 什么是Hadoop,怎样学习Hadoop?

概述:Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high

2016-01-11 16:58:25 412

vs2008简明教程

初级入门文档,便于快速掌握vs2008的操作,适用于菜鸟级别的,手把手图文教学。

2013-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除