- 浏览: 150235 次
- 性别:
- 来自: 成都
最新评论
-
zhuguopei_java:
return name.equals(p.name()) &a ...
1、集合练习 -
392214559:
引用
1、数据结构与算法
文章列表
一、XML约束概述
1、什么是XML约束?
在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为XML约束
2、XML约束的作用
约束xml文档的写法
对xml进行校验
3、常见的XML约束技术
XML DTD(Document Type Definition), ...
一、什么是XML
1、英文全称为Extensible Markup Language,翻译过来为可扩展标记语言。
XML技术是W3C组织发布的,目前遵循的是W3C组织于2000发布的XML1.0规范
2、XML就是一种数据存储格式
这种数据存储格式在存储数据内容的同时 ...
一、Eclipse 的使用
1、工作空间:即存放所开发的java程序的目录。
工作空间路径中不要使用空格和中文字符,防止编码导致的诡异问题。
2、Java命名规范:
所有类都必须有包名
包名全部小写,一般采用公司网址的倒 ...
一、可阻塞的队列
队列包含固定长度的队列和不固定长度的队列
ArrayBlockingQueue,只有put方法和take方法才具有阻塞功能
/**
* java.util.concurrent.ArrayBlockingQueue<E>
* 一个由数组支持的有界阻塞队列。
* 此队列按 FIFO(先进先出)原则对元素进行排序。
* 队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。
* 新元素插入到队列的尾部,队列获取操作则是从队列头部开始获得元素
* 这是一个典型的“有界缓存区”,固定大小的数组在其中保 ...
9、java面试题四
- 博客分类:
- 十、练习/项目
1、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
class Demo
{
public static void main(String[] args) {
System.out.println(new Test().test());;
}
static int test()
{
int x = 1;
...
8、java面试题三
- 博客分类:
- 十、练习/项目
1、序列化接口的id有什么用?
对象经常要通过IO进行传送,让你写程序传递对象,你会怎么做?
把对象的状态数据用某种格式写入到硬盘,Person->“zxx,male,28,30000”?Person,既然大家都要这么干,并且没有个统一的干法,
于是,sun公司就提出一种统一的解决方案,它会把对象变成某个格式进行输入和输出,
这种格式对程序员来说是透明(transparent)的,但是,我们的某个类要想能被sun的这种方案处理,必须实现Serializable接口。
ObjectOutputStream.writeObject(obj);
Object obj = O ...
一、java.util.concurrent.Semaphore
/**
* Semaphore
* 一个计数信号量。
* 从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。
* 每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
* Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。
* 获得一项前,每个线程必须从信号量获取许可,从而保证可以使用该项。
* 该 ...
import java.util.concurrent.*;
public class ExecutorsTest
{
public static void main(String[] args)
{
//ExecutorService threadPool = Executors.newFixedThreadPool(3);//固定大小线程池
//ExecutorService threadPool = Executors.newCachedThreadPool();//根据需要创建线程
ExecutorService threadPool = Execu ...
一、软件包 java.util.concurrent
在并发编程中很常用的实用工具类。
二、java.util.concurrent.Executors
/**
* Executors
* 此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。
* 全是静态方法
*/
public class Executors
{
//返回用于创建新线程的默认线程工厂。此工厂创建同一 ThreadGroup 中 Executor 使用的 ...
一、java.util.concurrent.atomic包
软件包 java.util.concurrent.atomic
类的小工具包,支持在单个变量上解除锁的线程安全编程。
原子操作(automic operation)即不能被线程调度机制中断的操作。原子操作不需要进行同步控制
//类摘要
...
一、java.util.Timer定时器类
/**
* java.util.Timer
* 一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
* 与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。
* 对 Timer 对象最后的引用完成后,并且 所有未处理的任务都已执行完成后,计时器的任务执行线程会正常终止(并且成为垃圾回收的对象)。
* 此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步。
* 此类不 提供实时保证:它使用 Object.wait(long) 方法来 ...
7、java面试题二
- 博客分类:
- 十、练习/项目
1、分析如下代码
class Confusing
{
private Confusing(Object o)
{
System.out.println("Object");
}
private Confusing(double[] dArray)
{
System.out.println("double array");
}
public static void main(String[] args)
{
new Confusing(null);
}
}
...
一、Number类
/**
* Number
* 抽象类 Number 是 BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 类的超类
* Number 的子类必须提供将表示的数值转换为 byte、double、float、int、long 和 short 的方法。
*/
public abstract class Number implements Serializable
{
//以 int 形式返回指定的数值。这可能会涉及到舍入或取整
public abstract int i ...
一、BigDecimal类
/**
* BigDecimal
* 不可变的、任意精度的有符号十进制数
* BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。
* 如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂
* BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。
* toString() 方法提供 BigDecimal 的规范表示形式。
* BigDecimal 类使用户能完全控制舍入行为。
*/
public ...
一、BigInteger类
/**
* BigInteger
* 不可变的任意精度的整数。
* 所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。
* BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。
* 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。
* 算术运算的语义完全模仿 Java 整数算术运算符的语义
* 位移操作的语义扩展了 Java 的位移操作符的语义以允许产生负位 ...