自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (4)
  • 收藏
  • 关注

原创 搭建基于springmvc+freemarker+maven的web项目

1、首先了解如何构建一个maven web项目

2016-09-26 00:01:41 6472 1

原创 spring、hibernate、struts2整合

跟上一篇spring、hibernate、struts的整合步骤差不多,用myeclipse工具插件包整合时,导入struts时,则是导入struts2不使用myeclipse自带插件整合SSH2,直接将SSH2所需的jar包导入项目中新建web项目SSH2,导入SSH2的jar包,构建基础的action类包,bean类包,service类包,beans.xml,s

2016-09-25 16:12:07 473

原创 spring、hibernate、struts整合

1、新建一个web项目2、打开DB Browser视图,配置数据源MySSH,指向数据库myssh表3、利用myeclipse自带工具导入strutsstruts-config.xml代码如下 web.xml则多了以下代码,struts充当控制层,由ActionServlet类负责接收和处理用户发送过来的请求,

2016-09-25 12:57:48 720

原创 jQuery继承extend用法

js代码//直接基于jQuery的扩展,判断是否为空$.isBlank = function(obj){ return(typeof(obj)=='undefined'||obj==''||obj==null); }//直接基于jQuery的扩展,去除html标签,保留内容 $.htmlContent = function(tag){ var reTag = //g;

2016-09-22 22:58:16 2895

原创 $.type()的用法

