Java
文章平均质量分 79
LiveAY
学习学习学习!!!
展开
-
java设计模式之单例模式
分类: java 语言(11) 作者同类文章X•java性能优化技巧二•jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径•JAVA中String的深入研究•转载 2016-02-29 19:55:35 · 422 阅读 · 0 评论 -
接口和抽象类的区别
抽象类和接口总结: 定义和实现方式:抽象类:可以有方法申明也可以有实现public abstract class AbstractTest { public void test1() { } public abstract void test2();}public class ExtendAbstractTest1 extends AbstractTest{ p原创 2016-08-11 16:39:16 · 447 阅读 · 1 评论 -
String 如何处理 + 优化
工作日忙于项目的逻辑实现,周六有点时间,从书柜里拿出厚厚的英文版Thinking In Java,读到了字符串对象的拼接。参考着这本书做个翻译,加上自己思考的东西,写上这篇文章记录一下。不可变的String对象在Java中,String对象是不可变的(Immutable)。在代码中,可以创建多个某一个String对象的别名。但是这些别名都是的引用是相同的。比如s1和s2都是”d转载 2016-08-13 12:41:56 · 1045 阅读 · 0 评论 -
Java多态学习笔记
一、多态的概念 即“一个接口,多种实现”,在父类中声明的方法,可以在子类中进行覆盖(声明为finial的除外)这样,父类的引用在引用子类对象的时候可以做出不同的响应。所以,多态也可以说成是:相同的消息被发送到子类或父类对象上,将导致完全不同的行为。也是指有继承关系的向上转型和向下转型多态允许将子类的对象当作父类的对象使用,某父类型的引原创 2016-09-04 18:50:25 · 485 阅读 · 0 评论 -
try和finally中同时有return,返回顺序是怎样
try {}里有一个return语句,finally {}里的code会不会被执行,什么时候被执行,在return前还是后? try {}和finally{}里都有return语句,那么finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 也许你的答案是在return之前,但往更细地说,我的答案是在return中间执行,请看下面程序代码的运行结原创 2016-08-13 16:38:58 · 1184 阅读 · 0 评论 -
Java异常学习笔记
1.异常处理机制Java中将有可能会出现异常的代码块放到try{}中,当执行时try中的代码真的出现异常,则系统会自动生成一个异常对象,该异常对象提交给Java运行环境,这个过程被称为抛出异常(throw).当Java运行环境收到异常对象,会寻找该异常对象对应的catch块,如果找到就进行处理,这个过程被称为捕获异常。如果没有找到,则程序结束。2.异常的继承体系: Java原创 2016-08-14 19:19:40 · 389 阅读 · 0 评论 -
从源码解析HashMap与HashTable的不同
主要是总结,毕竟源码大家都有。相同点:1.都实现了map接口,查找存放位置时都用来hash值计算2.hashtable 实现的是map接口,必须要实现的方法是hash和equals方法 3.rehash时,newCapacity的计算方式是一样的 int newCapacity = (oldCapacity 不同点:1.hashmap继承自Abstrac原创 2016-08-06 10:38:53 · 425 阅读 · 0 评论 -
java并发编程知识点总结
也之前一篇多线程文章类似,这里没有什么逻辑顺序就是一些知识点,也不是很深入。1、不是有越多的线程程序运行的越快,因为在并发编程时,会有更多的上下文切换,死锁等问题。2、上下文切换:CPU通过时间片 分配算法来循环执行任务,当前任务执行完一个时间片之后会切换到下一个任务,但是又要保存上一个任务的状态,以便下一次可以加载到上一状态,所以任务从保存到在加载的过程叫做上下文切换。3、如原创 2016-08-05 23:57:04 · 531 阅读 · 0 评论 -
Integer自动缓存池大小
之前一直看资料有写,当一个int类型的数据128时,比较就不相等了。public class Test { public static void main(String[]args ){ int i = 128; Integer i2 = 128; Integer i3 = new Integer(128); //原创 2016-08-05 08:24:28 · 2523 阅读 · 0 评论 -
Java 基本类型大小与封装类
在Java中,数据类型可以分为两大种,Primitive Type(基本类型)和Reference Type(引用类型)。基本类型的数值不是对象,不能调用对象的toString()、hashCode()、getClass()、equals()等方法。所以Java提供了针对每种基本类型的包装类型。如下:那么你可能会问Boolean占多少字节呢? 虽然定义了boolea原创 2016-08-05 00:06:10 · 882 阅读 · 0 评论 -
hash冲突解决办法
哈希法又称散列法、杂凑法以及关键字地址计算法等,相应的表称为哈希表。这种方法的基本思想是:首先在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元;以后当查找关键字为k的元素时,再利用哈希函数计算出该元素的存储位置p=f(k),从而达到按关键字直接存取元素的目的。 当关键字集合很转载 2016-08-15 10:27:04 · 377 阅读 · 0 评论 -
代理模式应用之Hibernate延迟加载
Hibernate的延迟加载 ---使用了代理模式代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象时,客户端实际上也不关心是否准确得到该对象,它只要一个能提供该功能的对象即可,此时我们就可返回该对象的代理(Proxy)。在这种设计方式下,系统会为某个对象提供一个代理对象,并由代理对象控制对源对象的引用。代理就是一个 Java 对象代表另一个 Java 对象来采取行原创 2016-08-21 16:22:17 · 1077 阅读 · 0 评论 -
Java设计模式-代理模式
代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理分为静态代理和动态代理:静态代理:一个简单的例子:你Client去租房Rent,可是你找不到host,那你怎么办你找中介Proxy,此时这个中介就是代理。上面每一个独对象代表一个类,Rent.javapublic interface Rent() { public vo原创 2016-08-03 15:55:31 · 259 阅读 · 0 评论 -
Java类加载机制和反射机制
类加载在class文件中的描述信息都需要加载到jvm才能运行和使用。jvm的类加载机制:jvm把描述类的数据从class文件中加载到内存,并对数据进行校验,转换解析,和初始化,最终形成被jvm使用的Java类型。生命周期:加载-》验证-》准备-》解析-》初始化-》使用-》卸载加载到初始化都是在程序的与运行期间完成的。验证,准备,解析也叫连接过程,Java的特原创 2016-08-18 17:01:50 · 3380 阅读 · 0 评论 -
Java中内存分配及堆栈比较
一、java中内存分配策略及堆和栈的比较1、内存分配策略a.按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无原创 2016-03-02 21:41:38 · 388 阅读 · 0 评论 -
Java设计模式之简单工厂模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明: 就拿登录功能来说,假如应用系统需要支持多种登录方式如:口令认证、域认证(口令认证通常是去数据转载 2016-03-08 20:52:36 · 335 阅读 · 0 评论 -
ConCurrentHashMap 知识点总结
通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的hash table,它们有自己的锁。只要原创 2016-07-28 22:00:03 · 879 阅读 · 0 评论 -
多线程知识点简单总结
一、进程与多线程的概念及线程的优点进程:操作系统的基本运行单元,是程序的一次执行。线程:在进程中独立运行的子任务。Eg:QQ是一个进程,则好友视频,下载文件,数据传输等都是线程。单任务:排队执行,一个时间就一个线程执行,也就是同步。多任务:一个时间有多个线程同时执行,也就是异步。二、多线程讲解1.线程的创建一种是继承Thread类,,另一种是实现Ru原创 2016-07-28 23:53:45 · 410 阅读 · 0 评论 -
java 内存模型(JMM)简介
转载地址:http://364434006.iteye.com/blog/1810816JMM:Java Memory Model(Java内存模型),围绕着在并发过程中如何处理可见性、原子性、有序性这三个特性而建立的模型。可见性:JMM提供了volatile变量定义、final、synchronized块来保证可见性。例如:线程a在将共享变量x=1写入主内存的时候转载 2016-07-28 21:10:54 · 436 阅读 · 0 评论 -
Java中equals与== 的区别
首先介绍Java中的数据类型可分为两类:1.基本数据类型,也称原始数据类型,byte,short,char,int,long,float,double,boolean 他们之间的比较,用等号(==)或者equals的结果都一样,,比较的是他们的值,同时也包括基本类型和包装类型的比较。 例如:Integer a =10 ,int b= 10; 则 a==b 与 a.equal原创 2016-03-02 19:33:36 · 405 阅读 · 1 评论 -
Java设计模式-模板方法模式详解
原文地址http://blog.csdn.net/lovelion/article/details/82997941. 模板方法模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在转载 2016-08-03 22:49:07 · 374 阅读 · 0 评论 -
Java设计模式--单例模式
单例模式单例定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,论坛中的帖子计数器,每次浏览一次需要计数,单态类能保持住这个计数,并且能synchronize的安全自原创 2016-08-01 15:41:19 · 250 阅读 · 0 评论 -
Java源码解读-ArrayList
写在前面本文是针对Java 1.8的源代码进行解析的,可能会和其他版本有所出入。转载自http://blog.csdn.net/ljcitworld/article/details/52041836全局变量1. 默认容量[java] view plain copy print?private static final int DE转载 2016-08-04 22:05:37 · 1838 阅读 · 1 评论 -
java设计模式-原型模式
原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。原型模式有两种实现方法:一种是简单的创建模式。一种是登记式的。同时Java中的提供c原创 2016-08-03 09:19:22 · 268 阅读 · 0 评论 -
HashCode学习笔记
HashCode定义 (1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode是用来在散列存储结构中确定对象的存储地址的;(2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同;(3)如果对象的equals方法被重写,那么对象的HashCode也尽量重写,并且产生Has转载 2016-08-14 19:57:01 · 587 阅读 · 0 评论