java 语言
文章平均质量分 90
songjinbin
这个作者很懒,什么都没留下…
展开
-
spring的事件驱动体系介绍
事件驱动模型简介事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;理解它的几个关键点:首先是一种对象间的一对多的关系;最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方);当目标发送改变(发布),观察者(订阅者)就可以接收到改变;观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的),目标无需干涉;所以就松散耦合了它们之间的关系。转载 2015-12-06 21:45:15 · 1588 阅读 · 0 评论 -
数据库事务隔离级别+Spring 声明性事务隔离级别
数据库事务隔离级别 数据库提供了四种事务隔离级别, 不同的隔离级别采用不同的锁类开来实现. 在四种隔离级别中,Serializable的级别最高, Read Uncommited级别最低. 大多数数据库的默认隔离级别为: Read Commited,如Sql Server , Oracle. 少数数据库默认的隔离原创 2014-04-04 01:00:58 · 1123 阅读 · 0 评论 -
Hessian的使用简介
Hessian入门(与Spring集成) By:wtang说明 :1. 讲述如何配置Hessian的服务器端(与Spring集成).2.原创 2014-03-20 23:42:25 · 1134 阅读 · 0 评论 -
LRU 缓存策略
我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前读取的数据,而原创 2014-03-29 11:04:15 · 888 阅读 · 0 评论 -
java 集合类 之 Set
Set类 Set接口继承自Collection,不按特定的方式排序,并且不能重复,主要有两个实现类:HashSet和TreeSet,HashSet类按照哈希算法来存取集合中对象,存取速度比较快,HashSet类还有一个子类LinkedHashSet类,不仅实现了哈希算法,而且实现了链表数据结构,提高数据结构的插入和删除元素的性能,TreeSet类实现了SortedSet接口,具有排序功能。原创 2014-03-26 14:19:17 · 801 阅读 · 0 评论 -
海量小文件问题综述
海量小文件问题综述海量小文件LOSF问题是工业界和学术界公认的难题,分析了LOSF问题的由来以及典型的应用场景,并简要阐述了当前文件系统在LOSF优化方面的进展。重点分析LOSF问题的根本原因,并给出具体的优化方法和策略,期望对LOSF问题的研究和优化实践提供一定的理论指导。1、LOSF问题概述在互联网(尤其是移动互联网)、物联网、云计算、大数据等高速发展的大背景下,数转载 2014-04-23 16:40:49 · 929 阅读 · 0 评论 -
Google Guava 常用功能
1、 Preconditions,前置条件判断没有额外参数:抛出的异常中没有错误消息;有一个Object对象作为额外参数:抛出的异常使用Object.toString() 作为错误消息;有一个String对象作为额外参数,并且有一组任意数量的附加Object对象:这个变种处理异常消息的方式有点类似printf,但考虑GWT的兼容性和效率,只支持%s指示符。例如:原创 2015-12-06 23:59:52 · 4514 阅读 · 0 评论 -
spring数据库读写分类实现方式(现公司使用方式)
现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。我们通常的做法就是把查询从主库中抽取出来,采用多个从库,转载 2015-11-04 11:11:39 · 1067 阅读 · 0 评论 -
dubbo初识(1)
一、首先搭建项目,配置spring,项目采用maven构建,目录结构如下:soa-client 服务调用消费者soa-common 提供公用的类soa-server 服务提供者二、配置服务提供者 1、搭建spring配置(略),添加dubbo maven包,如下: com.alibaba dubbo原创 2015-10-24 23:33:04 · 1448 阅读 · 0 评论 -
MAVEN 温习总结
原理:利用filter实现对资源文件(resouces)过滤maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=value利用profile来切换环境maven profile可使用操作系统信息,jdk原创 2015-03-10 23:52:00 · 711 阅读 · 0 评论 -
too many open files 的问题
近几个月公司我所在组负责的系统一直出现“too many open files” 错误,报错如下:因为我们负责的系统是处理公司的一些对接业务,系统中使用了大量的webservice ,和http连接操作,所以一般使用了xfire,axis,httpclient等等远程调用框架,一些遗留的大批老的代码都存在未关闭的情况,网上找了一些原因:程序经常访问的文件、socket原创 2015-03-04 17:33:41 · 1695 阅读 · 0 评论 -
XFire开发客户端几种方式的示例
目录:概述根据默认配置实现代理客户端根据JSR 181注解实现代理客户端根据WSDL自动生成客户端代码动态客户端的实现[一]、概述以 XFire webservice入门开发实例 中发布的服务端为例,WSDL:http://demo.micmiu.com:8080/xfire-base-demo/services/HelloWorldService 。转载 2014-11-25 23:26:57 · 995 阅读 · 0 评论 -
JAXB注解使用
一.Jaxb处理java对象和xml之间转换常用的annotation有:@XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter 二.常用annotation使用说明 @XmlType原创 2014-11-26 11:20:40 · 594 阅读 · 0 评论 -
java集合之HashMap
hashMap按照哈希算法来存取键对象,有很好的存取性能,在内部设计中,采用数据结构中的数组和链表对数据存储,一般称为链表散列。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难原创 2014-07-28 21:29:03 · 628 阅读 · 0 评论 -
java 注解 学习
周末闲来无事,想要研究一下注解方面的知识,以前看过几次,都忘记了,这次学习下,并且写篇文章记录下,1、元注解 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 1.1、@Retention: 定义注解的保留策略 Java代码 复制代码代码如下:@Retention(RetentionPolicy.SOU原创 2014-08-10 00:11:05 · 1099 阅读 · 0 评论 -
Velocity的基本使用
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Vel原创 2014-06-09 23:37:29 · 1306 阅读 · 0 评论 -
java spring注解定时器应用
在现在项目中注解应用越来越广泛。为了有更深的理解,前面学习了java注解使用的一些原理,做了相关的总结和梳理,对注解有了更深的认识。趁热打铁,利用理解到的注解做点东西吧。结合日常工作中的一个点,利用注解做一些改造,也可以知道注解在实际项目中的用处。方便以后碰到相关情况可以利用。废话不多说,直入正题:一般的管理系统中,都会有定时执行的任务,一般用于按一定规律进行统计。比如日,周,月的转载 2014-07-16 13:05:32 · 921 阅读 · 0 评论 -
MongoDB入门简介
MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:*面向集合存储,易存储对象类型的数据。 *模式自由。*支持动态查询。 *支持完全索引,包含内部对象。 *支持查询。 *支持复制和故障恢复。 *使用高效的二进制数据存储,包转载 2014-04-10 00:01:01 · 610 阅读 · 0 评论 -
java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB
在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB1. DOM(Document Object Model) 此 方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常消耗系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结原创 2013-11-26 14:41:34 · 4917 阅读 · 0 评论 -
DEbug 时候ClassNotFoundException的解决方法
Eclipse Debugging Error: ClassNotFoundException的解决办法用eclipse的时候,遇到一个问题,每次debug的时候,都会第一个弹出这个exception把ClassNotFoundException:caught and uncaught前面的勾去掉就OK了。reference:I just h原创 2013-11-30 14:21:32 · 4635 阅读 · 0 评论 -
java 的反射技术
1.反射机制概述 Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。Java 反射机制主要提供了以下功能:转载 2013-11-27 20:09:26 · 694 阅读 · 0 评论 -
java中判断字符串是否为数字的三种方法
java中判断字符串是否为数字的三种方法1用JAVA自带的函数public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } }转载 2013-11-13 10:25:31 · 1469 阅读 · 0 评论 -
试着写 搜索算法-- 最大逆向匹配分词算法
最近想试着自己实现一些搜索算法,受到http://www.52nlp.cn/maximum-matching-method-of-chinese-word-segmentation这位大湿的一点启发,准备用JAVA把算法实现了一遍,代码写的有些简单,请各位大神指正, 正向最大匹配法算法思想如下所示:(注:以上最大匹配算法图来自于詹老师讲义) 逆向匹配法思想与正向一样,只是原创 2013-11-09 21:38:56 · 1155 阅读 · 0 评论 -
java 加载文件的几种方式
使用J2SE API读取Properties文件的六种方法: 1.使用Java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in);转载 2013-11-09 12:36:36 · 796 阅读 · 0 评论 -
spring mvc 异常统一处理
spring mvc 异常统一处理博客分类: spring3系列 SpringMVC 提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。前者当发生异常时,页面会跳到指定的错误页面,后者同样,只是后者会在每转载 2013-11-01 16:53:01 · 2256 阅读 · 0 评论 -
mybatis3.2.3整合spring
mybatis3.2.3整合spring其实就那么几步,网上很多文章大篇幅地将原理,很多时候把人给弄糊涂了,我的建议是“先学会怎么用,再去学原理”。看此文章时,最好与《Mybatis3.2.3+mysql第一个例子(入门)》一起来看,这样你就能更好地理解整合spring的好处。先看下此文章使用的项目的目录结构: mybatis整合spring最简单的理解就是“把myba转载 2013-10-25 14:13:10 · 841 阅读 · 0 评论 -
java Collections 的用法
用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下:/*** 根据order对User排序*/public class User implements Comparable{ private String name; private Integer order; publ转载 2013-09-24 12:49:22 · 772 阅读 · 0 评论 -
freemarker 数字格式化详解
一、使用内建函数 c 特点:不管其表现形式是怎样的( 代码如下复制代码例如"123,456.123,456"、 "123 456.123 456"、 "000 123 456.123 456 000"、 "123,456.123 456"、 "1,2345,6.123456"), 只要小数分割符是'.' 它就能转化成计算机能够识别的字转载 2013-09-14 15:20:36 · 3586 阅读 · 0 评论 -
Java 集合类 之 集合类简介
Java创建数组的时,一组数据的数目是不固定的,长度不能被改变,实际应用中,一组数据经常是变动的,在JDK类库的java.util包中,引入集合类,与数组不同,java集合不能存放基本类型数据,而只能存放对象引用。 Java集合主要分为以下3种类型: (1)Set(集),集合对象不按特定的方式排序,不能重复,但有些实现类能对集合中对象按特定方式排序。常用的有hashSet,tree原创 2014-02-24 13:30:15 · 980 阅读 · 0 评论 -
LRU 缓存策略
我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前读取的数据,而原创 2014-03-29 11:06:59 · 690 阅读 · 0 评论 -
java 多线程简述
多线程的基本实现 进程指运行中的程序,每个进程都会分配一个内存空间,一个进程中存在多个线程,启动一个JAVA虚拟机,就是打开个一个进程,一个进程有多个线程,当多个线程同时进行,就叫并发。 J ava创建线程的两种方式为: 继承Thread类 和实现Runnable接口 Thread类 1、通过覆盖run方法实现线程要执行的程序代码 2、Start()开始原创 2014-02-16 22:02:01 · 1850 阅读 · 0 评论 -
Java 类的生命周期
先了解下JAVA堆栈JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)。2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身。栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型原创 2014-02-17 13:36:39 · 1753 阅读 · 0 评论 -
Ehcache 整合Spring 使用页面、对象缓存
Ehcache 整合Spring 使用页面、对象缓存Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布转载 2013-09-05 15:56:10 · 811 阅读 · 0 评论