自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (38)
  • 收藏
  • 关注

原创 ibatis 配置总结

核心提示:SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。 1、命名空间: sqlMap namespace=Account,在此空间外要引用此空间的元素,则需要加上命名空间名。 2、实体的别名: typeAlias alias=Account type=com.lavasoft.ibatissut.simSqlMap的配置是iBatis中

2012-12-05 20:54:56 962

原创 java时间转化问题

SimpleDateFormat使用时需要传入(时间格式的构造参数)作为转化后的时间格式其中格式一般为yyyy/MM/dd HH:mm:ssMM  HH 必须大写 如果格式为yyyy/mm/dd hh:mm:ssEx  20121224122424SimpleDateFormat(yyyy/mm/dd hh:mm:ss)format(20121224

2012-11-29 21:09:59 697

原创 HttpURLConnection post和get用法

最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。在Java中可以使用HttpURLConnection发起这两种请求,了解此类,对于了解soap,和编写servlet的自动测试代码都有很大的帮助。下面的代码简单描述了

2012-11-29 20:55:21 5206

原创 shell awk 用法

Awk 是一种非常好的语言,同时有一个非常奇怪的名称。在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 将使您迅速掌握 awk 编程技巧。随着本系列的进展,将讨论更高级的主题,最后将演示一个真正的高级 awk 演示程序。捍卫 awk在本系列文章中,我将使您成为精通 awk 的编码人员。我承认,awk 并没有一个非常好听且又非常“时髦”的名字。awk 的 GNU 版本(叫作

2012-11-22 20:42:13 439

转载 CSS Sprites合并图片

http://cn.spritegen.website-performance.org/

2012-08-29 14:23:54 689

原创 重构—改善代码既有设计 之switch/case使用

Switch / Case如下,假设Employee类中有这样两个方法: PayAmount. 根据员工类型获得员工的薪水:         public int PayAmount(EmployeeType empType)        {            switch (empType)            {                case Empl

2012-03-24 23:05:29 5879

原创 重构—改善代码既有设计 之if/else使用

以前在 csdn上看到一篇  “你还在使用if/else吗?”文章,提到如果你还在使用if语句,那么你就需要对你的代码重构。那篇文章许多人的评论上褒贬不一,但我现在想举的一个例子是对if/else的重构。(当然,是从别人那偷学来的,^_^)。enum employeetype{     salers;     engineer;      manager;}if(emp

2012-03-23 23:17:22 4317 1

原创 java中传值及引伸深度克隆的思考

java中内存的分配方式有两种,一种是在堆中分配,一种是在堆栈中分配,所有new出来的对象都是在堆中分配的,函数中参数的传递是在栈中分配的。通常情况下堆的内存可以很大,比如32位操作系统中的虚拟内存都可以被堆所使用(当内存紧张的时候甚至硬盘都可以是堆的存储空间),而堆栈的内存分配

2011-07-18 17:07:23 489

原创 JDOM解析XML

   1 张三 25 dept1   2 李四 22 dept2   3 王五 50 dept3   4 陈六 55 dept2

2011-06-13 20:41:00 2876

原创 SQL语句中in not in exits not exits用法比较

<br /><br /><br />exists (sql 返回结果集为真) <br />not exists (sql 不返回结果集为真) <br />如下: <br />表A <br />ID NAME <br />1    A1 <br />2    A2 <br />3  A3 <br /> <br />表B <br />ID AID NAME <br />1    1 B1 <br />2    2 B2 <br />3    2 B3 <br /> <br />表A和表B是1对多的关系 A.ID

2011-05-31 15:36:00 7286

原创 使用FastDateFormat

<br />IBMJDK 1.5中SimpleDateFormat存在性能缺陷,使用FastDateFormat替换之,可以提高部分行能 . IBM JDK 1.5中在实现有关时间的功能与SUN的JDK有一点很大的不同,就是SUN缓存了其中Local对象,而IBM没有缓存之,每次从Resource中getbundle中获取,这个方法似乎是一个调用了本地方法的方法,很容易出现等待。 但是使用了SUN的calendar的对Local 的缓存很容导致内存泄漏,因为在比较Local对对象时,为了提高性能它使用了“=

2011-05-04 14:01:00 3206

原创 ExecutorService实现多线程socket

<br />//服务端<br />import java.io.BufferedReader;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.io.InputStreamReader;<br />import java.io.OutputStream;<br />import java.io.PrintWriter;<br />import java.net.*;<

2011-04-25 17:12:00 2450

转载 单表60亿记录等大数据场景的MySQL优化和运维之道

此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计。前言MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐...

2018-04-25 08:35:32 389 1

原创 放弃 Dubbo,选择最流行的 Spring Cloud 微服务架构实践与经验总结

前言在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的。从最初的开源软件云收藏来熟悉 Spring Boot,到项目中的慢慢使用,再到最后全面拥抱 Spring Cloud。这篇文章给大家介绍我们使用 Spring Boot / Cloud 一年多的经验总结。在开始之前我们先介绍几个概念,什么是微服务,它的特点是什么? Spring Boot / Cloud 都做了那...

2018-04-12 11:43:55 394 1

原创 归并排序算法(Java实现)

1、基本思想归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序...

2018-04-12 09:35:44 355

原创 一致性Hash

一致性Hash算法简介一致性Hash算法是在1997年由麻省理工提出的一种分布式Hash实现算法,设计的目标是为了解决英特网中的热点问题。一致性Hash算法提出了在动态变化的Cache环境中,判定Hash算法好坏的四个定义。平衡性(Balance):平衡性是指哈希的结果能够尽可能的分布到所有的节点中去,这样从算法上解决负载均衡的问题。单调性(monotonicity):单调性是指在新增或者删减节点...

2018-04-12 09:14:30 243

原创 TOMCAT源码分析-生命周期管理2

容器生命周期每个容器都会有自身的生命周期,其中也涉及状态的迁移,以及伴随的事件生成,本节详细介绍Tomcat中的容器生命周期实现。所有容器的转态转换(如新疆、初始化、启动、停止等)都是由外到内,由上到下进行,即先执行父容器的状态转换及相关操作,然后再执行子容器的转态转换,这个过程是层层迭代执行的。容器新建所有容器在构造的过程中,都会首先对父类LifecycleBase进行构造。Life

2017-09-06 23:13:34 359

原创 TOMCAT源码分析-生命周期管理

前言  从server.xml文件解析出来的各个对象都是容器,比如:Server、Service、Connector等。这些容器都具有新建、初始化完成、启动、停止、失败、销毁等状态。tomcat的实现提供了对这些容器的生命周期管理,本文将通过对Tomcat7.0的源码阅读,深入剖析这一过程。TOMCAT生命周期类接口设计  我们先阅读图1

2017-09-06 23:09:41 332

原创 聊聊clean code的编码、重构技巧

写在前面clean code,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望自己能写出这样的代码。也许这是个千人千面的话题,每个工程师都有自己的理解。比如我,从一个天天被骂代码写得烂的人,逐渐学习成长,到现在也能写的出“人模人样”的代码来了。这期间算是积累了一点经验心得,想和大家分享,抛砖引玉。本文主要针对面向对象编程的clean code来阐述,面

2017-02-28 08:35:43 763

原创 应对高并发笔记

浏览器应对高并发1、浏览器缓存,减少请求2、多个子域名部署,突破浏览器链接限制3、图片文件独立域名部署,减少请求传输量4、减少浏览器cookie大小服务器端:1、动静分离部署nginx+tomcat2、应用集群,负载均衡--F5/Array/LVS/Nginx/TOMCAT3、分布式缓存Memcached+Redis4、应用本地缓存 Ehcache5

2017-01-18 15:24:32 449 1

转载 冗余表如何保证数据的一致性

本文主要讨论四个问题:(1)为什么会有冗余表的需求(2)如何实现冗余表(3)正反冗余表谁先执行(4)冗余表如何保证数据的一致性 一、需求缘起互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非patition key上的查询可能就

2016-09-01 15:06:53 3147

转载 数据库单点与Nginx单点提高可用性

一、需求缘起明明架构要求高可用,为何系统中还会存在单点?回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点 在哪些场景中会存在单点?先来看一下一个典型互联网高可用架构。典型互联网高可用架构:(1)客户端层,这一层是浏览器或者APP,第一步先访问DNS-server,由域名拿到nginx的外网IP(2)负载均衡层,ng

2016-09-01 14:51:50 2435

转载 如何实现超高写多读少并发的无锁缓存

一、需求缘起【业务场景】有一类写多读少的业务场景:大部分请求是对数据进行修改,少部分请求对数据进行读取。例子1:滴滴打车,某个司机地理位置信息的变化(可能每几秒钟有一个修改),以及司机地理位置的读取(用户打车的时候查看某个司机的地理位置)。void SetDriverInfo(long driver_id, DriverInfoi); // 大量请求调用修改

2016-09-01 14:35:58 9007 3

转载 分布式应用保证事务原子性方案

一、案例缘起我们经常使用事务来保证数据库层面数据的ACID特性。举个栗子,用户下了一个订单,需要修改余额表,订单表,流水表,于是会有类似的伪代码:start transaction;         CURDtable t_account;  any Exception rollback;         CURDtable t_order;       a

2016-09-01 14:09:45 2985

转载 互联网架构为什么要做服务化

一、互联网高可用架构,为什么要服务化?【服务化之前高可用架构】在服务化之前,互联网的高可用架构大致是这样一个架构:(1)用户端是浏览器browser,APP客户端(2)后端入口是高可用的nginx集群,用于做反向代理(3)中间核心是高可用的web-server集群,研发工程师主要编码工作就是在这一层(4)后端存储是高可用的db集群,数据存储在

2016-09-01 11:43:51 2431

转载 缓存架构设计细节二三事

本文主要讨论这么几个问题:(1)“缓存与数据库”需求缘起(2)“淘汰缓存”还是“更新缓存”(3)缓存和数据库的操作时序(4)缓存和数据库架构简析 一、需求缘起场景介绍缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。例如对于用户的余额信息表account(uid, money),业务上

2016-09-01 11:22:35 1058

转载 线程数究竟设多少合理

一、需求缘起Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。 二、一些共性认知

2016-09-01 11:05:42 9931 2

原创 JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue

从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。以下是我的学习过程。首先是构造函数签名如下:[java] view plain copy print?public ThreadPoolExecutor(int co

2016-08-22 14:50:05 8102 1

原创 MyEclipse中添加web项目到tomcat

如果导入不是在MyEclipse下建立的web项目,想添加到tomcat中时,会显示“No projects are available for deployment to this server...............”。其实可以简单地修改两个配置文件:.project文件:在natures节点中添加webnature           com.genuite

2014-05-06 17:15:27 11565

原创 Java性能优化技巧集锦

一、通用篇 “通用篇”讨论的问题适合于大多数Java应用。 1.1 不用new关键词创建类的实例 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改

2014-04-22 09:35:04 7638 1

原创 优化Java堆大小的5个技巧

一个良好的设计能提高程序的性能,这一点不仅适用于JAVA,也适用也任何的编程语言。因为它充分利用了各种资源,如内存,CPU,高速缓存,对象缓冲池及多线程,从而设计出高性能和可伸缩性强的系统。当然,为了提高程序的性能而改变原来的设计是比较困难的,但是,程序性能的重要性常常要高于设计上带来的变化。因此,在编程开始之前就应该有一个好的设计模型和方法

2014-04-22 09:31:53 1603

原创 oracle 11g使用deferred_segment_creation 延迟段创建特性时遇到的问题总结

总结,下面是两个问题。问题1是用户可以在所有表空间创建表;问题2是exp不能导出空表问题1:版本:oracle 11.2.0.1.0select * from v$version;创建用户aaa,给其connect和resource角色,但回收unlimited tablespace权限:SQL> create user aaa identified by

2013-07-12 16:53:45 6603

原创 JFreeChart乱码解决方法

整个图标分成三部分chart   title,chart 的plot还有chart的  legend三个部分需要对他们分别设置字体就对了。先看解决方法( 把这几个全部设置了,都搞定了就可以了):标题乱码   chart.getTitle().setFont(new Font("宋体", Font.BOLD,12));其他CategoryAxis domainAxis =

2013-06-03 20:30:57 952

原创 JAVA性能调优

本文介绍了Java代码优化的过程,总结了优化Java程序的一些最佳实践,分析了进行优化的方法并解释了性能提升的原因。多角度分析导致性能低的原因并逐个进行优化使得程序性能得到极大提升,代码可读性、可扩展性更强。作者通过经历的一个项目实例,介绍Java代码优化的过程,总结了优化Java程序的一些最佳实践,分析了进行优化的方法,并解释了性能提升的原因。作者从多个角度分析导致性能低的原因,并逐个进行优

2013-05-02 14:02:51 847

原创 Java 性能调优

一、类和对象使用技巧1、尽量少用new生成新对象        用new创建类的实例时,构造雨数链中所有构造函数都会被自动调用,操作速度较慢。在某些时候可复用现有对象。比如在进行大量St rillg操作时,可用StringBuffer娄代替String类,以避免生成大量的对象。用 new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了 Cloneab

2013-04-01 16:40:06 635

原创 Android ContentProvider总结

1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介       当应用继承ContentProvide

2013-03-31 17:43:51 904

原创 Android Handler用法

Handler的定义:          主要接受子线程发送的数据, 并用此数据配合主线程更新UI.          解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。  如果此时需要一个耗时的操作,

2013-03-25 16:15:41 722

原创 获取处理前URL

StringBuffer backUrl = new StringBuffer();        backUrl.append("http://").append(request.getServerName());        if (request.getServerPort() != 80)        {            backUrl.append(":").a

2013-01-09 15:27:14 1311

原创 跨站域iframe自适应高度

页面域关系:主页面a.html所属域A:www.taobao.com被iframe的页面b.html所属域B:www.alimama.com,假设地址:http://www.alimama.com/b.html实现效果:A域名下的页面a.html中通过iframe嵌入B域名下的页面b.html,由于b.html的宽度和高度是不可预知而且会变化的,所以需要a.html中的iframe

2012-12-27 17:19:37 2482 3

原创 ORACLE IS 和 AS 用法

在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别,在视图(VIEW)中只能用AS不能用IS,在游标(CURSOR)中只能用IS不能用AS。一般存储过程头部用as 主体用is其他情况下都用as就不会有问题

2012-12-19 18:38:48 3990

spring1 spring1

spring1.rar spring1.rar spring1.rar

2011-06-17

数据结构2.rar 数据结构2.rar

数据结构2.rar 数据结构2.rar 数据结构2.rar

2011-06-17

Javascript高级编程

第1课 第一页 Javascript高级教程 第二页 本教程的课程计划 第三页 一个if-then-else的快捷方式 第四页 什么是变量 第五页 变量的使用方法 第2课 第一页 Javascript高级教程-第2日 第二页 神奇的字符串处理 第三页 子字符串 第四页 分割方法(splitting method) 第五页 相关数组 第六页 相关数组的一个例子 第七页 介绍cookie 第八页 深入了解cookies 第九页 读取cookies 第十页 复杂的cookies读取 第十一页 读取和编写多重cookies 第十二页 再次深入了解cookies 第十三页 cookie路径和域 第3课 第一页 Javascript高级教程 - 第三日 第二页 如何给事件定时 第三页 定时循环的概念 第四页 定时循环的做法 第五页 一个Javascript编写的时钟 第六页 给定时器加入变量 第七页 识别用户的浏览器 第八页 如何识别用户的浏览器 第九页 对象和方法的识别 第十页 History对象 第4课 第一页 JavaScript高级教程- 第4天 第二页 图象映射与JavaScript 第三页 预装图象 - 是什么? 第四页 预装图象 - 怎么做? 第五页 对象的优点 第六页 创建你自己的对象 第七页 你的面向对象的虚拟宠物 第八页 计算字符串 第九页 获取难以索引的对象 第十页 另一种获取难以索引的对象的手段 第十一页 第四天课程复习 第5课 第一页 JavaScript高级教程- 第5天 第二页 打印变量 第三页 一般性程序错误 第四页 修正错误 第五页 好的编程实践 第六页 按速度优化JavaScript代码 第七页 下面讲什么?

2011-06-08

FLASH-FLEX3.0开发中文版+完整版

FLASH-FLEX3.0开发中文版+完整版

2011-06-07

LINUX编程白皮书

LINUX编程白皮书 包含其他几种相关开发技术

2011-06-07

Visual C++MFC编程实例

Visual C++MFC编程实例 Visual C++MFC编程实例

2011-06-02

LINUX与UNIX SHELL编程指南

LINUX与UNIX SHELL编程指南 很好的编程书籍

2011-06-02

学习总结DWR中文文档

DWR 整合javascript 和 ajax

2011-06-02

Android开发教程笔记完全版

总结的很好的学android心得笔记 很好的书

2011-06-02

android必备书籍

包含学Android最热门的基本好的书籍 很好 很强的大书籍 android 书籍 下载下 一定不会后悔

2011-05-30

android实例教程

整合了最实用的Android代码示例,可以很好的提升自己的编程能力 下载一下 一定不会后悔

2011-05-30

android中文版.rar android中文版.rar

android中文版.rar android中文版.rar

2011-05-12

gprs android程序

android程序 android程序 android程序 android程序

2011-05-12

andodriod andodriod andodriod

andodriod andodriod andodriod andodriod

2011-05-10

object c iphone

object c iphone object c iphone

2011-05-08

android系统原理及开发要点详解_韩超_梁泉1.rar

android系统原理及开发要点详解_韩超_梁泉

2011-04-26

javascript 网页

浏览网页时在分辨率小的屏幕下看是网页等比例缩小而不出现滚动条

2011-04-09

java持续集成 持续集成

持续集成持续集成持续集成持续集成持续集成持续集成

2011-03-08

ant ant ant ant

ant ant ant antant ant ant antant ant ant ant

2011-03-08

jdgui jdgui jdgui jdgui jdgui

jdgui jdgui jdgui jdgui jdguijdgui jdgui jdgui jdgui jdgui

2011-03-05

struts2 struts2 struts2 struts2

struts2 struts2 struts2 struts2struts2 struts2 struts2 struts2

2011-03-05

SSH Spring执行流程

spring执行流程 包括流程图 和ssh的执行过程

2010-12-17

struts2执行流程

struts2 很好的东西 看看吧 挺好的

2010-12-17

java jdbc数据库连接

关于java连接数据库的知识 看看吧 很有用的o

2010-11-16

java精华 学java必备的知识

为了和我一起学习java的朋友,和大家分享一下 经典的知识,值得一看哦

2010-11-16

el表达式api.jar包

tomcat使用EL表达式所需要的jar包,如果没有此jar包系统系统就会报错,现上传此jar包,减少大家找jar包的时间

2018-10-19

dubbo教程demo代码

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架 其核心部分包含: 1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。

2016-09-13

ibatis自动生成工具

项目使用完整代码,下载后可直接运行 ssi 自动生成工具

2013-08-12

Rational Rose 2003 汉化版

Rational Rose 2003 汉化版

2013-05-12

java杂七杂八 java杂七杂八

java杂七杂八java杂七杂八java杂七杂八java杂七杂八

2011-07-01

安博就业指导 数据结构2.

安博就业指导 安博就业指导 安博就业指导

2011-06-24

JSmooth中文版教程

包括了JAVA2EXE的转换工具JSmooth及JSmooth工具的使用方法说明

2011-06-23

Manning.Struts in Action

Manning.Struts in Action.rar Manning.Struts in Action.rar

2011-06-16

ajax实战 ajax实战

ajax实战.rar ajax实战.rar ajax实战.rar

2011-06-16

空空如也

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

TA关注的人

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