
java
文章平均质量分 73
kf_panda
这个作者很懒,什么都没留下…
展开
-
Java中ArrayList类的用法
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i转载 2016-03-16 23:14:27 · 286 阅读 · 0 评论 -
CountDownLatch详解
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:目录CountDownLatch是什么?C转载 2016-04-15 18:42:56 · 438 阅读 · 0 评论 -
junit学习之junit的基本介绍
Junit目前在一些大的公司或者相对规范的软件中使用的比较多,相当多的小公司并没有把单元测试看的太重要。在大点的公司开发人员每天上班后,第一件事情就是从svn上把自己负责的代码checkout下来,然后运行单元测试,如果单元测试通过,那么说明自己的代码没有问题,然后就在代码块上修改与添加,完成后再用junit进行测试,测试完成后如果没有问题,那么就把相应的代码块提交给svn上。测试一般分为转载 2016-05-12 14:19:39 · 411 阅读 · 0 评论 -
线程安全的单例模式
1、饿汉式单例public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton() { } public static Singleton getInstance() { return INSTANCE; }}2、借助内原创 2016-04-19 21:19:23 · 287 阅读 · 0 评论 -
单例模式与线程安全
单例模式是一种常用的软件设计模式,常被用于一个类在系统中最多只允许存在一个实例的场合,如窗口管理器、打印缓冲池、文件系统等。在单例模式的核心结构中,只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。在Java中,单例模式如此定义:“一个类有且原创 2016-04-19 21:25:20 · 1191 阅读 · 0 评论 -
Java对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是转载 2016-04-19 22:54:24 · 259 阅读 · 0 评论 -
java 枚举类型
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语转载 2016-04-21 16:49:11 · 286 阅读 · 0 评论 -
Java并发编程:Thread类的使用
在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 若有不正之处,请多多谅解并转载 2016-05-18 13:11:21 · 333 阅读 · 0 评论 -
Class.forName()用法详解
主要功能 Class.forName(xxx.xx.xx)返回的是一个类Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。一.什么时候用Class.forName()?先来个热身,给你一个字符串变量,它代表一个类的包名和类名,转载 2016-05-07 19:23:32 · 264 阅读 · 0 评论 -
java反射机制详解 及 Method.invoke解释 getMethod
JAVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对转载 2016-05-07 19:36:12 · 303 阅读 · 0 评论 -
Java对MySQL数据库进行连接、查询和修改
0. 一般过程: (1) 调用Class.forName()方法加载驱动程序。 (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。 (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)转载 2016-06-27 10:01:59 · 337 阅读 · 0 评论 -
nginx服务器安装及配置文件详解
https://segmentfault.com/a/1190000002797601http://liuqunying.blog.51cto.com/3984207/1420556http://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinityhttp://wiki.nginx.org/HttpCoreModu原创 2016-07-03 08:41:41 · 309 阅读 · 0 评论 -
java 日期运算
java.util.Date下的很多(构造)方法,已经被标识为"过时"方法,官方推荐使用Calendar类来处理日期的运算,下面是示例:123456789101112131415161718192021转载 2016-07-07 15:35:05 · 329 阅读 · 0 评论 -
Linux Maven 安装与配置
1、下载maven wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz2、解压至/usr/local目录 tar -zxvf apache-maven-3.2.5-bin.tar.gz3、配置国内的源在mirrors原创 2016-11-04 13:24:28 · 858 阅读 · 0 评论 -
Java中Set的contains()方法
新手对Set中contains()方法的疑惑[java] view plain copyimport java.util.HashSet; class Dog{ String color; public Dog(String s){ color = s; }转载 2016-04-15 10:27:14 · 1529 阅读 · 0 评论 -
Java中finally的执行时机
finally是在catch执行之后return之前执行的。那么,如果在finally中改变了catch中要返回的对象,那么,返回值改变了吗?看代码:上面代码输出是3,说明finally中的改变对catch中的返回值产生了影响。再看下面代码:奇怪的是,上面的代码输出的竟然是2。原因还是稍微深奥的。解释下:这里面,涉及到一个栈帧的问原创 2016-03-28 15:54:55 · 398 阅读 · 0 评论 -
java多线程中的异常处理
在java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉。这一点是通过java.lang.Runnable.run()方法声明(因为此方法声明上没有throw exception部分)进行了约束。但是线程依然有可能抛出unchecked exception,当此类异常跑抛出时,线程就会终结,而对原创 2016-03-28 13:59:44 · 344 阅读 · 0 评论 -
Java HashSet和LinkedHashSet的用法
类HashSet和LinkedHashSet都是接口Set的实现,两者都不能保存重复的数据。主要区别是HashSet不保证集合中元素的顺序,即不能保证迭代的顺序与插入的顺序一致。而LinkedHashSet按照元素插入的顺序进行迭代,即迭代输出的顺序与插入的顺序保持一致。以下是HastSet和LinkedHashSet的用法示例:import java.util.Colle转载 2016-03-16 23:46:40 · 388 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchroniz转载 2016-03-17 09:44:40 · 343 阅读 · 0 评论 -
Java enum的用法详解
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语句只支持int原创 2016-03-18 15:01:24 · 304 阅读 · 0 评论 -
HASH 算法大全
package com.conan;/** * Hash算法大全 * 推荐使用FNV1算法 * * @algorithm None * @author Goodzzp 2006-11-20 * @lastEdit Goodzzp 2006-11-20 * @editDetail Create */public class HashAlgorithms { /**原创 2016-04-01 13:27:23 · 358 阅读 · 0 评论 -
eclipse uml 安装
进入http://www.eclipse.org/ ,选择PROJECTS菜单,搜索框中搜索UML,有一个Eclipse UML Generators项目,点击后选择LEARN MORE,然后选择Downloads菜单下面有不同版本的链接,可以在eclipse中直接使用“Install New Sofrware”安装。原创 2016-04-03 13:02:36 · 898 阅读 · 0 评论 -
HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元转载 2016-03-23 18:45:37 · 264 阅读 · 0 评论 -
JAVA多线程实现
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的原创 2016-04-05 22:22:03 · 321 阅读 · 0 评论 -
ThreadLocal 使用
一、概述ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程原创 2016-04-05 22:53:34 · 419 阅读 · 0 评论 -
AtomicInteger
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。//获取当前的值public final int get()//取当前的值,并设置原创 2016-04-06 00:16:04 · 306 阅读 · 0 评论 -
Java synchronized详解
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,转载 2016-04-06 00:17:12 · 423 阅读 · 1 评论 -
配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , app转载 2016-03-13 21:41:36 · 300 阅读 · 0 评论 -
java中的List
1、List接口继承了Collection接口。List中的元素是按顺序存放的,可以有重复元素。ArrayList类:实现数组的动态操作,线程不安全,执行效率比Vector高Vector类:实现动态数组线程安全向量类Stack类:表示后进先出的对象栈,是Vector类的子类,2、构造方法Arraylist类的构造方法: public ArrayList();//构造一个初原创 2016-03-24 20:09:16 · 304 阅读 · 0 评论 -
Java集合框架List,Map,Set等全面介绍
java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +--java.util.LinkedList [C] +--java.util.Vector [C] +--java.util.Stack [C]+--java.util.Set [I] +--ja转载 2016-03-24 20:44:56 · 333 阅读 · 0 评论 -
JAVA 对象拷贝
1.Java里的clone分为: A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。 Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点 1.在派生类中覆盖基类的clone()方法,并声明为public【Object类中的cl转载 2017-02-26 22:44:40 · 451 阅读 · 0 评论