自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 线程 进程

进程、线程、并发执行首先我们先来认识一下进程、线程、并发执行的概念:  一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多次执行。实际上,这样的代码块就是线程体。线程是进程中乱序执行的代码流程。当

2015-05-26 17:02:29 453

原创 线程与进程的区别

进程(Process):是计算机中的程序关于某数据集合上的一次远行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早起面向进程设计的计算机结构中,基础是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器,程序是指令,数据及其组织形式的描述,进程是程序的实体。\线程: 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流

2015-05-26 16:28:15 298

转载 装饰模式

定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。  要点:装饰者与被装饰者拥有共同的超类,继承

2015-05-23 23:03:17 257

转载 IO 流

Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 输出流: 输入流:因此输入和输出都是从程序的角度来说的。字节流:一次读入或读出是8位二进制。字符流:一次读入或读出是16位二进制。字节流和字符流的原理是相同的,只不过

2015-05-23 22:21:19 360

转载 java 内部类

内部类本文主要参照网上的一些相关文章、以及thinking in java 第三版,对java里面的内部类进行了一个较为详细的总结内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静

2015-05-18 22:43:01 296

原创 反射机制和内省机制的区别

1.什么是反射反射就是在运行状态把 Java 类中的各种成分映射成相应相应的 Java 类,可以动态得获取所有的属性以及动态调用任意一个方法。1).一段java代码在程序的运行期间会经历三个阶段:source-->class-->runtime2).Class对象在java中用一个Class对象来表示一个java类的class阶段Class对象封装了一个java类定义的成员变量

2015-05-14 22:40:27 534

转载 java 注解

本文将向你介绍J2SE5.0中的新特性之一:注解。本文将从什么是注解;J2SE5.0中预定义的注解;如何自定义注解;如何对注解进行注解以及如何在程序中读取注解5个方面进行讨论。  一、什么是注解    说起注解,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE

2015-05-14 21:48:23 293

原创 代理模式 静态代理和动态代理的区别

静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类静态代理事先知道要代理什么东西,而动态代理不知道要代理什么,只有在运行的时候才知道,动态代理是实现JDK里的InvocationHandler接口的invoke方法,但是要注意的是代理的是接口,也就是你的业务类必须要实现接口,通过Proxy里的newProxyInstance得到代理对象。还有一种代理CGLIB,代理的是类,不需

2015-05-13 20:06:43 613

转载 代理模式

1.代理模式代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任

2015-05-12 22:21:24 299

转载 java反射笔记

要想使用反射,首先需要获得待处理类或对象所对应的Class对象。2. 获取某个类或某个对象所对应的Class对象的常用的3种方式:a) 使用Class类的静态方法forName:Class.forName(“java.lang.String”);b) 使用类的.class语法:String.class;c) 使用对象的getClass()方法:String s = “aa”; Cl

2015-05-10 22:43:08 404

转载 java 反射

关于java反射之前也用到过,去了解一下发现网上也有很多写的很好的博客和例子,觉得看他们的就行了,没必要自己再写。但过一段时间以后,再用反射的时候发现好多都忘了,记不得了,还得重新去看,这才决定自己再用自己的理解总结一下,以方便自己记忆。1、理论介绍:java是先编译在解释的语言。java代码的运行过程是:java代码经过编译器变为字节码,即*.class的文件。字节码加载到虚拟机中变成机

2015-05-09 23:57:15 345

原创 java 枚举

lesson 81:当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。2. Integer类有一个缓存,它会缓存介于-128~127之间的整数。3. 可变参数:可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数

2015-05-09 23:55:44 294

原创 策略模式题

题目要求:/** * 有这样一个类 * public class Person * { *     private int age; *  private String name; *  private int id; * } *     // getter and setter     * 要求:假如有若干个类Person 对象存在一个List 当

2015-05-08 21:51:52 370

转载 java泛型

1. 概述在引入范型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型就可以在细分成更多的类型。例如原先的类型List,现在在细分成List, List等更多的类型。注意,现在List, List是两种不同的类型,他们之间没有继承关系,即使String继承了Object。下面的代码是非法的    List ls = new Arra

2015-05-08 20:26:18 384

转载 java 构造方法

构造方法和实例方法的区别一、主要的区别在于三个方面:修饰符、返回值、命名1、和实例方法一样,构造器可以有任何访问的修饰符,public、private、protected或者没有修饰符   ,都可以对构造方法进行修饰。不同于实例方法的是构造方法不能有任何非访问性质的修饰符修饰,例如static、final、synchronized、abstract等都不能修饰构造方法。解释:构造方

2015-05-08 19:50:13 438

转载 100层鸡蛋最优解

两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。 最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?================================================= 对于这个问题,如果从编程角度而言,最简单的思路是用动

2015-05-06 20:29:39 1423 1

转载 google 趣事面试题

很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。我第一家面试的公司叫做gofish.com,据我

2015-05-06 20:22:22 393

转载 集合框架面试

java.util包中就包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式。Java2的集合框架,抽其核心,主要有三种:List、Set和Map。如下图所示:方法/步骤集合类特性(几个常用类的区别)ArrayList: 元素单个,效率高,多用于查询  Vector: 元素单个,线程安全,

2015-05-06 20:06:26 349

转载 集合总结

数组与集合的共同点和区别集合框架--Set元素存取无序不可重复无索引Iterator 接口Stack 是 Vector的子类泛型Map 接口Collections 类关于数组 集合的总结 一 、集合架构数组与集合的共同点和区别相同点:数组或集合都是容器都可以存储对象 区别是:    --数组是长度固定的,一旦指定长度则不能再改变;数组除了可以存储对象,还

2015-05-01 16:21:06 727

转载 Map.Entry

Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/valuepairs)。该接口描述了从不重复的键到值的映射。  (1) 添加、删除操作:  Object put(Object key, Object value):将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在

2015-05-01 15:40:47 529

转载 递归算法

一、基本概念            递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解。递归算法,其实说白了,就是程序的自身调用。它表现在一段程序中往往会遇到调用自身的那样一种coding策略,这

2015-05-01 11:37:18 636

空空如也

空空如也

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

TA关注的人

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