Java
文章平均质量分 82
hsgao_water
这个作者很懒,什么都没留下…
展开
-
深浅克隆
深浅克隆浅克隆:被复制对象的变量都含有与原来对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 深克隆:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量指向复制的新对象,而不再是原有对象的引用。换言之,深复制把要复制的对象所引用的对象都复制了一遍。Java的clon原创 2015-07-16 16:22:11 · 446 阅读 · 0 评论 -
Integer类型数据的比较
我们在做Integer数据比较的时候,会有意想不到的结果,通过看Integer的源码,问题迎刃而解。这里的论述建立在jdk版本是1.8Intger类有个静态内部类IntegerCache,是用于缓存Intger对象的。这里会缓存-128 到127的数据。private static class IntegerCache { static final int low = -...原创 2019-06-27 16:37:21 · 1090 阅读 · 0 评论 -
ThreadLocal
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。ThreadLocal的接口方法ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:原创 2016-08-22 16:00:44 · 292 阅读 · 0 评论 -
Map遍历的四种方法
package cn.com.collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;/*** @author water* @version 创建时间:2016年9月12日 下午4:02:42* 类说明*/public class TestMap { publi原创 2016-09-12 16:39:03 · 2005 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们转载 2016-08-31 16:12:37 · 209 阅读 · 0 评论 -
Eclipse反编译工具Jad及插件JadClipse配置
Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置: 1、下载JadClipse,原创 2015-11-25 16:53:14 · 1707 阅读 · 0 评论 -
==、hashCode()、equals(Object obj)方法
1、”==”运算符是用来比较两个变量的值是否相等。也就是说,该运算比较的是变量对应的内存中所存储的数值是否相等,要比较两个基本类型的数据或两个引用变量是否相等,只能用”==”。具体而言,如果两个变量是基本数据类型,可以直接使用”==”运算符来比较其对应的值是否相等。如果两个变量是引用类型,那么使用”==”则比较的是引用变量所存储的数值(这个数值就是变量指向对象所占用内存的首地址)。2、equa原创 2015-08-07 14:07:57 · 318 阅读 · 0 评论 -
关于finally的几个问题
1、Finally块中代码在什么时候执行?package testfinally;public class Test { public static int test(){ try{ return 1; }catch(Exception e){ return 0; }finally{ System.out.println("execute fina原创 2015-08-07 17:26:02 · 372 阅读 · 0 评论 -
抽象类
抽象类抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。但是在实例中我们可以创建无抽象方法的抽象类,如果你这么做了,这个抽象类也失去了它实际的意义,没有抽象方法的抽象类,我们也没必要将其定义为抽象类了。 抽象类与普通类的区别:抽象原创 2015-07-23 09:22:37 · 415 阅读 · 0 评论 -
Jdbc访问数据库
通过Jdbc连接数据库加载Jdbc驱动,将数据库的jdbc驱动加载到到classpath中;将jdbc驱动注册到DriverManager中,Class.forName(driver);建立数据库连接,Connection con = DriverManager.getConnection(url,user,password);创建Statement对象或是PreparedStatem原创 2015-08-14 11:50:57 · 370 阅读 · 0 评论 -
Java 的静态代理和动态代理
一、代理概念:Proxy代理模式是一种结构型设计模式,其目的就是为其他对象提供一个代理以控制对该对象的访问。代理类和委托类有共同的父类或接口,这样在任何使用委托类对象的地方动可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完后的后续处理。二、静态代理由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文原创 2015-07-09 16:26:03 · 434 阅读 · 0 评论 -
rabbitmq-Topic exchange(主题交换器)
Topic exchange消息发送到topic exchange(主题交换器)不能具有任意的routing_key(路由键),它必须是一系列的单词,使用点号.分隔。这些单词可以是任意的,但是经常定义了与消息相关的特性。一些有效的路由键示例:"stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit"。路由键中的字可以任意多个,最多255个字节。绑...原创 2019-10-11 13:56:59 · 412 阅读 · 0 评论