JAVA
文章平均质量分 82
vince_zw
这个作者很懒,什么都没留下…
展开
-
JAVA深入学习之Apache开源项目
对于刚入JAVA的同学来说可能很难找到一种方式去快速提升自己,原创 2014-09-19 21:30:17 · 1929 阅读 · 0 评论 -
深入AOP原理与应用
AOP(Aspect Oriented Programming)就是面向切面编程,也是一种编程思想,接触了JAVA是Spring框架后我才了解AOP,在我的工作中会经常用到,举个存储分层的例子,就像硬盘、内存和CPU中的寄存器,对应的高性能应用系统会有普通数据库、Redis和本地内存:那么这里的缓存操作我们可以抽出来统一做,这里我们就用到了AOP,切点就是对数据的存取方法,还有就是调用外部原创 2015-01-06 18:33:07 · 1604 阅读 · 1 评论 -
详解Spring的声明式事务
事务(Transactional):在软件开发领域,全有或全无的操作被称作事务,事务具有四个特性:ACID。A:Atomic 原子性 确保事务中的所有操作全部发生或全部不发生C:Consistent 一致性 事务的执行结果是确定I:Isolated 隔离性 事务是彼此隔离的,避免同步读写相同数据D:Durable 持久性 事务的结果是持久化的原创 2015-02-12 22:08:07 · 737 阅读 · 0 评论 -
浅谈JAVA的线程安全与性能之间的权衡
1、StringBuffer 与 StringBuilderStringBuffer自JDK1.0就有了,继承自AbstractStringBuilder类,是线程安全的类,推荐在多线程环境下使用;StringBuilder是JDK1.5才加的,多线程环境下不推荐使用,非线程安全的工具类,但是单线程环境下比StringBuffer性能提高很多;StringBuffer的线程安全是用sync原创 2015-03-17 20:21:45 · 884 阅读 · 0 评论 -
图解WildFly8.x模块化加载数据库驱动
在上一篇中《图解WildFly8.x配置JNDI数据源》没有说明数据库的驱动是如何设置的,本文以Mysql的驱动设置为例进行详细的补充,主要是利用JBoss的模块化设计思想,让系统启动更快,更充分地利用内存。首先到modules目录增加驱动的包。module.xml文件的配置如下:接下来要手动修改standalone.xml配置文件,增加添加的驱动:配置好后,在后台的图形界原创 2015-01-09 20:55:13 · 1435 阅读 · 0 评论 -
剖析Jetty的运行原理
之前写过一篇简单使用Jetty的文章,Jetty对于做JAVA Web方面开发的人来说并不陌生,他是一个servlet容器,不过相对Tomcat来说设计的比较简单,而且使用起来也比较简单灵活,我是在学习和使用openfire时接触的Jetty,openfire使用Jetty开发其强大的管理后台。在我最近的一个项目里我也想用Jetty来开发一个后台管理程序,不过用Jetty来开发后台管理程序的缺原创 2014-11-07 21:18:40 · 5108 阅读 · 0 评论 -
JAVA解压ZIP文件
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.原创 2015-05-02 23:11:12 · 1936 阅读 · 0 评论 -
深入剖析Guice(Google依赖注入框架)
众所周知的依赖注入框架Spring,但还有一个性能好且轻量的框架Guice,Guice来自Google,且Google的很多产品都是使用的Guice原创 2016-10-25 22:06:00 · 17806 阅读 · 0 评论 -
JAVA中几种常用的RPC框架介绍
RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展。Java中的RPC框架比较多,各有特色,广泛使用的有RMI、Hessian、Dubbo等。1、RMI(远程方法调用)JAVA自带的远程方法调用工具,不过有一定的局限性2、Hessian(基于HTTP的远程方法调用)基于HTTP协议传输,在性能方面还不够完美,负载均衡和失效转移依赖于原创 2015-05-02 23:17:40 · 155101 阅读 · 20 评论 -
文件断点续传原理与实现
在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析,FTP是基于TCP的,一般情况下建立两个连接,一个负责指令,一个负责数据;而TFTP是基于UDP的,由于UDP传输是不可靠的,虽然传输速度很快,但对于普通的文件像PDF这种,少了一个字节都不行。本次以IM中的文件下载场景为例,解析基于TCP的文件断点续传的原理,并用代码实现。原创 2014-12-06 21:44:05 · 12363 阅读 · 1 评论 -
大规模集群环境下的协调者Zookeeper
在大数据和云计算普遍的今天,越来越多的应用使用了Apache下zookeeper这个利器,举几个家喻户小的,像HBase,Kafka,国内阿里巴巴开源的Dubbo等。首先来了解下zookeeper,原型是Google的Chubby,数据结构是树,我个人理解其实zookeeper也是nosql的一种,是一个非关系型数据库,里面存储的是树结构的数据,包括结点与关系,还有结点上原创 2014-12-06 22:53:24 · 1893 阅读 · 0 评论 -
MINA学习笔记
本文来源于我工作中的笔记原创 2014-09-19 22:16:04 · 647 阅读 · 0 评论 -
RabbitMQ的使用与分析
1、简介原创 2014-09-22 12:50:16 · 2539 阅读 · 0 评论 -
关于toString方法的重写工具ToStringBuilder
apache的commons-lang3的工具包里有一个原创 2014-09-24 12:57:00 · 5436 阅读 · 2 评论 -
用JAVA获取视频文件中的帧图片并等比缩放
最近项目中有一个需要用JAVA原创 2014-09-29 18:58:04 · 28653 阅读 · 25 评论 -
基于HTTP的多文件上传问题
Http原创 2014-10-09 19:40:38 · 4526 阅读 · 0 评论 -
ActiveMQ的简单用法
消息生产者:消息消费者:原创 2014-10-11 18:53:03 · 977 阅读 · 0 评论 -
高性能网络框架Netty的TCP拆包、粘包解决方案
简单地说,网络通信时由于TCP会对传输的数据报进行对用户透明的拆分与重新组装,然后将拆分后的分别发送,而我们接收时要获取发送时的数据报,如何再对其拆分与组装,以便于我们能知道报文的意思,这个提取报文的过程就是TCP的拆包与粘包,在我们自己做底层的通信设计时,这是必须要考虑的。结合最近在做一个和通信相关的项目,本文讲几个经典且常用的几种粘包与拆包方法及其在Netty中的实现,Netty是高性能的通信...原创 2014-11-14 20:27:31 · 9181 阅读 · 0 评论 -
volatile与zookeeper
多线程里的volatile与分布式锁的分析与应用原创 2014-10-23 12:39:29 · 605 阅读 · 0 评论 -
一种拼音分词器的JAVA实现
搜索中的分词器有很多种,包括中文、英文,一般的网站都会有站内搜索功能,也就是对用户输入的内容进行处理,本文对中文的全拼实现了一个分词器,原理很简单,就是模式匹配。根据中文全拼的特点,即声母和韵母配对,首先列举出所有的声母,再分别列举出所有声母对应的韵母集,分词的过程就是遍历匹配的过程。具体代码如下:import java.util.ArrayList;public cl原创 2014-12-02 18:46:13 · 3099 阅读 · 0 评论 -
高性能序列化工具Google Protobuf的使用
高性能序列化工具Google Protobuf的使用DEMO原创 2014-10-21 19:05:30 · 3212 阅读 · 0 评论