- 博客(69)
- 收藏
- 关注
转载 网盘系统中目录结构数据的分库方案
对于网盘系统,每个用户都有自己独立的文件目录,用户可以在自己的根目录下自由建立文件夹,上传文件。对于这样的树形目录结构,一般会建立成如下的表结构:User表:Userid用户IDUsername用户名Rootid根文件夹IDDirectory表:...
2013-08-30 10:54:00
542
转载 KETAMA算法:基于虚节点的一致性哈希算法
一致性哈希算法(Consistent Hashing Algorithm)是一种分布式算法,常用于负载均衡。Memcached client也选择这种算法,解决将key-value均匀分配到众多Memcached server上的问题。它可以取代传统的取模操作,解决了取模操作无法应对增删Memcached Server的问题(增删server会导致同一个key,在get操作时分配不到数据...
2013-05-27 13:22:00
235
转载 MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh
年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlreport输出一个可读性更好的报表;但Sundry MySQL提供的脚本相比mysqlreport更进一步:除了报表还进一步提供了修改建议。安装和使用非常简单:wget http://www.day32.com/MySQL/tuning-pr...
2013-05-21 15:28:00
166
转载 MYSQL忽然慢了怎么办(转)?
第一步 检查系统的状态... 21.1 使用sar来检查操作系统是否存在IO问题... 21.2 使用vmstat监控内存 cpu资源... 21.2.1 CPU问题... 31.2.2内存问题... 31.3磁盘IO问题... 31.4网络问题... 3第二步 检查mysql参数... 32.1 几个不被注意的mysql参数... 32.1.1 ma...
2013-05-21 15:13:00
138
转载 MySQL数据库负载很高连接数很多怎么处理
在MySQL数据库连接数很多,而且大多属于活跃的状态时MySQL机器基本上负载很高,属于基本上快要死去的状态了.这时怎么办呢?有可能两个办法.第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.处理方法: set g...
2013-05-21 15:06:00
541
转载 java处理高并发高负载类网站的优化方法
一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐的是M-M-...
2013-03-08 09:58:00
85
转载 程序员技术练级攻略(转)
月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得...
2013-03-01 11:03:00
147
转载 Apache+Tomcat负载实战调优记录
一般来说,按照网上提供的一些方法,将Apache和多个Tomcat通过jk连接,进行集群负载是没有什么大的问题的,但当访问量增加得比较大而且峰值持续时间较长时,默认的一些配置就不够用了。 今天亲身经历了这样一个过程,apache的最大连接数调到了4500,但都还不够用,一会就跑满了。而Tomcat这边压力却不大,同时,发现mod_jk.log里面有很多这样的错误记录:...
2013-03-01 11:01:00
85
转载 Tomcat 7基于SocketAppender的日志采集方案
当前系统中的日志由各个独立的Tomcat产生,日志存储的比较分散,不便于管理,而且由于采用将文件写入NAS的方式记录日志,当磁盘出现故障的情况下会导致Tomcat异常。为消除日志实体和Tomcat程序的依赖以及解决日志的管理问题,决定采用基于Socket的远程日志收集方案。本方案需要对Tomcat的日志系统做一些改动,具体方案如下:一、Tomcat的改造:Tomcat原生的日...
2013-02-28 18:17:00
218
转载 Berkeley DB Java Edition
一、 简介 Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据。l 能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不是JE本身。l 多线程支持,JE使用超时的方式来处理线程间的死琐问题。l Database都采用简单的key/value对应的形式。l 事务支持。l 允...
2010-12-23 15:43:00
94
转载 HttpClient入门
HttpClient简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Co...
2010-12-23 15:42:00
78
转载 METRO2与SPRING3的集成
1.libantlr-runtime.jarcommons-logging-1.0.4.jarjaxws-spring-1.8.jarorg.springframework.asm-3.0.0.RELEASE.jarorg.springframework.beans-3.0.0.RELEASE.jarorg.springframework.context-3.0.0.RELEASE....
2010-12-09 12:08:00
111
转载 httpsurlconnection 无报错提示建立连接
java使用HttpsUrlConnection下载一个远程文件时,常规的方法会出现不信任证书的异常,解决的方法就是:使用自信认管理器,示例如下:Java中忽略對建立SSL連線之certificate的檢查建立SSL連線時,伺服器會提供一份電子憑證(certificate),以供用戶端程式在連線時用以編解與伺服器之間的訊息交換。正常的情況下,在建立連線之際,用戶端程式收到伺...
2010-12-07 16:44:00
100
转载 使用C# 开发ActiveX控件
附件下载(源代码+安装文件+教程)0. 前言ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。使用ActiveX插件,可以轻松方便的在 Web页中插入多媒体效果、交互式对象以及复杂程序等等。通常使用C++或VB开发ActiveX控件,本文探讨一下在Visual Studio 2005环...
2010-12-06 20:14:00
121
转载 Java安全通信、数字证书及应用实践
摘要:在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在 JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet的访问权限的过程,给出了全部例子的详细代码。通过本文中你可以学到以下知识:● 程序间如何安全通信● 什么是 及 如何生成消息摘要●...
2010-12-06 18:11:00
84
转载 JSR311让Restful WebService变简单
需求 公司有一个产品,包括前台WEB界面和多个后台服务,各个服务都需要在前面界面中进行配置和控制,以调整服务的行为。以前,配置文件都存放在数据库中,界面上修改配置后入库,并发送消息(Socket)通知特定的服务重新加载配置。这样有些问题,一方面自己维护Socket带来很多麻烦,二来数据库重建的时候,需要备份/恢复这些配置数据。所以,我们想把配置文件局部化到各个服务(比如用本地文件存储...
2010-12-03 20:48:00
93
转载 Java 语言的 XPath API
从 Java 程序中查询 XMLElliotte Harold (elharo@metalab.unc.edu), 副教授, Polytechnic UniversityElliotte Harold 出生在新奥尔良,现在他还定期回老家喝一碗美味的秋葵汤。不过目前,他与妻子 Beth 定居在纽约临近布鲁克林的 Prospect Heights,与他们住在一起的...
2010-12-03 16:48:00
418
转载 html在线编辑器 document.execCommand应用
背景: CREAT需要进行文本分析,主要的 任务就是从一大段原始需求文本中,通过人工或者自动的手段,识别出有用的元素,并打上标记。由于自然文本的任意性,用自动的方法无法完全精确地得出文本的 处理结果,即使是人工处理,也往往需要进行几轮迭代式的分析处理。 Web编辑器即使设计来支持人工处理的这一过程的。 实现说明: IFrame作为编辑器主体。 设置一下iframe的属性,...
2010-11-30 16:47:00
164
转载 JBoss架构分析
摘要JBoss是一个免费的开放的J2EE实现。它的架构是基于高标准的模块化和插入式设计。JBoss使用工业标准的JMX来管理,JBoss组件和为EJB提供服务。基于我们以前的开发经验,我们发现了不同的J2EE应用服务器间的存在着巨大的性能和可扩展性差异。我们相信架构的设计是决定类似于性能和可扩展性等质量指标的重要因素。分析和展现JBoss架构模型有助于我们了解其内部行为并帮助我们...
2010-11-24 21:30:00
177
转载 JMX入门
什么是MBean Managed Bean (MBean) 描述一个可管理的资源.是一个java对象,遵循以下一些语义.java对象的属性(property)叫属性(attribute),方法(method)叫操作(operations).定义MBean一个MBean的语义必须是公用的,非抽象的类 必须有至少一个公用的构造器 必须实现它自己的相应的MBea...
2010-11-24 21:30:00
107
转载 浅谈Java 7的闭包与Lambda表达式之优劣
前几天Oracle推出了Java 7官方的闭包与Lambda表达式的第一个实现,这基本上也是最终在正式版中的样式了。看了这个实现之后,我的第一感觉便是“丑”,当然不排除这是因为看惯了其他语言中实现的缘故。后来再仔细看了看又想了想,发现Java 7的实现也并非毫无可取之处,但似乎又感到某些做法上有一些问题。总之整个过程颇为有趣,决定将我的想法记录下来,希望可以吸引人来一起讨论一下。Ja...
2010-11-24 21:29:00
62
转载 java concurrent 探秘
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性...
2010-11-24 21:29:00
54
转载 MyEclipse创建EJB3.0
MyEclipse版本:6.0.1JBoss版本:4.0.4 GATomcat版本:6.0.14一、创建EJB Project1. 2.3.Persistence Unit Name: 对应persistence.xml中Xml代码 <persistence-unitname="stuSystemPU"transactio...
2010-11-24 21:29:00
110
转载 ANT参考教程
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台--因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有...
2010-11-24 21:28:00
99
转载 在Spring中使用JTA事务管理
Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻。但是很大部分人都还认为脱离Java EE应用服务器就无法使用JTA事务,这是一个误解。其实,通过配合使用ObjectWeb的JOTM开源项目,不需要Java EE应用服务器,Spring也可以提供JTA事务。正因为AOP让Spring...
2010-11-24 21:28:00
327
转载 Dynamic Proxy 在 Java RMI 中的应用
相对于其他的分布式对象模型 (CORBA,COM) ,RMI 显得很轻,很简单。但是有时候程序员想在RMI中加入各种服务(service)而不改变其interface,却不是那么简单。"Interceptor"作为一种重要的"Design Pattern"在现代软件技术中非常流行,它通常用来实现service,因此是实现FrameWork的关键技术之一。 下面是一个非常简单...
2010-11-24 21:27:00
103
转载 J2EE集群原理
什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“ 失败接管 ”(failover)图一:负载均衡多个客户端同时发出请求,位于前端的负载均衡器根据特定算法,将请求分担给比较空闲的机器,从而实现较高性能和较好的扩展性 图二:失败接管当客户端连续向某个服务器发出请求时,该服务器可能处理到一半就宕机了,失败接管系统能...
2010-11-24 21:27:00
111
转载 用Java实现断点续传
(一)断点续传的原理其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。GET /down.zip HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg...
2010-11-24 21:26:00
75
转载 使用 Apache MINA 2 开发网络应用
Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架。它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式。Apache MINA 2 可以作为开发网络应用程序的一个良好基础。下面将首先简单介绍一下 Apache MINA 2。Apache MINA 2 介绍Apache MINA 是 ...
2010-11-24 21:26:00
110
转载 文件锁(Filelock) 与锁定映射文件部分内容
文件锁JDK 1.4引入了文件加锁机制,允许我们同步访问一个共享文件,不过,竞争同一文件的两个线程有可能在不同的java虚拟机上,或者一个是java线程,另一个是操作系统中其他的某个线程,但文件锁对其他线程或其他操作系统进程都是可见的,因为java的文件加锁直接映射到了本地操作系统的加锁机制。注,这里讲的锁是指锁定其他应用程序,而不是锁定同一虚拟机里访问的同一文件的其他线程 。如...
2010-11-24 21:26:00
115
转载 初探Java企业级开源框架OSGi
第一次接触OSGi 是2006年看见的一则网上新闻,该新闻中提到BMW 汽车的通信-娱乐(infotainment)系统采用了OSGi 架构,这套系统主要用来控制汽车上的音箱、灯光、导航和通讯等设备,整个系统由1000多个模块组成,启动时间却只需要3.5秒钟,这对于一个基于Java 的框架来讲,具有两个重大意义:一、说明了Java 执行效率并不差;二、OSGi 框架的性能尤其优秀...
2010-11-24 21:25:00
157
转载 如何使用脚本文件(JNLP)来发布Java程序
发布Java程序(桌面程序)最直接的方法就是将jar文件打包交给用户。不过有时jar文件很多,也很大。为了方便,sun提供了另外一种方式来通过网络发布Java程序。这就是jnlp文件。可能很多读者曾经下载过很多jnlp文件,运行后会自动从指定的网站下载相应的文件。实际上,jnlp文件就是一个xml格式的脚本文件。假设我们有一个test.jar文件需要安装(该文件是一个基于SWT的桌面...
2010-11-24 21:25:00
364
转载 MyEclipse下使用Junit
一、准备工作:导入Junit jar包;在项目目录下新建一个SourceFold(一般命名为test);新建一个测试类(一般命名规则为:被测试类名+Test,例如: HelloWordTest)继承junit.framework.TestCase类;编写测试方法(方法名必须以test+用例方法名称);如下:二、使用Junit进行测试Junit被用...
2010-11-24 21:24:00
82
转载 ClassLoader整理总结
(1)jvm的装载过程以及装载原理所谓装载就是寻找一个类或是一个接口的二进制形式并用该二进制形式来构造代表这个类或是这个接口的 class对象的过程,其中类或接口的名称是给定了的。当然名称也可以通过计算得到,但是更常见的是通过搜索源代码经过编译器编译后所得到的二进制形式来构造。 在JAVA中,类装载器把一个类装入JAVA虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分...
2010-11-24 21:24:00
100
转载 jndi step by step(2)
(4) 目录服务操作 1、目录服务的操作 我们会用LDAP作为例子来讲解目录服务的操作。与命名服务不同,目录服务的内容上下文的初始化方式需要 改变:java 代码//Setuptheenvironmentforcreatingtheinitialcontext Hashtableenv=newHashtable(); ...
2010-11-24 21:23:00
147
转载 jndi step by step
(1) jndi 介绍你真的十分了解JNDI吗?真的知道命名服务和目录服务的区别吗?真的知道为什么有的时候 new InitContext() 会出错?原因是什么?JNDI是J2EE的重要组成部分,让我们来好好学习一下Sun的JNDI教程吧,把这些疑惑一一解开。这些资料都来自Sun的JNDI教程,我会每天坚持翻译一点,但是不会全部翻译的,例如如何操作LDAP部分。有的地方原文...
2010-11-24 21:19:00
152
转载 Spring事务传播机制
概述当我们调用一个基于Spring的Service接口方法(如UserService#addUser())时,它将运行于Spring管理的事务 环境中,Service接口方法可能会在内部调用其它的Service接口方法以共同完成一个完整的业务操作,因此就会产生服务接口方法嵌套调用的情况, Spring通过事务传播行为控制当前的事务如何传播到被嵌套调用的目标...
2010-11-24 21:16:00
230
转载 深入了解Java ClassLoader、Bytecode 、ASM、cglib
一、Java ClassLoader1,什么是ClassLoader 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。 而且,Java ClassLoader 就是用...
2010-11-24 21:15:00
115
转载 Java对象池技术的原理及其实现
摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。 关键词 对象池;对象池技术;Java 对象;性能 Java对象的生命周期分析 Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3。其中T1...
2010-11-24 21:15:00
61
转载 MVC架构探究及其源码实现
(1)-理论基础MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smal...
2010-11-24 21:14:00
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人