自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在风雨中奔跑

借助互联网的力量

  • 博客(331)
  • 资源 (10)
  • 收藏
  • 关注

原创 Java NIO和BIO读写简单比较

通过对文件的读写所花的时间来进行比较。一、读写的文件二、实例代码package nio;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.nio.ByteBuffer;import java.nio.channels.FileCha

2017-03-19 15:30:14 1811 2

原创 Java NIO笔记之Buffer

一个Buffer对象是固定数量的大小的数据容器,作用是一个存储器或者分段运输区。     缓冲区的工作与通道紧密联系。通道是I/O传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。对于离开缓冲区的传输,您想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据放置在您所提供的缓冲区中。这种在协同对象(通常是您所写的对象以及一到多个Channel对象)之间进行的缓

2017-03-12 16:55:29 566

原创 Scalable IO in Java的代码实现

最近在学习NIO相关的知识部分,在学习的时候,发现Doug Lea大神的一个PPT地址,里面的内容写的非常好,很值得学习,具体内容可以参见PPT和网上的文章,自己根据PPT中的例子和描述,自己将代码补充了一下。下面主要是PPT中的代码和实例。1.Basic Reactor Designpackage basic;import java.io.IOException;imp

2017-03-10 22:30:58 1551 2

原创 Java NIO笔记之IO基础概念

1.缓冲区 缓冲区是所有IO的基础,”输入/输出”就是将数据移进或移除缓冲区。进程IO操作的执行也是向操作系统发送请求,让它要么将缓冲区的数据排干(写),要么将缓冲区的填满数据(读)。 图 1-1 简单描述了数据从外部磁盘向运行中的进程的内存区域移动的过程。进程使用 read()系统调用,要求其缓冲区被填满。内核随即向磁盘控制硬件发出命令,要求其从磁盘读取数据。磁盘控制器把数据直接写

2017-03-06 00:04:09 609

原创 Java NIO笔记之内存映射文件

大致的原理图如下: FileChannel提供了一个map()的方法,该方法可以在一个打开的文件和一个特殊类型的ByteBuffer之间建立一个虚拟内存映射。在FileChannel上调用map( )方法会创建一个由磁盘文件支持的虚拟内存映射(virtual memory mapping)并在那块虚拟内存空间外部封装一个MappedByteBuffer对象。 MappedByteBuffer

2017-03-02 00:00:36 655

原创 Java IO字符流常见类进行分析(四)

一、Reader 用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。 ready() 判断是否准备读取此流。 read() 读取单个字符,这个方法将会阻塞,直到字符可用。 二、BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字

2017-02-23 22:46:46 405

原创 Java IO字节输出流常见类进行分析(三)

一、OutputStream 一个抽象类,所有字节输出流的父类,一个输出流可以接受要输出的字节和发送到目的位置。 write(int):将一个字节输出。 flush():刷出数据,将缓冲区的数据刷出到目的地。 close():关闭流,是否系统资源,关闭之后不能重复打开并接不能重复打开。 二、ByteArrayOutputStream 将数据写入到数组中,缓冲区自动的增长。关闭流没有影响,

2017-02-23 22:18:35 497

原创 Java IO字节输入流常见类进行分析(二)

