2017-03-01 11:38:32
java线程(一)—线程状态及属性详解
在操作系统中,我们通过分时的方法在CPU上不断地切换处理多个进程任务,给人并行处理的感觉,这种方法在操作系统中叫做多任务。多任务在较低层次上扩展出多线程的概念,也就是指一个程序同时执行多个线程。这种可以同时运行一个以上的线程的程序,我们叫做多线程程序。(一)创建线程1.创建线程实例百闻不如一见,与其先说线程的各种状态,不如我们先直接演示如何创建一个新的线程。package Thread;/** *
1871
2017-03-01 11:44:04
java—用泛型参数类型构造数组
前一阵子打代码的时候突然想到一个问题。平时我们的数组都是作为一个参数传入方法中的,如果我们要想在方法中创建一个数组怎么样呢?在类型明确的情况下,这是没什么难度的。如果我们传入的参数是泛型类型的参数呢?public static T[] creArray (T obj){ T[] arr = new T[10];}像上面这种用T来直接new数组的方法是错误的,会编译时出现一
2219
2017-03-01 11:45:56
java拷贝机制详解
在java中,拷贝分为深拷贝和浅拷贝两种。java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定义的clone方法为深拷贝。(一)Object中clone方法如果我们new出一个新对象,用一个声明去引用它,之后又用另一个声明去引用前一个声明,那么最后的结果是:这两个声明的变量将指向同一个对象,一处被改全部被改。如果我们想创建一个对象的co
1475
2017-03-01 11:53:13
java集合(一)—数据结构详解
当我们要处理一串数据的时候,相比较c++和c中的数组和指针,在Java中我们更为常用的是ArrayList、HashMap等集合数据结构。c语言对指针的支持成就了他的深度,而Java中多种多样的包装类成就了他的广度。在java中,我们一般将List、Map、Set等数据结构通归为集合数据结构,这些类都存在于集合类库中。(一) 集合接口1.集合的接口和实现分离与其他的数据结构类库相
2022
2017-03-01 11:56:28
java集合(二)—集合框架与算法详解
框架是指一个类的集,在集中有很多超类和接口,这些超类中实现了很多高级的机制、功能和策略。框架的使用者可以创建子类来实现和扩展超类,而不用来重新创建这些基本的机制。在日常工作中,我们用到的技术基本都是框架,我们去使用那些包,去调用那些函数时都会用到这种框架的思想。在集合(一)中分析完集合的数据结构,今天我们就一起来继续讨论一下集合的框架。(一)集合数据结构回顾 基本
1695
2017-03-01 13:08:59
java内部类详解
java内部类是指一个类定义在另一个类的内部,其中的方法可以访问包含他们外部类的域。这是一种比较复杂的技术,内部类的主要用于设计那些有协作性关系的类之间。特别是在java处理GUI事件中得到了广泛的应用。除此之外,内部类最常用的原因有以下几点: 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据 内部类可以对同一个包中的其他类隐藏起来 用匿名内部类来定义回调函数会方便很
2219
2017-03-01 13:13:31
java泛型综合详解
在日常生活中,我们经常用到泛型,但是泛型数据有些时候会报一些莫名其妙的错,而且一些通配符等语法、泛型在虚拟机中的真正操作方式也有我们值得研究之处,今天我们就一起来讨论一下泛型。(一) 创造在java增加泛型之前,当年都是用继承来处理现在用泛型操作的程序的。ArrayList files = new ArrayList();String filename = (String) files.get(
1934
2017-03-01 13:19:06
java糖衣语法(Syntactic Sugar)详解
糖衣语法,也叫做语法糖。最开始是英国计算机学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。语法糖是指某一类语法,这类语法通过一些简单的包装,让代码变得简洁、可读性好,并在编译时通过“解语法糖”的方式,在功能不变的情况下用简单语法来通过编译。 正如其名,语法糖就像是一层糖衣,通过这层糖衣让代码变得简洁。虚拟机并不支持这类语法,在虚拟机运行之前,这类语法就会被编译成更通俗的简单
2664
2017-03-01 13:22:32
java时间----java.util.Calendar的详细介绍
java.util.Calendar在java中时间的类有几个,但是随着Date被渐渐禁用,其中的方法慢慢打上了叉号,我们可以相信Calendar类会是以后的主流时间类,下面我们就一起看一下Calendar类的详细内容,如果有错误欢迎大家指正。(一)实例化Calendar类是一个抽象类,是不能实例化的,那么这个类得到一个日历实例的方法有这么两种: Calendar calendar = Cale
2067
2017-03-01 13:31:02
MySQL中计算索引长度的详情
首先,我们来看一道题目,针对表t,包含了三个字段a、b、c,假设其默认值都非空,现创建组合索引index(a,b,c) 分析select * from t where a=1 and c=1 和select * from t where a=1 and b=1区别?首先创建表分别执行这两条语句发现,两则区别主要是在于key_len上,为什么二则区别不一样呢?我的理解
2526