java系列
Jo__yang
这个作者很懒,什么都没留下…
展开
-
java抽象类
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。 比如:我们要描述“水果”,它就是一原创 2014-08-22 17:01:03 · 591 阅读 · 0 评论 -
Java设计模式之工厂方法模式
Java设计模式之工厂方法模式上一篇讲解了简单工厂模式,下面讲解简单工厂模式的升级版,工厂方法模式。工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产原创 2016-09-20 10:59:51 · 576 阅读 · 0 评论 -
Java设计模式之抽象工厂模式
上两篇讲解了简单工厂模式和工厂方法模式,下面讲解工厂模式的最后一个抽象工厂模式随着客户的要求越来越高,宝马车需要不同配置的空调和发动机等配件。于是这个工厂开始生产空调和发动机,用来组装汽车。这时候工厂有两个系列的产品:空调和发动机。宝马320Li系列配置A型号空调和A型号发动机,宝马520Li系列配置B型号空调和B型号发动机。概念:抽象工厂模式(Abstract Factory Pattern):提原创 2016-09-20 11:12:07 · 678 阅读 · 0 评论 -
Cookie和Session机制
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。什么是CookieCookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、F原创 2016-10-24 20:26:54 · 692 阅读 · 0 评论 -
Java Annotation 简析(二)
在上一篇文章解析了java Annotation的概念和基本用法,再简单回顾下注解的作用: a.生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等 b. 标记,用于告诉编译器一些信息,比如 @Override等, c. 编译时动态处理,如动态生成代码 d. 运行时动态处理,如得到注解信息上篇文章演示了处理运行时动态处理注解,这篇文件讲解注原创 2016-10-04 23:16:11 · 1691 阅读 · 0 评论 -
Javascript学习笔记二
JavaScript 对象JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。对象是拥有属性和方法的数据。创建新对象有两种不同的方法: 1. 定义并创建对象的实例 2. 使用函数来定义对象,然后创建新的对象实例创建直接的实例本例创建名为 “person” 的对象,并为其添加了四个属性:person=new Object();person.firstname="Bil原创 2016-11-09 16:06:10 · 928 阅读 · 0 评论 -
Java设计模式之---装饰者模式
装饰者模式装饰者模式(Decorator Pattern)也称为包装模式(Wrapper Pattern),结构型设计模式之一。动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。设计原则:多用组合,少用继承。 利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类原创 2016-10-20 14:29:59 · 751 阅读 · 0 评论 -
Java设计模式之观察者模式
观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 观察者模式的结构一原创 2016-11-20 10:19:07 · 886 阅读 · 0 评论 -
Java HashMap 核心源码解读
一.概述在Java中每一个对象都有一个哈希码,这个值可以通过hashCode()方法获得。hashCode()的值和对象的equals方法息息相关,是两个对象的值是否相等的依据,所以当我们覆盖一个类的equals方法的时候也必须覆盖hashCode方法。例如String的hashCode方法为:public int hashCode() { int h = hash; if (h =原创 2017-01-01 00:19:20 · 583 阅读 · 0 评论 -
JVM GC 原理与垃圾收集器简析
JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收。何时分配在概念上可简单认为new时分配怎样分配- JVM内存分配策略对象分配优先在Eden区分配优先在Eden区分配,如果启用了本地线程分配缓冲, 则优先在TLAB上分配, 少数情况能会直接分配在老年代, 或被拆分成标量类型在栈上分配(JIT优化). 分配的规则并不是百分百固定, 细节主要取原创 2017-01-13 22:12:59 · 750 阅读 · 0 评论 -
String ,StringBuffer和StringBuilder最佳用法
String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。 字符串为对象,那么在初始化之前,它的值为null,到这里就有必要提下””、null、new Str转载 2016-06-14 19:56:25 · 1697 阅读 · 2 评论 -
Dagger2使用简析
是时候学习dagger2了原创 2016-09-22 16:32:21 · 1994 阅读 · 0 评论 -
Java设计模式之简单工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 比如你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例;在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作。模式的问题:你如何能轻松方便地构造对象实例,而不必关心构造对象原创 2016-09-17 23:51:58 · 815 阅读 · 0 评论 -
使用匿名类直接new接口
public interface callBackListener{ public abstract void set(int x); }原创 2014-08-27 10:16:25 · 1185 阅读 · 0 评论 -
Java 实例化类的方法
Java 实例化类的方法 Java中,类的实例化方法有四种途径:1)使用new操作符2)调用Class对象的newInstance()方法3)调用clone()方法,对现有实例的拷贝4)通过ObjectInputStream的readObject()方法反序列化类转载 2014-08-19 11:49:05 · 974 阅读 · 0 评论 -
java实例化对象的过程
java实例化对象的过程 学习JAVA这门面向对象的语言,实质就是不断地创建类,并把类实例化为对象并调用方法。对于初学JAVA的人总搞清楚对象是如何实例化的,假如类之间存在继承关系,那就更糊涂了。下面我们通过两个例题来说明对象的实例化过程。 编译并运行该程序会有以下输出 Static Block Employee Company:chi转载 2014-08-19 12:25:44 · 966 阅读 · 0 评论 -
java 关键字
java 关键字原创 2014-10-29 22:32:57 · 489 阅读 · 0 评论 -
Java泛型编程最全总结
1介绍Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。下面是一个不用泛型例子:List myIntList=new LinkedList(); //1myIntList.add(newInteger(0)); //2Integer x=(Integer)myIntList.iterator().next(); //3注意第3行代码转载 2015-03-11 14:07:37 · 1726 阅读 · 0 评论 -
Java内部类详解
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有转载 2016-04-12 16:27:42 · 517 阅读 · 0 评论 -
java动态代理
一、代理概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。图1:代理模式从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”字结构转载 2016-05-26 17:12:31 · 454 阅读 · 0 评论 -
Java代理模式
1. 简介代理模式(Proxy Pattern)是GoF 23种Java常用设计模式之一。代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个对象的访问)。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对转载 2016-05-26 15:45:11 · 368 阅读 · 0 评论 -
Java虚拟机结构分析
本博文主要介绍了JVM(Java Virtual Machine)的组成部分以及它们内部的工作机制和原理。需要注意的是,虽然平时我们用的大多是Sun(现已被Oracle收购)JDK提供的JVM,但是JVM本身是一个规范,所以可以有多种实现,除了Hotspot外,还有诸如Oracle的JRockit、IBM的J9也都是非常有名的JVM。1. 结构下图展示了JVM的主要结构:转载 2016-06-03 12:32:53 · 397 阅读 · 0 评论 -
【深入Java虚拟机】之一:Java内存区域与内存溢出
本文转载自:http://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储转载 2016-06-18 14:51:16 · 362 阅读 · 0 评论 -
如何设计实现一个LRU Cache?
1. 什么是LRU Cache?在LeetCode上看到一个LRU Cache实现的题目,题目描述是这样的: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set. get(key)原创 2017-02-19 21:16:03 · 1436 阅读 · 0 评论