2015年6月

引言

学习Java也有一段时间了,总感觉有些东西学的不是很精通。例如Java内存区域到底是怎么样的?程序是怎么跑的?对象是怎么存放的?这些都影响了我对自己的程序运行的熟悉程度。

- 阅读剩余部分 -

引言

在用hibernate的时候发现idea能自动生成JavaBean,同时带有一些注解,这引起了我的好奇。当在学习Android的时候,我发现XUtils这个工具包中的DBUtils也能够使用类似hibernate的注解。于是乎在java编程思想中找了找有关注解的用法。

- 阅读剩余部分 -

1线程的创建与运行

接口Runnable

覆盖run方法

Thread thread = Thread(Runnable r,String name);
thread.start();

线程信息
thread中包含id name priorty status

priorty中包括1到10,1最低,10最高

status状态有6种:new, runnable, blocked, waiting, time waiting, terminated

线程中断

interrupt()方法会中断线程。产生interrupredexception异常,用isInterrupted()来判断。

线程休眠与恢复

sleep函数也会抛出interruptedexception异常

等待线程终止

当一个线程join()方法被调用,调用所在线程将会挂起,直到被调用线程完成任务

守护线程

Daemon 线程优先级很低,当一个进程里没有其他线程运行的时候,守护线程才运行。

setDaemon方法只能在start前进行调用。

线程中不可控异常处理

非运行时异常,ioexception classnotfoundexception,必须声明throw或捕获

运行时异常,numberformatexception,不需要任何操作

run方法不支持throws所以只能捕获

线程的分组

ThreadGroup tg;
使用工厂类创建线程
接口:ThreadFactory

可以创建个性化的线程,即设置线程信息。

2线程同步

使用synchronized实现同步方法

synchronized可以给类,方法,对象使用,静态方法和动态方法同时使用synchronized,则两个方法能被不同线程同时使用。

同步代码中使用条件

wait()使用时要捕获interruptedexception方法

使用锁同步:

Lock lock = new ReentrantLock();
lock.lock();
lock.unlock();
在锁中使用多条件:
Condition c1 = lock.newCondition();
Condition c2 = lock.newCondition();
c1.await();
c2.signal();

condition必须在lock()和unlock()方法内。

php语言的格式:

<?php
?>

简写为:

<?    ?>

网页重定向至xxx.html,返回302码

header(“Location:xxx.html”);

网页停留x秒后重定向至xxx.html,返回302码

header(“Refresh:x; url=xxx.html”);

禁用缓存

header(“Expires:-1”);
header(“Cache-Control:no_cache”);
header(“Pragma:no_cache”);

定义文件下载

header(“Content-type:application/octet-stream”);
header(“Accept-Ranges:bytes”);
header(“Accept-Length:$file_size”);
header(“Content-Disposition:attachment;filename=”.$file_name);

定义一个数组时需要用下面的方式:

arrayy(1,2,3)

编写函数格式:

funciton xxx($xx,$xx)
{
     xxx;
     reuturn xxx;
}

函数中的值传递与引用传递:
不做变化的一般为值传递;

写成&$xx的一定是引用传递。

字符串函数:

explode(“xxx”,$str)     将字符串依据指定字符串或字符切开
echo     用来输出字符串
md5($str,bool)     用来计算字符串的哈希值,当bool为真时,输出二进制的值

日期库函数:

chekdate(month,day,year)     检验日期有效性,有效返回1
maketime()     获取系统当前时间戳,返回一个长整数
date(“M-d-Y”,mktime())     格式化一个时间戳

数学函数库

float floor(float value)     返回一个不大于value的float型整数
max(array value)     返回一个数组中的最大值
min(array value)     返回一个数组中的最小值
rand()     产生随机数,并返回
mt_rand()     返回随机数中的一个值
mt_srand(int value)     配置随机数的种子
getrandmax()     获取随机数的最大可能值