- 博客(53)
- 资源 (12)
- 收藏
- 关注
转载 搭建dubbo测试环境
这个测试环境的搭建基于上一篇dubbo源码编译的基础上开始的。(补充说明,在那边文章之后又重新编译了2.4.10的源码,这个测试是基于2.4.10版本的)注册中心的安装首先先安装一个zookeeper,至于zookeeper的安装这里就不多做介绍了,可自行查找。监控中心安装进入dubbo-simple/dubbo-monitor-simple/target目录,可以
2015-10-30 11:07:30 753
转载 dubbo源码编译(顶)
首先从https://github.com/alibaba/dubbo/archive/master.zip下载最新源码,目前最新版本为2.5.4-SNAPSHOT。 解压文件。 cd dubbo mvn clean install -Dmaven.test.skip报错:Non-resolvable parent POM: Could not transfe
2015-10-30 11:06:24 1597
转载 eclipse中xsd的验证问题cvc-complex-type error with xsd
基于spring开发了个自定义标签,功能测试正常,在myeclipse中提示编译错误:Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'f
2015-10-29 19:11:38 1462
转载 dubbo 用户指南
入门(+) (#)背景(#)随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。垂直应
2015-10-29 18:05:01 4278
转载 dubbo——管理员指南(顶)
管理员指南安装手册示例提供者安装示例消费者安装Zookeeper注册中心安装Redis注册中心安装简易注册中心安装简易监控中心安装管理控制台安装运维手册管理控制台运维推荐使用Zookeeper注册中心你可以只运行Demo Provider和Demo Consumer,它们缺省配置为通
2015-10-29 17:29:51 687
转载 zookeeper——启动zookeeper中的常见问题
原文地址:http://hi.baidu.com/luhao8415/item/23c6e7f075aa18b730c1993a最近常有启动zookeeper出现问题的,整理下贴出来,以后也可以参考参考。。1. 启动zookeeper后出现noClassFound等等错误,例如:Exception in thread "main" java.lang.NoSuchMetho
2015-10-29 15:08:19 3382
转载 VIM中的保存和退出
Vim的保存文件和退出命令命令简单说明:w保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。:w!强制写文件,即强制覆盖原有文件。如果原有文件的访问权限
2015-10-29 14:28:47 562
转载 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等
2015-10-29 14:02:18 538
转载 详解设计模式在Spring中的应用
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。spr
2015-10-28 18:39:49 622
转载 maven中下载jar包源码和javadoc的命令介绍
这篇文章主要介绍了maven中下载jar包源码和javadoc的命令介绍,本文讲解了Maven命令下载源码和javadocs、通过配置文件添加、配置eclipse等内容,需要的朋友可以参考下1:Maven命令下载源码和javadocs当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过
2015-10-27 15:50:12 723
转载 如何解决Error: Can't create a new thread (errno 12)
【问题描述】打开某个网页以后就直接出现这样的提示,如下所述:MySQL ErrorMessage: Can not connect to MySQL serverSQL: Error: Can't create a new thread (errno 12); if you are not out of available memory, you can consult the m
2015-10-26 11:51:08 4741
转载 Java ConcurrentModificationException 异常分析与解决方案(顶)
一、单线程1. 异常情况举例只要抛出出现异常,可以肯定的是代码一定有错误的地方。先来看看都有哪些情况会出现ConcurrentModificationException异常,下面以ArrayList remove 操作进行举例:使用的数据集合:?1234567List m
2015-10-23 10:43:04 800
转载 java.util.ConcurrentModificationException 异常解决办法及原理(顶)
最近在修程序的bug,发现后台抛出以下异常:Exception in thread "main" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$KeyIterator.next(Has
2015-10-23 10:24:47 2208
原创 面试题176-200
176.Java中的ThreadPoolExecutor类 下面解释下一下构造器中各个参数的含义:corePoolSize:核心池的大小,这个参数跟后面讲述的线程池的实现原理有非常大的关系。在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,除非调用了prestartAllCoreThreads()或者prestartCoreThrea
2015-10-22 17:03:06 787
转载 Java并发编程:线程池的使用(顶)
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池
2015-10-22 17:01:19 513
转载 线程池大小设置与BlockingQueue的三种实现区别(顶)
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(Synch
2015-10-22 16:36:03 1871
转载 Java序列化的几种方式以及序列化的作用(顶)
本文着重讲解一下Java序列化的相关内容。如果对Java序列化感兴趣的同学可以研究一下。一.Java序列化的作用 有的时候我们想要把一个Java对象变成字节流的形式传出去,有的时候我们想要从一个字节流中恢复一个Java对象。例如,有的时候我们想要把一个Java对象写入到硬盘或者传输到网路上面的其它计算机,这时我们就需要自己去通过java把相应的对象写成转换成字节
2015-10-16 18:15:47 3350
转载 Tomcat实现Session ID的持久化保存实现
一般的,如果一个用户打开一个浏览器,服务器就会分配一个sessionid,通过session.getId()函数可以返回session的id;但是如果一旦关闭服务器后,再重启服务器,刷新页面,则服务器会重新分配一个新的sessionid;如果我们想要保留原有的id,则可以通过序列化方式保存sessionid。在conf/server.xml中,在Context即web项目中
2015-10-16 17:48:20 614
转载 ReentrantLock与synchronized (顶)
关于互斥锁:所谓互斥锁, 指的是一次最多只能有一个线程持有的锁. 在jdk1.5之前, 我们通常使用synchronized机制控制多个线程对共享资源的访问. 而现在, Lock提供了比synchronized机制更广泛的锁定操作, Lock和synchronized机制的主要区别:synchronized机制提供了对与每个对象相关的隐式监视器锁的访问, 并强制所有锁获取和释放均要
2015-10-15 14:16:04 575
转载 Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造
2015-10-15 11:10:43 437
转载 java.util.ConcurrentModificationException 解决办法
在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。则使用会报以下异常:java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
2015-10-14 21:26:09 560
转载 Java并发编程:并发容器之CopyOnWriteArrayList
原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOn
2015-10-14 14:01:48 619
原创 多线程死锁问题
前天俺们谈到了加锁(线程同步),但是在使用加锁的同时又会带来一个问题,就是死锁。什么叫死锁?所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。发生死锁的原因一般是两个对象的锁相互等待造成的。那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。 3.资源分配不当
2015-10-14 10:23:12 607
转载 java笔记--关于线程同步(5种同步方式)
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。1.同步方法 即有synchronized关键字修饰的方法。 由
2015-10-12 11:35:50 508
转载 Java GC 调试手记
摘要本文记录GC调试的一次实验过程和结果。GC知识要点回顾问题1:为什么要调试GC参数?在32核处理器的系统上,10%的GC时间导致75%的吞吐量损失。所以在大型系统上,调试GC是以小博大的不错选择。'small improvements in reducing such a bottleneck can produce large gains in perform
2015-10-10 16:44:50 621
转载 非常详细GC学习笔记
GC学习笔记这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转到这里。一、GC特性以及各种GC的选择1、垃圾回收器的特性2、对垃圾回收器的选择2.1 连续 VS. 并行2.2 并发 VS. stop-the-world2.3 压缩 VS. 不压缩 VS. 复制二、GC性能指标三、分代回收
2015-10-10 16:43:27 551
转载 最简实例说明wait、notify、notifyAll的使用方法
/*** 转载请注明作者longdick http://longdick.iteye.com**/ wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。 如果对象调用了w
2015-10-10 11:13:22 474
转载 Java总结篇系列:Java多线程(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。一.一个典型的Java线程安全例子public class ThreadTest { public static void main(String[] args) { Account account = new Account("123456", 1000); DrawMone
2015-10-10 11:12:34 519
转载 Java总结篇系列:Java多线程(二)
四.Java多线程的阻塞状态与线程控制上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要方法。1.join()join —— 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。public class ThreadTest { publ
2015-10-09 18:58:55 478
转载 Java总结篇系列:Java多线程(一)
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创
2015-10-09 18:38:06 530
原创 JVM垃圾收集算法及垃圾收集器(顶)
JVM垃圾收集算法 JVM垃圾收集算法有四种:标记-清除算法、复制算法、标记-整理算法、分代收集算法 标记-清除算法: 该算法如同它的名字一样,分为两个阶段:标记、清除。首先标记出所有需要回收的对象,然后,统一清除这些被标记的对象。该算法的缺点是:1、效率不高;2、产生大量不连续的内存碎片,导致有大量内存剩余的情况下,由于,没有连续的空间来存放
2015-10-09 10:10:01 685
转载 如何计算时间复杂度
一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2) f
2015-10-08 18:34:42 774
转载 算法时间复杂度T(n)大小顺序
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作 T(n)=O(f(n)) ,他表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长相同,称作算法的渐进时间复杂度(asymptotic time complexity),简称时间复杂度。 时间复杂度T(n)按数量级递增顺序为:常数阶对数阶线性阶线性对数阶
2015-10-08 18:28:23 21269 1
转载 算法时间复杂度的计算 [整理]
算法时间复杂度的计算 [整理]博客分类: 算法学习时间复杂度算法 基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称
2015-10-08 18:21:26 1998
转载 Collection,List,Set和Map用法和区别
Java spring MVC 框架的调用关系是弄明白了,可是发现后面要走的路还很长,有很多东西对我还是很神秘,比如 list , set , map 等,今天就来一一解开他们的面纱。当还还有一大堆需要记忆的系统已经封装好的类、接口等等,这些内容会在以后,慢慢道来。 首先看一下他们之间的关系Collection 接口的接口 对象的集合 ├ List
2015-10-08 15:33:13 453
转载 java集合类TreeMap和TreeSet
看这篇博客前,我觉得很有必要先看下我之前的几篇博客Red-Black Trees(红黑树) (TreeMap底层的实现就是用的红黑树数据结构)探索equals()和hashCode()方法 (TreeMap/TreeSet实现使用到的核心方
2015-10-08 15:02:08 648
转载 Java内存溢出和内存泄露
虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险。最近在网上搜集了一些资料,现整理如下: 一、为什么要了解内存泄露和内存溢出? 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; 2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的
2015-10-08 14:16:41 2506
转载 java处理内存泄露与内存溢出的学习总结
首先了解内存溢出与内存泄露的概念。顾名思义,内存溢出就是指在指定大小的内存空间,写入了超出大小的数据,从而导致了内存溢出。比方说,定义了20个字节大小的内存空间,却写入了21个字节的数据。通俗的说,就是内存不够,没办法支持当前程序。当发生内存溢出时,程序将无法进行,强制终止。内存泄露是指某个程序已不再执行,却始终占用着内存,不释放,从而消耗着资源,称其为内存泄露。如果发生内存泄露,那么可用内存会逐
2015-10-08 14:09:36 684
转载 负载均衡反向代理模式优点及缺点
通代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对
2015-10-08 11:40:11 5959
【精】30java工具类
2014-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人