自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Map分支—HashTable

线程安全类继承关系:extends Dictionary implements Map, Cloneable, Serializable属性:与HashMap一样,就不介绍了private transient EntryK,V>[]table;private transient int count;private int threshold;pr

2017-11-27 17:12:09 184

原创 Map分支—TreeMap

用红黑树实现,非线程安全。继承关系:extendsAbstractMapK,V> implements NavigableMap, Cloneable, java.io.Serializable属性://比较器private finalComparator super K>comparator;//根节点private tra

2017-11-21 09:45:00 393

原创 Map分支-HashMap

先强调一点,Map不继承Collection集合类。HashMap,key和value可以为空,非线程安全,对应线程安全的类HashTable。类继承关系: extendsAbstractMapK,V> implementsMapK,V>,Cloneable,Serializable//默认初始承载力,2的幂数,承载力就是hash

2017-11-21 09:38:03 278

原创 List分支-Vector

基础结构是数组。extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable属性://元素数组protected Object[] elementData;//元素数量protected int elementCount;//承载力增长值,如

2017-11-17 10:15:37 173

原创 List分支-LinkedList

基本数据结构是双向链表非线程安全类继承关系:extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable属性://元素个数transient int size = 0;//头指针transient NodeE>first;//尾指针tra

2017-11-17 10:14:18 246

原创 源码阅读—List分支-ArrayList

基本数据结构是数组。实现了List接口,允许元素为空。extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable属性有:private static final long serialVersionUID = 8683452581122892189L;//

2017-11-10 10:28:58 230

原创 自定义JAVA线程池拒绝策略

最近一直被队列的消费业务所困扰,先大致说下业务状况。模块A产生数据通过队列传递给模块B处理,但是数据来自于定时任务,经常是瞬时上万条或者更多,而且模块B的消费有限速控制并且能力有限(消费业务使用的线程池),肯定需要时间消化。那么带来的一个问题就是线程池的拒绝策略选哪种?首先说下线程池的四种拒绝策略:AbortPolicy:直接抛出异常。CallerRunsP

2017-11-10 10:20:24 2606 1

原创 SpringMVC在Controller层实现aop,同类中方法调用问题

主要说两个问题:一、在Controller层实现aop。二、同类方法调用未触发切入。因为现在网上资料比较多,我大概也是看到些帖子,自己根绝遇到的一些问题做了一些总结。一、在Controller层实现aop。我的工程中有两个配置文件springmvc.xml和spring.xml,读者可能会有不同的命名,请对号入座。在Controller实现的配置必须写在springmv

2015-11-06 16:54:18 3423

转载 安装mysql

1、下载mysql-5.6.10-winx64.zip(官网没有64位msi安装文件,否则不用手动配置这么麻烦);2、 解压至某一目录,比如D:\code\mysql-5.6.10-winx64,这是MySQL的程序目录;3、将D:\code\mysql-5.6.10-winx64\bin添加到path环境变量;4、新建一目录,作为MySQL数据目录,如D:\code\my

2015-09-13 12:14:29 297

转载 安装绿色版的mysql

1.复制解压后根目录下的my-default.ini,重命名为my.ini保存到相同路径下2.修改my.ini[mysqld]# 设置mysql的安装目录,如果目录中带空格则必须加引号basedir = "C:\Program Files (x86)\mysql-5.6.13-win32"# 设置mysql数据库的数据的存放目录,文件夹名必须是datadat

2015-07-13 16:41:09 317

转载 JAVA 比较两个日期相差的天数

