编程语言篇
文章平均质量分 88
创心coder
记初心,创未来。专注分享技术知识。
展开
-
设计模式-行为模式
设计模式分为:创建模式、结构模式、行为模式 行为模式: (1)Chain of Responsibility-责任链模式 定义:使多个对象都有机会处理请求,从而避免了请求发送者和接受者的耦合关系.将这些对象链成一个链,并沿着该链依次向上发送请求,直到有对象处理该请求为止 来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(cha原创 2016-03-19 20:25:36 · 376 阅读 · 0 评论 -
JVM内存管理
Java虚拟机在执行Java程序时,会把它所管理的内存区域在逻辑上划分为不同的区,具体如下图: 堆(Heap) 堆内存是被所有线程共享(因此在堆上分配内存需要加锁)的一块内存区域,主要用来存放对象的实例,垃圾回收也主要是回收堆的空间。 现在收集器基本都采用分代收集算法,Java堆还可以细分为:新生代(Young Generation)、老年代(Old Generation)和永久代(Pe原创 2016-01-29 16:44:10 · 246 阅读 · 0 评论 -
JVM垃圾收集
JVM垃圾收集 垃圾收集器在对堆进行回收之前,如何判断对象是否”存活“? > 引用计数算法:创建对象时 > 可达性分析算法:通过一系列称为”GC Roots” 的对象作为起点,… … 垃圾收集算法:标记-清除算法(Mark-Sweep)、复制算法(Copying)、标记-整理算法(Mark Compact)原创 2016-02-01 11:13:22 · 285 阅读 · 0 评论 -
JVM源码分析之堆外内存完全解读
JVM源码分析之堆外内存完全解读广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:M转载 2016-02-01 15:19:33 · 356 阅读 · 0 评论 -
Java IO/NIO
在Java程序中,对于数据的输入/输出以”流”(Stream)方式进行 java.io 包定义了多个流类型: 1) 按数据流方向分为 – 输入流和输出流 2) 按数据单位分为 – 字节流和字符流 3) 按功能分为 – 节点流和处理流所有流类型均位于java.io包内,分别继承以下四种抽象流类型: 字节流 字符流 输入流 InputStr原创 2016-02-01 15:40:48 · 980 阅读 · 0 评论 -
Java 多线程
一、线程的基本概念 几乎每种操作系统都支持进程的概念 – 进程就是在某种程度上相互隔离的、独立运行的程序 进程 是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程 是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某原创 2016-02-01 15:41:11 · 311 阅读 · 0 评论 -
JVM虚拟机执行子系统
虚拟机类加载机制:代码编译的结果从本地机器码转变为字节码,Java编译后产生Class文件,虚拟机把Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可被虚拟机使用的Java类型。类从被加载到内存到卸载出内存,整个生命周期包括以下 7 个阶段原创 2016-02-01 22:05:47 · 388 阅读 · 0 评论 -
Java 容器
Java 容器类类库的用途是”保存对象”,容器API位于 java.util包内,其中分为两个概念不同的集合,如下类图: 图-1 容器相关类图 一、Collection:其元素是一组Object对象序列,不同自接口又有不同的规则、行为(继承和多态的应用,表现不同的行为) 二、Map:一组成对的”键值对”对象,不能有相同的key,一个key对应一个value原创 2016-02-20 20:18:49 · 294 阅读 · 0 评论 -
Java 异常
Java异常是指发生在程序执行过程中错误事件,Java预先定义了很多异常类,Throwable 类是 Java 语言中所有错误或异常的超类,它又可以分为两种类型(两个子类): 1)Error:表示程序在运行期间出现了十分严重、不可恢复的错误,在这种情况下应用程序只能中止运行,(除特殊情况,一般自己不用关心)比如OutOfMemoryError 2)Exception:表示程序本身可以处理的异常,它又分为两大类:原创 2016-02-20 20:23:27 · 243 阅读 · 0 评论 -
Servlet&Jsp
一、Servlet (1)Servlet基础 Servlet是运行在Web服务器或应用服务器,它担当Web 浏览器或其他Http 客户程序发出的请求,数据库或应用程序之间的中间层。 Servlet 的任务是:首先读取客户端发送的数据、隐式HTTP原创 2016-02-22 21:48:16 · 230 阅读 · 0 评论 -
Java 反射
一、Java 反射可以动态的创建和编译对象,获取正在运行的对象的信息。 反射的功能: 1、判断对象所属的类 2、判断对象拥有的成员变量和方法 3、可以调用 private类型的方法 反射的缺点对性能有影响,慢于直接执行相同的操作原创 2016-03-10 10:20:29 · 265 阅读 · 0 评论 -
设计模式-创建模式
设计模式分为:创建模式、结构模式、行为模式 创建模式: (1)Factory-工厂模式 定义:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。由产品类的具体类来决定,将要实例化哪一个产品类。 优点: 1. 良好的封装性,代码结构清晰。要创建一个产品只需要知道产品类的名字,不需要了解产品类的具体实现。 2. 良好的扩展性。要添加一个新的产品,只需要继承抽象产原创 2016-03-19 19:31:40 · 301 阅读 · 0 评论 -
设计模式-结构模式
设计模式分为:创建模式、结构模式、行为模式 结构模式: (1)Proxy-代理模式 定义:为一个对象提供代理,以控制对象的访问. 优点: 1. 代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。 2. 代理对象将被代理对象透明化. 3. 具有较高的扩展性.被代理对象的修改不会影响代理对象及其外部调用. 缺点: 1. 由于在客户端和原创 2016-03-19 20:04:07 · 330 阅读 · 0 评论 -
Java基本类型及其封装类
Java设定了每种基本类型所占存储空间的大小,并且不随机器结构的变化而变化。 基本类型与其包装类的区别 · 基本类型只包含数据,而包装类包含了数据和操作 · 在一个方法中,基本类型变量和引用变量都在栈中,而具体的对象存储在堆中 · 引用变量缺省值为 null,基本类型缺省值与它们的类型有关原创 2016-01-26 16:52:45 · 542 阅读 · 0 评论