jquery中$是对jQuery类的简写,$.type等价于jQuery.typejs代码function Test1(cfg){ var list = new Array(); if($.type(cfg)=='array'){ console.log('我是数组'); list = list.concat(cfg); } else if(jQuery.typ

2016-09-22 22:36:59 1226

原创 js对Date类和String的扩展

String类利用prototype进行扩展js代码/** * 去除前后空格 */String.prototype.trim = function() { return this.replace(/^\s*|\s*$/g, "");};/** * 验证是否为数字 */String.prototype.isNumber = function() { var o = this

2016-09-22 22:25:05 773

原创 $(document).ready()加载顺序和事件

$(document).ready()和 window.onload的区别$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。  window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。  window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个  $(document).ready(

2016-09-21 10:51:00 3633

原创 仿360网站广告实现换肤特效

1、新建一个web项目,index.jsp同级目录下放jquery插件和top_right.png图片2、index.jsp页面代码<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.ge

2016-09-20 22:38:39 727

原创 jsoup

Jsoup网页数据解析技术import java.io.IOException;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import org.jsoup.Jsoup;public class JsoupUtil { /**

2016-09-19 23:49:25 344

原创 HttpClient

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。通过HttpClient可以不借助浏览器,从而简化了客户端与服务器端之间的交互。一个较为完整的非浏览器请求的HttpClient使用示例如下。1、首先构建项目需要的一些jar包2、 HttpClient client =

2016-09-19 23:29:25 332

原创 阿拉伯数值转中文数值

public static void main(String[] args) { // TODO Auto-generated method stub String nums[]={"0","1","2","3","4","5","6","7","8","9"}; String chines[]={"零","一","二","三","四","五","六","七","八","九"};

2016-09-17 22:56:04 300

原创 jsp自定义标签

jsp自定义标签页tag1、WEB-INF下新建一个tags文件夹,创建tag文件2、index.jsp文件头部添加自定义标签库div.tag代码如下<% if (color != "red") { color = "black"; }else{ }%>#red{ color: red;}divContenta.tag代码如下i

2016-09-11 15:34:58 380

原创 web项目集成spring框架

以下是一个最简单的示例1、新建一个标准的javaweb项目2、导入spring所需的一些基本的jar包3、配置web.xml文件 &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xml...

2016-09-11 07:47:06 8515 4

转载 解释 hashCode 和hashCode算法

首先,想要明白hashCode的作用,你必须要先知道Java中的集合。   总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是

2016-09-10 18:18:42 1169 1

原创 深入剖析HashMap实现原理

HashMap是继承至AbstractMap,基于Map接口的一种哈希表的实现。 public class HashMap&lt;K,V&gt;    extends AbstractMap&lt;K,V&gt;    implements Map&lt;K,V&gt;, Cloneable, Serializable 哈希表也叫散列表,是将存储元素(key-value键值对...

2016-09-10 10:03:44 1589

原创 定时任务实现quartz

web.xml应用程序入口配置 &lt;!-- 应用程序Spring上下文配置 --&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt; classpath*:applicationContext*.xml, ...

2016-09-08 10:34:48 457

转载 多线程-CountDownLatch

CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLatch这

2016-09-07 10:54:33 512

翻译 java的一些性能优化

性能优化模式:缓存IO缓存 private static final String filepath="test.txt"; public void readwithoutbuffer() throws IOException{ FileInputStream fis=new FileInputStream(filepath); DataInputStream

2016-09-06 15:15:25 210

翻译 代理模式

代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理类与目标类实现相同的接口,让代理类去持有目标类的引用,进而去代理目标对象的一些行为用处:1安全考虑,这点很容易理解,比如我只想暴露A类的方法f()给外界,但它还有其他的方法g()、h(),那么用代理模式就能达到目的

2016-09-06 14:55:38 972

原创 单例模式

单例模式,获取单个实例的创建对象的模式。避免频繁创建对象,加大内存开销,减少GC次数。1.懒汉式单例public class Singleton { private static Singleton singleton; private Singleton() {} //定义一个私有的构造器,此类不能被实例化 public static synchronized

2016-09-06 14:18:22 297

转载 spring定时任务实现方式

有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。1.Java Timer定时首先继承java.util.TimerTask类实现run方法import java.util.TimerTask;   public class EmailReportTask extends TimerTask{       @Override

2016-09-06 12:35:16 271

转载 Java Calendar 类的时间操作

Java Calendar 类时间操作,这也许是创建日历和管理最简单的一个方案,示范代码很简单。演示了获取时间,日期时间的累加和累减,以及比较。注意事项:Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。而 Calendar.DAY_OF_WEEK 定义和值如下:Calendar.SUNDAY =

2016-09-06 11:21:57 265

翻译 数据结构

数据结构:计算机存储、组织数据的方式。数据结构下又分:1.集合结构:数据结构中的元素之间除了"同属一个集合" 的相互关系外,别无其他关系;2.线性结构:数据结构中的元素存在一对一的相互关系;3.树形结构:数据结构中的元素存在一对多的相互关系;4.图形结构:数据结构中的元素存在多对多的相互关系。常用的线性结构有:线性表,栈,队列,双队列,数组,串。常见的非线性结构有:二维

2016-09-04 08:26:30 431

翻译 二分查找法

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。public static int binary_search(int[] array , int value){ int low = 0; int hight = array.lengt

2016-09-04 08:17:39 359

转载 nginx+tomcat+redis/Memcached集群完成session共享

一、nginx+tomcat+redis完成session共享本文记录nginx+redis+tomcat实现session共享的过程nginx安装:http://blog.csdn.net/grhlove123/article/details/47834673redis安装:http://blog.csdn.net/grhlove123/article/details/4

2016-09-03 18:11:42 656

转载 Java经典问题算法大全

/*【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */package cn.com.flywater.FiftyAlgorthm;public class FirstRabbit {

2016-09-03 18:05:46 255

转载 Spring实现AOP的4种方式

Spring实现AOP的4种方式   先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间

2016-09-03 18:04:13 279

转载 AOP的实现机制

附件中有本文的源代码和Pdf版。本文写的很长的原因,是不希望大家学习AOP时到处找资料,大家有时间可以按照本文动手实践下,相信会有非常大的收获的,有什么问题互相交流,有问必答!1 AOP各种的实现AOP就是面向切面编程,我们可以从几个层面来实现AOP。在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较

2016-09-03 18:02:11 205

原创 快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 。//快速排序 void quick_sort(int s[], int l, int r) {  //对l到r区间进行排

2016-09-03 17:32:39 323

原创 选择排序

选择排序算法,数组中的每个元素与第一个元素比较,找最值,每轮放置一个最值。for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ } }} 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,

2016-09-03 15:44:18 236

原创 冒泡排序

冒泡排序算法就是相邻两两比较,每趟比较决定一个最值。for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]) { int temp=a[j]; a[j]=a[j+

2016-09-03 15:27:54 249

原创 插入排序

插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,无论什么时候手中的牌都是排序好的。id insertSort(int a[]){ int length=a.length; //数组长度 int j; //当前值的位置 int i; /

2016-09-03 15:10:48 521

原创 java算法

算法:解决问题使用的一种策略(其实就是策略),算法的优劣则要用空间复杂度与时间复杂度来衡量。算法分析其实就是统计所需的资源(花费时间,占用内存)。常见的如:递归法(调用自身;需有一个递归结束条件,称为递归出口。),穷举法(暴力破解法,逐个推算),迭代法(迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,切线求根,近似求解)。时间复杂度 T(n)=O(f(n))算法的时间复杂度是一个函数,

2016-09-03 10:59:21 397

构建高性能的大型分布式Java应用.pdf

第一章 分布式 Java 应用 1.1 基于消息方式实现系统间通讯 1.2 基于远程调用方式实现系统间通讯 第二章 大型分布式 Java 应用 2.1 SCA 2.2 ESB 第三章 深入理解 JVM 3.1 JVM 类加载机制 3.2 JVM 内存管理 3.3 JVM 线程机制 第四章 深入理解 JDK 4.1 集合 4.2 并发 4.3 序列化/反序列化 第五章 性能调优 5.1 性能瓶颈分析 5.2 性能调优方法 第六章 构建可垂直伸缩的应用 6.1 多线程 6.2 并行计算 第七章 构建可水平伸缩的应用 7.1 SNA 7.2 分布式 cache 7.3 分布式文件系统 7.4 分布式事务 第八章 保障系统高可用 8.1 负载均衡保障(软、硬) 8.2 架构层面保障(容错、监测、自愈、报警、保护措施(例如降级等)) 8.3 多机房容灾、分流保障

2018-08-12

java虚拟机详解.docx

JVM的每个实例都有一个它自己的方法域和一个堆,运行于JVM内的所有的线程都共享这些区域;当虚拟机装载类文件的时候,它解析其中的二进制数据所包含的类信息,并把它们放到方法域中;当程序运行的时候,JVM把程序初始化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器和 Java栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的Java栈则存储为该线程调用Java方法的状态;本地方法调用的状态被存储在本地方法栈,该方法栈依赖于具体的实现。 下面分别对这几个部分进行说明。

2018-08-12

10种java性能优化方案.docx

你是否正打算优化hashCode()方法?是否想要绕开正则表达式?并行处理对算法复杂度没有影响。如果你的算法的时间复杂度为 O(nlogn),让算法在 c 个处理器上运行,事件复杂度仍然为 O(nlogn/c), 因为 c 只是算法中的一个无关紧要的常量。你节省的仅仅是时钟时间(wall-clock time),实际的算法复杂度并没有降低。 降低算法复杂度毫无疑问是改善性能最行之有效的办法。

2018-08-12

nginx+tomcat集群实例

nginx+tomcat集群实例 #服务器的集群,配置服务列表,权重,更改应用端口。启动nginx

2017-06-01

空空如也

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

TA关注的人

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