在测试工作中经常会使用到比较两个日期相差的天数,我之前用过实现这一功能的两个版本的方法,源代码如下:(版本1)publicstaticint getIntervalDays(Date fDate, Date oDate) {       if (null == fDate || null == oDate) {           return -1; 

2015-04-24 18:00:57 360

转载 @Autowired spring

使用 @Autowired 注解进行装配,只能是根据类型进行匹配。@Autowired 注解可以用于 Setter 方法、构造函数、字段,甚至普通方法,前提是方法必须有至少一个参数。@Autowired 可以用于数组和使用泛型的集合类型。然后 Spring 会将容器中所有类型符合的 Bean 注入进来。@Autowired 标注作用于 Map 类型时,如果 Map 的 key 为 String

2015-04-09 14:00:56 384

转载 git冲突解决

使用git pull文件时和本地文件冲突怎么办? Linux运用 陈杰斌  2年前 (2013-08-09)  10564浏览  0评论[编辑]同事在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:error: Your local changes to 'c/environ.c' would be overwritten by merge

2015-04-07 13:03:26 803

原创 mysql时间列之间的时间差值

求时间列的差值,切记不要用两个列做减法,比如updatetime-createtime需要使用timediff(time1,time2)函数,但是timediff的两个参数只能是datetime/timestamp,time类型,并且两个参数的类型相同。不相同呢?使用timestampdiff(exp,time1,time2),其中exp可以为SECOND 秒 SECONDS 

2015-03-27 15:48:00 1258

转载 linux安装mysql

1.       运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.32.       安装方法:安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件

2015-03-25 14:21:41 387

转载 mysql创建用户与授权

MySQL中创建用户与授权的实现方法,对于刚开始接触mysql的朋友可以参考下注:我的运行环境是widnows xp professional + MySQL5.0 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定

2015-03-24 18:28:33 376

转载 java工程打包成jar

方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0Class-Path: lib/commons-codec.jar lib/commons-

2015-03-24 14:31:54 460

转载 关于java路径的获取问题,保证部署(jar)到机器上正常运行

对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? 在Java处理的文件系统中,目录的表示方式有两种: (1)绝对目录,它以"/"为起始字符,代表从根目录下开始寻找给出的目录,如/c:/java (2)相对路径,它以不带“/”的目录名表示,表示以当前Java程序正在运行的目录作为起始目录来寻找给出的目录。如j

2015-03-24 14:25:01 424

转载 一个stmp发送邮件的例子:ssl方式

使用java mail(jmail)通过gmail的stmp发送邮件:SSL方式http://stackoverflow.com/questions/1990454/using-javamail-to-connect-to-gmail-smtp-server-ignores-specified-port-and-triesTransport transport = session.getT

2015-03-24 11:55:44 4053

转载 长连接与短连接

1. TCP连接当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的经典的三次握手示意图:经典的四次握手关闭图:2. TCP

2015-03-23 18:18:16 308

转载 Mongodb的安装与启动配置

Mongodb的安装与启动配置下载链接: http://www.mongodb.org/downloads----------------------------------------------------------------------------Linux安装第一步:下载安装包下载版本:2.0.2-rc2下载链接: http://

2015-03-20 13:44:32 268

转载 JavaMail 说明

一、JavaMail概述:       JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类。但它并没有包含在JDK中,而是作为JavaEE的一部分。       厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括:l         SMTP:简单邮件传输协议,用于发送电子邮件的传输协议;l         P

2015-03-20 11:29:48 599

原创 linux下安装java环境

1.首先下载最新版 jdk 64-bit版 (jdk-7u45-linux-x64.tar.gz)    从官网下载http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2.将jdk-7u45-linux-x64.tar.gz拷贝到/usr/lib/jvm/目录

2015-03-19 16:01:13 310

转载 Linux 系统挂载数据盘

Linux 系统挂载数据盘 适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)*  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作。下面的操作将会把数据盘划分为一个分区来使用。 1、查看数据盘在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数

2015-03-19 12:01:29 281

转载 Spring中bean的生命周期

这Spring框架中,一旦把一个bean纳入到Spring IoC容器之中,这个bean的生命周期就会交由容器进行管理,一般担当管理者角色的是BeanFactory或ApplicationContext。认识一下Bean的生命周期活动,对更好的利用它有很大的帮助。    下面以BeanFactory为例,说明一个Bean的生命周期活动:Bean的建立      由BeanF

2015-03-12 09:14:24 417

转载 Java类加载机制

Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将HelloWorld.class加载到内存中,并形成一个Class的对象HelloWorld.class。其中的过程就是类加载过程:1、寻找jre目录,寻找jvm.dll,并初始化JVM;2、产生一个Bootstrap Loader(启动类加载器);3

2015-03-10 11:09:50 299

转载 Java垃圾回收机制

详细介绍Java垃圾回收机制垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先要判断该对象是否是时候可以收集。两种常用的方法是引

2015-03-04 10:24:37 300

转载 java反射机制

1、偶想   胡乱做了两年的Java开发,对于Java反射机制总感觉很深奥,加之工作上用之不多,一直回避对这块的学习!这两天刚刚参与完了一个项目,工作比较清闲,早上梳头时突然想到“reflection”这个词,哈哈,来到公司后感觉应该学学Java反射机制了!发现其实不难,而且挺好玩的!为自己用学会了一点东西而高兴,也马上想到要把自己的学习笔记记下来!2、JAVA反射机制简介

2013-06-06 11:07:08 448

转载 java的HashCode方法

有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, 我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。   总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么这里就有一个比较严重的问题了

2013-05-08 16:47:17 361

转载 Java的对象引用和值引用

以前就知道JAVA对象分对象引用和值引用,并且还知道8种基础数据类型,即引用时是值引用的数据类型,比如int,short,long,byte,float,double,char,boolean,其它都是对象引用。可是其它的对象引用我一直都以为跟c里面是一样的指针传递,直到今天才发现原来JAVA里面还是别有一番天地的。     1. 方法调用的时候,并不是类似c的指针传递,而是引用的复制

2013-05-08 10:05:20 512

转载 String,StringBuffer与StringBuilder的区别??

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常

2013-04-14 12:26:20 273

转载 java中的值传递和引用传递

java中的值传递和引用传递值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。下面举例说明:传值---传递基本数据类

2013-04-14 12:19:14 353

原创 Java的值传递与引用传递

Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。    如果参数类型是原始类型,那么传过来的就是这个参

2013-04-14 12:18:36 389

转载 Java中的final的三种用法

Java中的final共有三种用法:final成员变量当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的。其初始化可以在三个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。而且在Jav

2013-04-14 12:13:12 1111

转载 Linux2.6调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation。该算法实现了最最简单的FIFO队列,所有IO请求大致按照先来后到的顺序进行操作。之所以说“大致”,原因是NOOP在FIFO的基础上还做了相邻IO请求的合并,并不是完完全全按照先进先出的规则满足IO请求。NOOP假定I/O请求由驱动程序或者设备做了优化或者重

2013-03-28 22:18:17 512

原创 Linux调度算法

Linux 2.4的调度算法需要遍历可运行队列,算法O(n)Epoch,基本时间片,动态优先级Linux 2.6.17的调度算法(2.6.23之前)采用双队列(Active;expire ),按照优先级组队,O(1)Linux 2.6.26的调度算法非实时:CFS,vruntime,红黑树实时:优先级队列进程类型:Linux作为一个通用操作系统,调度

2013-03-28 21:59:37 659

转载 复杂的消息缓冲问题PV

进程A1、A2...An1通过m个缓冲区向进程B1、B2......Bn2不断发送消息。发送和接收工作遵循下列规则:(1) 每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小等于消息长度(2) 对每个消息,B1,B2,Bn2都须各接收一次,读入各自的数据区内(3) m个缓冲区都满时,发送进程等待,没有可读消息时,接收进程等待。试用P、V操作组织正确的发送和接收工作。

2013-03-24 10:49:24 2962 3

转载 安装Sublime Text 2 插件

安装Sublime Text 2插件的方法:1.直接安装安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。2.使用Package Control组件安装也可以安装package control组件,然后直接在线安装:按Ctrl+`调出console(注:安装有QQ

2013-03-22 16:18:27 924

转载 Ubuntu安装QQ2012

在最新的Ubuntu 12.10下安装QQ2012,请根据自己的机器类型下载后按照下面的32位或64位安装说明安装。下载网址:http://www.longene.org/download/直接下载地址:http://www.longene.org/download/WineQQ2012-20120719-Longene.deb安装很简单,参考:http://www.lin

2013-03-22 10:51:43 558

转载 Running Java3D Programs In Eclipse

This page explains how to run programs that use the Java3D library in Eclipse.Download Java3D.Visit this page to download the Java3D library for your system. The download for Windows

2013-03-18 16:05:44 1091

空空如也

空空如也

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

TA关注的人

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