一、FileInputStream 从文件系统中读取一个文件转换成的字节 数据结构:public class FileInputStream extends InputStream{ /* File Descriptor - handle to the open file */ private final FileDescriptor fd; /* The path of

2017-02-21 23:17:45 902

原创 Java IO字节输入流常见类进行分析(一)

一、InputStream 所有字节输入的父类,是一个抽象类。 public abstract int read() throws IOException从流中读取下一个字节的数据,返回的数据是int类型的范围在0~255之间,如果流中没有数据,将会返回-1,这个方法将会阻塞直到流中有数据可用,这是一个抽象方法,子类必须提供方法的实现。 public int read(byte b[]) thr

2017-02-19 23:55:42 1173

转载 Java IO流整体结构

Java IO 部分类图结构:IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字节流和字符流的区别读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。结论:只要是处理纯文本数据

2017-02-14 09:03:21 507

原创 java的四种引用

在java中引用分为4中,强引用(Strong Reference),弱引用(WeakReference),软引用(SoftReference),虚引用(PhantomReference)1.强引用        强引用是我们在编程过程中使用的最简单的引用,如代码String s=”abc”中变量s就是字符串对象”abc”  的   一个强引用。任何被强引用指向的对象都不能被垃圾回收器回收

2017-02-11 20:54:54 439

原创 Java并发之工具类CyclicBarrier

CyclicBarrier是java并发的工具类,它允许一组线程互相等待,直到到达某个公共屏障点。因为该barrier 在释放等待线程后可以重用,所以称它为循环的barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态。 看一下使用实例imp

2017-01-05 00:28:08 460

原创 Java并发之阻塞队列(三)

SynchronousQueue是阻塞队列的一种,每一次insert操作必须等在另外一个线程的remove操作,同步队列没有任何容器,甚至一个队列容器都没有.同步队列类似于 CSP 和 Ada 中使用的 rendezvous 信道。它非常适合于传递性设计,在这种设计中,在一个线程中运行的对象要将某些信息、事件或任务传递给在另一个线程中运行的对象,它就必须与该对象同步。对于正在等待的生产者和使用

2017-01-02 19:10:34 400

原创 Java并发之阻塞队列(二)

LinkedBlockingQueue一个由链表组合而成的有界阻塞队列. 1.LinkedBlockingQueue的数据结构 采用的是单链表结构 2.LinkedBlockingQueue源码分析 - 2.1继承关系public class LinkedBlockingQueue<E> extends AbstractQueue<E> implements Block

2017-01-01 12:45:52 355

原创 Java并发之阻塞队列(一)

1.阻塞队列是一个增加了2个附加操作的队列,这2个操作是:当队列中元素为空时,获取元素线程会等待队列不为空,当队列满时,存储线程会等待队列中有空闲才会操作.这种操作常用于生产者和消费者的场景。阻塞队列提供了四种处理方法: 方法\处理方式 抛出异常 返回特殊值 一直阻塞 超时退出 插入方法 add(e) offer(e) put(e) offer(e,time,u

2016-12-31 12:49:38 547 1

原创 Java并发之线程池(三)

一、前言2016年即将过去,要抓紧时间,夯实java基础知识部分,为以后学习的新的知识做准备。二、线程池基本原理图                               三、ThreadPoolExecutor的内部结构 1.Worker在里面是一个核心的内部类 private final class Worker extends Abst

2016-12-24 23:07:29 618

原创 Java并发之线程池Executors(二)

Executors: 一个工厂类和提供了一些工具方法,提供了返回ExecutorService,ScheduledExecutorService,ThreadFactory,Callable方法 提供了返回线程池的方法,都是静态方法例如: 一、部分方法列表public static ExecutorService newFixedThreadPool(int nThreads); //创建一个

2016-12-22 23:32:50 379

原创 Java并发之线程池(一)

1.线程池的继承关系图2.线程池架构图 3.部分结构和类的分析 3.1Executor 从上图可以看出Executor线程池的根接口,代码如下:public interface Executor { /** * Executes the given command at some time in the future. The command *

2016-12-21 22:46:24 427

原创 Thread中的interrupt(),interrupted(),isInterrupted()方法的详解

1.interrupt()   使用来中断线程作用的。除非当前线程处于中断状态,这个方法总是可以被执行的。如果当前线程被Object#wait() wait(long)或者Thread#join() join(long),sleep()方法所阻塞时,然而中断状态将被清空变成false,如果被IO/NIO阻塞,使用该方法,中断状态将被设置成true,未中断状态为false,中断状态为truepub

2016-12-18 20:44:25 1019

原创 linux下安装mysql5.7

在linux(centos)下有2种方式安装,第一种使用rpm安装在网上可以搜到,第二种使用压缩包方式,我这里是采用压缩包方式。1.这里我将mysql安装在/usr/local/mysql目录里面,也可以安装在其他地方mkdir /usr/local/mysql2.下载mysql压缩包 wget http://dev.MySQL.com/get/Downloads/MySQL-5.

2016-12-03 22:10:17 12206

原创 mysql中排序再分页遇到的重复数据

用一个简单实例,对遇到的问题复盘一下。  1.新建测试表 test_ordercreate table test_order( id int(11) not null auto_increment primary key, name varchar(10) not null, create_time datetime not null, state int(1) default '1

2016-11-30 22:50:55 6136 2

原创 项目部署到Tomcat中classes目录中配置文件不存在问题

注:主要是是根据我个人的情况来解决,并不是通用的方法。主要将output设置为projectName/target/classes,就可以解决。

2016-11-10 00:55:34 2724

原创 Java并发之AtomicInteger源码分析

一、AtomicInteger的数据结构二、构造方法

2016-10-29 22:22:26 503

翻译 Java原子变量

在 java.util.concurrent.atomic包下的类,在单个变量操作是支持原子操作的。其中的类有get和set方法和volatile变量的read和write方法一样,然而,一个set方法和随后的get方法在操作同一个变量的时候有一种happens-before关系原子的compareAndSet方法保证了内存的一致性的特性,然而在做一些简单的算术操作应用于integer原子

2016-10-29 19:24:33 340

原创 Thread源码浅析

一、Thread类的数据结构class Thread implements Runnable { //... private char name[];//线程的名字 private int priority;//线程的优先级 //... /* Whether or not the thread is a daemon thr

2016-10-29 00:09:25 385

原创 Java并发之CountDownLatch源码分析

CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。内部采用的公平锁和共享锁的机制实现。一、CountDownLatch的构造函数(采用的是一种公平锁机制)public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumen

2016-10-07 23:50:58 4662 4

原创 Java并发之Semaphore的源码分析

Semaphore是一个计数信号量,采用的是共享锁的方式来控制。主要对下面2个方法进行分析:acquire(int)来获取信号量,直到只有一个可以用或者出现中断。release(int)用来释放信号量,将信号量数量返回给Semaphorepublic void acquire(int permits) throws InterruptedException {

2016-10-06 23:06:11 1481

原创 Java并发之synchronized的解析

在JDK中没有太多的对synchronzied的解析,主要是同步作用。下面通过jvm的中synchronizer.cpp的源码来分析在这里可以下载jvm源码:http://hg.openjdk.java.net/synchronzier.cpp的目录在:hotspot-9646293b9637\src\share\vm\runtimesynchronized同步底层使用JNI调用Obj

2016-10-06 16:56:07 1134

原创 Java动态代理Proxy类的解析

Java动态代理Proxy类的解析使用过代理的,对Proxy不会感到陌生,主要分析Proxy类的内部结构。一、Proxy类的结构 /** * a cache of proxy classes * 缓存java代理类 */ private static final WeakCache<ClassLoader, Class<?>[], Class<?>>

2016-09-17 11:28:24 3658 1

原创 Java反射中getXXX和getDeclaredXXX的解析

今天复习一下Java反射部分知识,想获得一写新的知识点,在网上搜了一遍基本差不多的内容。讲讲getDeclaredXXX()和getXXX(),从网上搜的知识来看说,getDeclaredXXX()能访问私有的方法或属性,getXXX()只能访问公有的方法或属性,我之前也停留在这种水平,下面分享一下今天的学习。分析getFields VS getDeclaredFields,其他的类似。

2016-09-14 00:25:36 1219

原创 使用Ant与Junit进行自动化测试

使用Ant与Junit组合进行测试。1.项目结构图:2.文件代码Calculator.javapackage com.test.junit;public class Calculator{ public int add(int a, int b) { return a+b; } public int substact(int a, int b) { re

2016-08-14 23:55:02 3610

原创 使用Ant自动构建Java项目成jar包配置

使用Ant很方便将Java项目打成jar包,下面是自己写的一些配置。build.properties#set configurationtarget.dir=targettargetclasses.dir=target/classestargetlib.dir=target/libsourceclasses.dir=binsourcelib.dir=libsrc.dir=src

2016-08-14 21:57:49 2680

原创 使用Cobertura的命令行方式测试代码覆盖率

一、简介               Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。     下载Cobertura    http://cobertura.github.io/cobertura/二、实例            1.新建一个项目junit01,结构如下:

2016-08-13 11:19:29 4461

原创 使用JDBC遇到SQL关键字in的问题

今天使用JDBC遇到SQL关键字in的问题String sql = "select sum(oil_mass),count(oil_id) from oil_bill where oil_id in (?) ";...PreparedStatement ps = conn.prepareStatement(sql);ps.setString(stationIds);//11,12,1

2016-08-03 22:46:39 4443 1

原创 Junit4部分注解

@BeforeClass:这个注解修饰public static void无参数的方法。修饰的方法运行在所有方法之前(包括@Before修饰的方法和类的默认构造方法前),而且只运行一次,同时会先执行父类的@BeforeClass修饰的方法(PS:子类不能重写父类方法)。@Before:从文档和源码中可以知道,作用范围是运行时(@Retention(value=RUNTIME)),目标是在方法上

2016-08-01 21:30:56 538

原创 MySQL使用like出现 操作MySQL数据库报出:Parameter index out of range (1 > number of parameters

...sql = "...where 1=1  and s.content like '%?%'";sqlValue.add(content);...一直出现错误Parameter index out of range (1 > number of parameters, which is 0)自己修改 sql = "...where 1=1  and s.content li

2016-08-01 08:56:23 1155

原创 Class类源码浅析

在java运行的应用中,类和接口代表着Class的实例。枚举是类的一种,注解是接口的一种,数组是属于类。Class的构造函数//只允许JVM创建Class对象private Class() {} Class的部分函数通过全类名,获取ClassClass forName(String className) 通过Class对象获取类的实例T newInstance() 获取类的名称,

2016-07-12 19:32:37 601

翻译 java泛型通配符

考虑到常规打印集合所有元素的问题,然而你将写一个比较好的版本(jdk1.5以前)void printCollection(Collection c) { Iterator i = c.iterator(); for (k = 0; k < c.size(); k++) { System.out.println(i.next()); }}然而有一个幼稚的

2016-07-09 14:36:19 551

原创 Java中的反射和内省简单实例

1.反射和内省         反射式在运行状态把Java类中的各种成分映射成相应的Java类,可以动态的获取所有的属性以及动态调用任意一个方法,强调的是运行状态。      内省机制是通过反射来实现的,BeanInfo用来暴露一个bean的属性、方法和事件,以后我们就可以操纵该JavaBean的属性。2.反射和内省的图一个简

2016-05-22 17:23:47 536

原创 [LeetCode]Flatten Binary Tree to Linked List

Given a binary tree, flatten it to a linked list in-place.For example,Given 1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like: 1

2016-04-27 11:19:45 342

cobertura测试代码

cobertura测试代码

2016-08-13

apache-cxf-2.2.3.zip

apache-cxf-2.2.3.zip

2015-12-18

JAVA NIO(中文版)

Many serious Java programmers, especially enterprise Java programmers, consider the new I/O API--called NIO for New Input/Output--the most important feature in the 1.4 version of the Java 2 Standard Edition. The NIO package includes many things that have been missing from previous editions of Java that are critical to writing high-performance, large-scale applications: improvements in the areas of buffer management, scalable network and file I/O, character-set support, and regular expression matching. Most of all, it boosts performance and speed dramatically. Java NIO explores the new I/O capabilities of version 1.4 in detail and shows you how to put these features to work to greatly improve the efficiency of the Java code you write. This compact volume examines the typical challenges that Java programmers face with I/O and shows you how to take advantage of the capabilities of the new I/O features. You?ll learn how to put these tools to work using examples of common, real-world I/O problems and see how the new features have a direct impact on responsiveness, scalability, and reliability. The book includes: * A rundown of the new features in NIO * Basic and advanced I/O Concepts * Binary I/O and the new buffer classes * Memory mapped files and file locking * Character I/O: encoding, decoding and transforming character data * Regular Expressions and the new java.util.regex package * Muliplexing with java.nio Because the NIO APIs supplement the I/O features of version 1.3, rather than replace them, you'll also learn when to use new APIs and when the older 1.3 I/O APIs are better suited to your particular application. Java NIO is for any Java programmer who is interested in learning how to boost I/O performance, but if you're developing applications where performance is critical, such as game computing or large-scale enterprise applications, you'll want to give this book a permanent spot on your bookshelf. With the NIO APIs, Java no longer takes a backseat to any language when it comes to performance. Java NIO will help you realize the benefits of these exciting new features.

2015-11-19

JAVAFX入门(英文版)

javafx开发入门教程,英文版,个人感觉不错。

2015-08-22

Struts2帮助文档

struts2帮助文档,一个全面的struts2的帮助文档,包含了所有的struts2中的类。

2014-11-17

谷歌黑板报数学之美

课件中有关于数学方面的知识,讲述了有关计算机算法方面的知识一个不错的资料

2013-09-11

c++思想编程

c++ 相关资料,里面有4个压缩包 有不同的章节。

2013-09-11

c++ 背包算法九讲

里面含有c++背包算法,是一个不错的学习资料。

2013-07-28

c++自学资料

c++自学资料

2013-05-28

c++资料课件

c++资料课件

2013-05-28

空空如也

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

TA关注的人

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