- 博客(34)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 Linux初步学习
ubuntu下载网址:releases.ubuntu.com重要的几个版本:12.04 14.04两个版本Ubuntu安装视频可以参考:http://haoduoshipin.com/v/11
2016-03-31 09:39:00 294
转载 TreeMap
原文出自:http://cmsblogs.com/?p=1013。尊重作者的成果,转载请注明出处! 个人站点:http://cmsblogs.com-------------------------------------------------------------------------------------------------------------
2016-03-30 21:50:23 311
原创 Java--TreeMap源码解读
TreeMappublic class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable TreeMap基于红黑树(Red-Black tree)实现,根据键值的自然顺序进行排序,或者根据创建映射时提供的Comparator进行排序。此实现为 containsKey、get、pu
2016-03-30 20:11:21 353
原创 Java--LinkedList源码解读
LinkedListpublic class LinkedListextends AbstractSequentialListimplements List, Deque, Cloneable, Serializable实现了List接口,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接
2016-03-30 19:39:54 224
原创 Java--ArrayList源码解读
ArrayList 源码解读ArrayList 的size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。add 操作以分摊的固定时间 运行,也就是说,添加 n 个元素需要 O(n) 时间。其是不同步的。public class ArrayList extends AbstractList implement
2016-03-30 16:55:35 240
转载 Java NIO系列教程(十二) Java NIO与IO
原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html作者:Jakob Jenkov 译者:郭蕾 校对:方腾飞当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代
2016-03-30 10:48:20 173
转载 Java NIO系列教程(十一) Pipe
原文链接 作者:Jakob Jenkov 译者:黄忠 校对:丁一Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:
2016-03-30 10:46:46 200
转载 Java NIO系列教程(十) Java NIO DatagramChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:
2016-03-30 10:46:02 235
转载 Java NIO系列教程(九) ServerSocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:01
2016-03-30 10:44:45 227
转载 Java NIO系列教程(八) SocketChannel
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。
2016-03-30 10:43:59 256
转载 Java NIO系列教程(七) FileChannel
原文链接 作者:Jakob Jenkov 译者:周泰 校对:丁一Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileC
2016-03-30 10:43:20 206
转载 Java NIO系列教程(六) Selector
原文链接 作者:Jakob Jenkov 译者:浪迹v 校对:丁一Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道Select
2016-03-30 10:42:24 237
转载 Java NIO系列教程(五) 通道之间的数据传输
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html作者:Jakob Jenkov 译者:郭蕾 校对:周泰在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transf
2016-03-30 10:40:59 298
转载 Java NIO系列教程(四) Scatter/Gather
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html作者:Jakob Jenkov 译者:郭蕾 Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(sca
2016-03-30 10:39:51 320
转载 Java NIO系列教程(三) Buffer
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffe
2016-03-30 10:38:40 251
转载 Java NIO系列教程(二) Channel
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:
2016-03-30 10:37:12 239
转载 Java NIO系列教程(一) Java NIO 概述
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组
2016-03-30 10:36:01 197
转载 JVM--内存调优
转自:http://blog.csdn.net/gjanyanlig/article/details/6818894首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualV
2016-03-28 16:40:44 257
转载 JVM--类加载机制
类加载对类进行初始化:1、new关键字2、对类进行反射调用的时候3、初始化一个类,如果他的父类还没有初始化4、虚拟机启动时,用户需要指定一个要执行的主类加载:1、通过一个类的全限定名来获取定义此类的二进制字节流2、将这个字节流所代表的静态存储结构转化为方法区的运行时的数据结构3、在内存中生成一个代表这个类的java.lang.Class对象,作为
2016-03-28 16:14:39 64
原创 JVM--垃圾收集器
由前面可知程序计数器、栈、本地方法区都是随线程而生,随线程而灭,所以不需要考虑内存回收。判断对象是否存活:1、引用计数器:很难解决对象之间的相互循环引用。2、可达性分析:可作为GC Roots对象的有:1、虚拟机栈中引用的对象2、方法区中类静态属性引用的对象3、方法区中常量引用的对象4、本地方法栈中JNI(即一般说的Native方法)引用:强引用、软引用、弱引用、虚
2016-03-28 15:12:22 228
原创 JVM--内存管理模型
JVM内存管理模型 由图中可以看出内存被划分为若干个不同的数据区域,有的区域(方法区、堆)随着虚拟机的启动而存在,有些区域(栈、本地方法区、程序计数器)则依赖用户线程的启动和结束而建立和销毁。1、程序计数器:是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。此内存区域是唯一一个没豆规定OutOfMemoryError的区域。2、虚拟机
2016-03-28 14:18:13 425
原创 Java-LinkedHashMap源码解读
Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。(如果在调用m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入
2016-03-27 15:28:20 372
原创 Java-HashSet源码解读
HashSet实现 Set 接口,实际上是一个HashMap,不保证元素的顺序,允许使用null元素。HashSet是线程不安全的public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable继承AbstractSet类,实现Se
2016-03-27 15:11:36 284
原创 Java-ConcurrentHashMap源码分析
由于Hashtable的每个方法前面均加有synchronized 关键字,来保证其是线程安全的,但这对于高并发,影响了其效率,相当于把整张表都锁起来了。
2016-03-26 23:22:18 334
原创 Java-HashTable源码分析
Hashtableinitial capacity:初始容量load factor:负载因子 the default load factor (.75) offers a good tradeoff between time and space costs. * Java Collections Framework. Unlike the new collec
2016-03-26 22:42:12 94
原创 Java-HashMap源码分析
HashMap : initial capacity :初始容量load factor:负载因子默认为0.75Note that this implementation is not synchronized. HashMap中的方法是非同步的,不是线程安全的。fail-fast: if the map is structurally modified at any time a
2016-03-26 20:44:15 307
原创 Spring-AOP
1. 面向切面编程Aspect-Oriented-Programming 逻辑(添加源代码、继承、组合)a) 是对面向对象的思维方式的有力补充
2016-03-26 20:09:05 278
原创 Spring--IOC
1、Spring 生命周期Scopesingleton (默认) 单例模式prototype 每次取都是新的以下三种与web使用 requestsessionglobalsession2、集合注入相当于调用set方法.........相当于调用set方法...ref bean="
2016-03-26 16:59:47 83
原创 Java--collection集合类
collection-- List 、Set Queue SortedSetmap--SortedMapList:可以放重复的内容。Set:不能放重复的内容,所有重复内容靠hashCode()和equals()两个方法区别。Quene:队列接口。SortedSet:可以对集合中的数据进行排序。List的子类:ArrayList:继承 Abstr
2016-03-24 11:50:23 272
原创 kettle-插件开发
插件下载地址:https://github.com/zry963/plugin_obfus该插件的主要功能为模糊字段值,如:李四---李某, 18081198871--180811xxxxx等等Obfus.java 代码/********************************************************************** **
2016-03-24 10:49:25 2060
原创 kettle-step插件结构
步骤插件-四个接口 StepMetaInterface:这个接口向外面提供步骤的元数据并处理串行化。 StepInterface:这个接口根据上面接口提供的元数据,来实现步骤的功能。 StepDataInterface::这个接口用来存储步骤的临时数据,文件句柄等。 StepDialogInterface::这个接口是Spoon里的图形界面,用来编辑步骤的元数据
2016-03-23 21:16:21 2321
原创 kettle源码
1、kettle的体系结构 kettle主要由3部分组成 spoon,kitchen,pan。其中Spoon是一个图形化的界面,有转换和作业两种脚本。其资源存储方式可为数据库资源形式或者是文件系统资源形式。2、应该如何解读源码kettle的插件类型: 转换步骤插件:在Kettle转换中使用的步骤,用来处理数据行。作业项插件:在Kettle作业中使用的的作业项,用来实现
2016-03-23 20:47:13 871
原创 ETL工具kettle源码解读-前言
kettle 4.4 源码分析入手 1、源码导入 eclipse 可以从github上下载相应的 https://github.com/pentaho/pentaho-kettle 并加入相应的关系.jar文件,结果如图所示2.运行源码启动spoon位于src-ui包下的org.pentaho.di.ui.spoon,如图:Spoon.java
2016-03-23 20:27:35 1099
VB.NET中向access数据库中添加数据,,,为什么总是添加失败?
2014-04-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人