自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程2(线程的生命周期)

当线程被创建并启动以后,它即不是一启动就进入执行执行状态,也不是一直处于执行状态,在线程的生命周期中,他需要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。尤其是当前线程启动以后,它不可能一直“霸占”着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。    1、新建和就绪状态

2016-01-27 16:10:13 509

原创 多线程1(线程的创建和启动)

Java 使用Thread 类来代表线程,所有的线程对象都必须是Thread 或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺寻执行的代码)。Java 使用线程执行体来代表这段程序流。    1、继承Thread 类创建线程类    通过继承Thread 类来创建并启动多线程的步骤如下:    ① 定义Thread 类的子类,并创建该类的run()方法,

2016-01-27 16:07:38 621

原创 Java集合(实现类线程安全性)

1、集合和Map    下图是Java集合的Collection集合体系的继承树:    下图是Java的Map体系的继承树:    对于Set、List、Queue和Map四种集合,最常用的是HashSet、TreeSet、ArrayList、ArrayQueue、LinkedList和HashMap、TreeMap等实现类。    其中Vector、

2016-01-22 23:27:50 13268 2

原创 String、StringBuffer和StringBuilder类

字符串就是一连串的字符序列,Java 提供了String 和StringBuffer 两个类来封装字符串,并提供了一系列方法来操作字符串对象。    String类时不可变类,即一旦一个String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直到这个对象被销毁。    StringBuffer 对象则代表一个字符串序列可变的字符串,当一个StringBuffer 被创建以后,

2016-01-22 23:25:03 449

原创 线程相关类(ThreadLocal类)

ThreadLocal,是Tread Local Varcable(线程局部变量)的意思。线程局部变量(ThreadLocal)的功能其实非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本(ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本),而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量一样。    ThreadLocal 类的用

2016-01-22 16:46:05 432

原创 Java泛型

1、泛型使用:    在Java 7 以前,如果使用带泛型的接口、类定义变量,那么调用构造器创建对象时构造器的后面也必须带泛型,这显得有些多余了。例如如下两条语句:    List strList = new ArrayList(); Map scores = new HashMap();    从Java 7开始,Java允许在构造器后不需要带完整的泛型信息,只要给

2016-01-20 22:13:56 470

原创 Java中的修饰符说明(public,private,protected,default,final,abstract,static)

public(公共访问权限):这是一个宽松的访问控制级别,如果一个成员(包括成员变量、方法和构造器等)或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类(注:在该类外部,若是类成员,则需要类调用成员或外部类;若是非static的类,则应先实例化后,对象对其调用)访问,不管访问类和被访问类是否处于同一个包中,是否具有父子继承关系。   private(当

2016-01-20 17:25:38 5104 1

原创 使用Proxy和InvocationHandler创建动态代理

Proxy提供了用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类。如果在程序中为一个或多个接口动态的生成实现类,就可以使用Proxy来创建动态代理类;如果需要为一个或多个接口动态地创建实例,也可以使用Proxy来创建动态代理实例。    Proxy提供了如下两个方法来动态创建代理类和动态代理实例。(1)    static Class getProxyClass(Cl

2016-01-10 15:47:05 514

原创 SQL 99 的连接查询(左外连接、右外连接、全外连接。。。)

SQL 99的连接查询与SQL 92 的连接查询原理基本相似,不同的是SQL 99 连接查询的可读性更强——查询用的多个数据表显式使用xxx join连接,而不是直接依次排列在from之后,from后只需要放一个数据表;连接条件不再放在where之后,而是提供了专门的连接条件子句。    创建两个表:drop database if exists select_test;crea

2016-01-04 09:49:19 2907

原创 关于Eclipse中main(String[] args)中参数配置的问题

在Robert Sedgewick的《算法》(第四版)中第28页中对于二分查找中在命令窗口中用java BinarySearch tinyW.txt 如果是在Run as -> Run Configurations -> Arguments -> Program arguments中直接配置tinyW.txt (1) Program arguments中设置 tinyW.txt参数:

2015-12-26 15:24:15 1093

原创 Struts2的学习(5)-使用PrepareInterceptor和Preparable接口

关于PrepareInterceptor对应的源码分析:com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptorpublic String doIntercept(ActionInvocation invocation) throws Exception { // 获取实例

2015-12-24 15:21:50 1870

原创 Struts2的学习(4)-使用paramsPrepareParamsStack拦截器栈

使用paramsPrepareParamsStack拦截器栈:(1) paramsPrepareParamsStack和defaultStack一样都是拦截器栈,而Struts-default包默认使用后者。(2) 可以在struts配置文件中通过以下方式修改使用的默认的拦截器栈。 /{

2015-12-23 23:18:18 846

原创 Struts2的学习(3)-ModelDriven接口的应用

1.现在我们有EmployeeAction的Action类如下:package com.yu.struts2.app;import java.util.Map;import org.apache.struts2.interceptor.RequestAware;public class EmployeeAction implements RequestAware { 

2015-12-22 23:06:28 431

原创 Struts2的学习(2)--Action类成员变量怎么获取表单属性值

我们现在讨论这样一个问题:Action类里面的成员变量是怎么通过表单传进来的?1.有这样一个Action类:EmployeeAction.javapackage com.yu.struts2.app;import java.util.Map;import org.apache.struts2.interceptor.RequestAware;public c

2015-12-22 21:05:30 677

原创 Struts2的学习(1)--Struts2.xml文件的配置

struts.xml文件的配置        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd">            package:包。struts2使用package来组织模块

2015-12-22 21:01:54 336

空空如也

空空如也

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

TA关注的人

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