自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 Java 多线程断点下载文件

Java 多线程断点下载文件 基本原理:利用URLConnection获取要下载文件的长度、头部等相关信息,并设置响应的头部信息。并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读取、写入。通过输入流读取下载文件的信息,然后将读取的信息用RandomAccessFile随机写入到本地文件中。同时,每个线程写入的数据都文件指针也就是写入数据的长

2015-09-30 09:28:07 521

转载 深入剖析ThreadLocal(2)

ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来创

2015-09-29 15:49:55 233

转载 Java 中的悲观锁和乐观锁的实现

锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的“锁”,即给我们选定的目标数据上锁,使其无法

2015-09-29 09:51:36 220

转载 深入剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal   想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。   以下是本文目录大纲:   一.对ThreadLocal的理解   二.

2015-09-29 09:50:43 260

转载 Java里的CompareAndSet(CAS)

Atomic 从JDK5开始, java.util.concurrent包里提供了很多面向并发编程的类. 使用这些类在多核CPU的机器上会有比较好的性能. 主要原因是这些类里面大多使用(失败-重试方式的)乐观锁而不是synchronized方式的悲观锁. 今天有时间跟踪了一下AtomicInteger的incrementAndGet的实现. 本人对并发编程也不是特别了解, 在这里就是做

2015-09-28 11:20:45 289

转载 java 重定向和转发的区别

java 重定向和转发的区别 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得

2015-09-20 17:41:37 191

转载 互联网技术

罗列了一个清单,多数都谈到了。 负载均衡     F5:特点、安装、配置、与其他技术的区别     Apache Httpd和Ngix的异同     LVS:特点、安装、配置、与其他技术的区别 服务     soap框架:Axis;CXF     rest框架:SpringMVC;Struts     socket框架:Netty;Mina     服务治理框架:Taobao Du

2015-09-14 17:30:27 269

转载 Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合  一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。     1. ctrl+shift+r:打开资源     这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个

2015-09-14 11:37:37 190

转载 Java中的访问修饰符详细解析

1、类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final 1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 pub

2015-09-14 11:30:07 154

转载 Struts 2中的OGNL

本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的的语句,使页面与后台代码分离。” 表达式语言主要有以下几大好处: 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句,

2015-09-14 10:35:28 160

转载 JDBC连接MySQL

JDBC连接MySQL 方法 实例及资料收集   准备工作   首先,安装MySQL,配置用户名和密码,创建数据库。   可参见之前的文章:   http://www.cnblogs.com/mengdd/p/3154638.html   http://www.cnblogs.com/mengdd/p/3154922.html   准备驱动包   要用JDBC连接MySQL,需要

2015-09-10 15:15:37 342

转载 装饰者模式

继承是OOP程序设计的一大特点,但其实对于很多复杂问题来说,利用继承关系处理问题往往具有很高的耦合性,不利于代码的维护。利用组合很大程度上可以做到降耦。多 用组合,少用继承是OOP设计的重要思想。        装饰者模式给我们提出了一个好的OOP设计原则:类应该对扩展开放,对修改关闭。        这句话的意思就是,如果问题发生改变,衡量一个好的设计标准就是:你不需要修改类中的代码,

2015-09-10 15:08:36 258

转载 Java IO 装饰者模式

装饰模式(Decorator)   装饰模式又名包装(Wrapper)模式。   装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。   装饰模式通过创建一个包装对象,也就是装饰,来包裹真实的对象。   装饰模式以对客户端透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。   装饰模式可以在不创造更多子类的情况下,将对

2015-09-10 14:36:33 165

转载 IO

java中的IO整理 本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。 最后欢迎大家提出意见和建议。 【案例1】创建一个新文件

2015-09-10 12:00:30 300

转载 HashMap实现原理分析

1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。       数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和

2015-09-09 14:58:05 274

转载 Java中ArrayList和LinkedList区别

一般大家都知道ArrayList和LinkedList的大致区别:   1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。   2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。   3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移

2015-09-09 14:35:11 212

原创 关于Arraylist的增量:ensureCapacity()

1. 如果你不能确定ensureCapacity()方法到底是干嘛用的,最好不要随便用它。 2. 指定位置来往ArrayList中插入元素有可能引用元素的大量移动,是极其影响效率的,也不要滥用。 任何一个ArrayList对象都有一个capacity属性,用来指示该ArrayList的最小容量,用“容量”这个词容易引起像本贴楼主那样的误解,我觉得用“容纳能力”比较贴切。 我们知道Ar

2015-09-09 12:02:18 680

转载 递归

所谓递归,是指程序调用自身,当然,递归不会无休止地调用下去,它必然有一个出口,当满足条件时程序也就结束了,不然的话,那就是死循环了。 看下面这个类,有几个递归方法,看了之后肯定会对你学习递归很有帮助的。 /**递归类Recursion的定义*/ public class Recursion{       //递归方法DecimalToBinary,把一个十进制数转换成二进制数    

2015-09-08 16:31:22 271

转载 String、StringBuffer与StringBuilder之间区别

关于String,StringBuffer,StringBuilder的东西,现在整理一下。 关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下   1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String   2.String 的原因     String:字符串常

2015-09-08 10:48:37 187

空空如也

空空如也

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

TA关注的人

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