自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白的博客

拼搏成就梦想,奋斗成就辉煌

  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 Servlet工作原理初识

1. Servlet容器 Servlet是运行Servlet容器的基础之上的,所以了解Servlet工作原理就得先从Servlet容器说起,以Tomact为例: 在Tomact容器等级中,Context容器直接管理Servlet在容器中的包装类Wrapper,每个Context对应一个Web项目,所以Context如何运行直接影响到Servlet的运行。 1

2017-06-23 21:07:15 941

原创 类加载机制初步认识

1.类加载顺序 类从被加载到虚拟机内存中开始,到卸载出内存为止。整个生命周期包括了:加载,验证,准备,解析,初始化,使用和卸载。其中验证,准备和解析三个部分统称为连接。加载,验证,准备,初始化和卸载的顺序是确定的,而解析阶段则不一定:它在某些情况可以在初始化后阶段之后在开始,这是为了支持Java语言的运行时绑定。 2.类加载的过程 2.1 加载阶段 在

2017-03-02 20:14:43 237

原创 JDK并发容器初步认识

JDK为我们提供了很好的线程安全的容器,包括以下几种: ConcurrentHashMap:是一个高效并发的HashMap。可以理解为一个线程安全的HashMap. CopyOnWriteArrayList:是一个并发的list,在读多写少的场合下,性能远远好于Vector. ConcurrentLinkedQueue:高效的并发队列,使用链表实现,可以看做一个线程安全的LinkedList。

2017-02-28 22:22:39 260

原创 线程池初步认识

1.什么是线程池 为了避免系统频繁地创建和销毁线程,消耗系统资源,我们可以让创建的线程进行复用。就如同数据库的连接池一样,当系统需要用到数据库时,并不是创建一个新的连接,而是从连接池中获取一个连接。线程也类似,当需要用到线程时就可以去池子中拿一个空闲线程,用完之后就“还”给线程池,通过这种方式可以节约不少创建和销毁线程的时间。 2.JDK对线程池的支持 Executor结构图:

2017-02-26 13:55:16 267

原创 Java垃圾回收机制初步了解

1.判断对象是否已死 1.1引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;每当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用。 1.2根搜索算法 基本思路:通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜

2017-02-23 18:04:36 281

原创 JAVA内存区域

1. Java内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,分别是:方法区,虚拟机栈,本地方法栈,堆,程序计数器。 **程序计数器:**是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖计

2017-02-23 16:26:39 252

原创 Java线程安全初步了解

1.线程安全的定义 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。这个定义很严谨,它要求就线程安全的代码都具备一个特征:代码本身封装了所有必要的正确性保障手段,令调用者无须关心多线程的问题,更无须自己实现热河措施来保证多线程的

2017-02-21 22:02:16 188

转载 Java内存模型

1. 概述   多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性   由于计算机

2017-02-20 17:03:08 218

转载 java并发编程入门:synchronized 与 Lock 的那点事

此篇转载文章只说明了synchronized和Lock的应用,具体两者之间的区别,IBM这篇文章不错http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.htmlsynchronized和Lock应用举例转自:http://www.cnblogs.com/benshan/p/3551987.html最近在做一个监控系统,该系统主要包括对

2017-02-20 13:37:07 193

原创 策略模式

策略模式(Strategy):它定义了算法家族,分别封装起来,让它们可以互相兑换,此模式让算法的变化不会影响到使用算法的客户。 策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中需要在不同实践应用不同的业务规则,就可以考虑用策略模式。策略模式UML: 超市收费示例://策略接口public interface CashierAlg {/

2016-12-18 16:10:40 213

原创 简单工厂模式

简单工程模式的UML图: 工厂角色:这是简单工厂模式的核心,由它负责创建所有的类的内部逻辑。当然工厂类必须能够被外界调用,创建所需要的产品对象。 抽象产品角色:简单工厂模式所创建的所有对象的父类,注意,这里的父类可以是接口也可以是抽象类,它负责描述所有实例所共有的公共接口。 具体产品角色:简单工厂所创建的具体实例对象,这些具体的产品往往都拥有共同的父类。下面一个关于计算器的例子

2016-12-18 14:52:06 477

原创 快速排序

快速排序是一种最简单的排序算法,原理:首先找到素组中最小的那个元素,其次将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置。如此往复,知道将整个数组 排序 代码如下: Template类ublic class Template { //排序算法 @SuppressWarnings("a

2016-12-17 18:21:09 242

原创 Java泛型

泛型是从jdk1.5开始有的,在jdk1.5中,java.util包中的集合类都已经被泛化了。泛型允许对类型进行抽象,泛型的本质是类型参数化,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类,接口和方法的创建中,分别称为泛型类,泛型接口,泛型方法。自定义泛型类package Test;import java.util.Vector;import sun.applet.Main;c

2016-11-26 21:58:17 390

原创 类的加载顺序,初始化块

在此先介绍一下初始化块:初始化块是java类里的一个成员,但它没有名称,也就没有标识,因此无法通过类和对象类调用。初始化块只能在创建对象时自动执行而且在构造方法之前执行。了解初始化块之后请看一下代码

2016-11-14 16:04:17 203

原创 链表排序:冒泡和插入

1.首先定义一个结构体,用于存储排序的数据typedef struct num{ int num; struct num *next;}NUM;2.生成链表,这里采用的是尾插法 NUM *p=NULL,*pr=head; int num[] = {-10,5,1,10,7,2,90,1,12,45,52,80,-4,2,99}; int i; fo

2016-11-12 13:45:31 274

原创 Spring mvc 处理ajax请求

1.在页面上最好不要用submit触发ajax,因为这样会很容易出问题,今天学习的时候就遇到了触发不了ajax的问题。所以最好用button来触发。 2.若想利用ajax提交form表单,则可以在ajax的data属性中提供form表单的序列化,如: data:$('#formId').serialize() 3.若要用submit提交信息,则可以用: $('#formId').

2016-10-30 16:56:13 5354

原创 Quartz的学习

1.Quartz对任务调度的领域问题进行了高度抽象,提出了调度器,任务和触发器这3个和性概念。 2.Quartz的基础结构: Job:是一个接口,只有一个方法void execute(JobExecutionContext jobContext) ,开发者实现该接口定义需要执行的任务。 JobExecutionContext提供了调度上下文的各种信息。Job运行时的信息都保存在JobDataMa

2016-10-23 21:34:42 451

原创 JAVA学习笔记(一)

1.类也是一种数据类型,是一种自定义的数据类型,可以使用类来定义变量,这种变量称为引用数据类型变量。 2.构造方法是一个类创建对象的根本途径,如果没有自定义一个构造方法,那么系统将自定义一个无参的构造方法。 3.this关键字调用的是类里的元素,如下:public class Test1 { private int temp; public static void main(St

2016-08-29 00:13:10 369

空空如也

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

TA关注的人

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