- 浏览: 534897 次
- 性别:
- 来自: 北京
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
文章列表
[img]
[/img]
[img]
[/img]
第一、建立发送端。(我这边用的是eclipse)
package com.zzl.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostE ...
[img]
[/img]
[img]
[/img]
[img]
[/img]
[img]
[/img]
package com.zzl.thread;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NetDemo {
public static void main(String[] args) {
try {
//获取本机的ip地址和计算机名
InetAddress ia ...
调用线程的 toString 方法打印如下:
左边为线程名; 中间为线程的优先级(默认为5) 右边为线程所属的组。
[img]
[/img]
package com.zzl.thread;
/**
* 线程的优先级越高,抢占到cpu执行权的几率就越大
* Thread.MAX_PRIORITY = 10
* Thread.MIN_PRIORITY = 1
* Thread.NORM_PRIORITY = 5
*
* Thread.yield(); 哪个线程读到 yield()的时候会释放执行权,减少线程执行的频率,达到平均执行效果。
*
*/
...
多线程学习------join方法
package com.zzl.thread;
/**
* join
* 当A线程遇到了B线程的.join()方法的时候,A就会等待。等B线程执行完,A线程才会执行。
*
* join可以用来临时加入线程执行
*/
class JoinRunnable implements Runnable{
@Override
public void run() {
for(int i = 0;i < 10;i++){
System.out.println(Thread.currentThread().get ...
菜鸟学习线程----------守护线程
package com.zzl.thread;
/**setDaemon(boolean b)
* 将线程标记为守护线程或用户线程,当正在运行的线程都是守护线程时,java虚拟机退出
* 该方法必须在启动线程前调用
* @author zzl
*/
class MyRunnable2 implements Runnable{
@Override
public void run() {
//线程中做的事就是循环打印
while(true){
System.out.println(" ...
package com.zzl.thread;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 线程间通讯-生产者、消费者 jdk5.0升级版
* jdk1.5 中提供了多线程升级解决方案。
* 将同步的 synchronized 替换成显示的 Lock操作。
* 讲Object中的 wait notify notifyAll 替换成C ...
线程间通讯,当有多个生产者、消费者时,容易导致的问题。
一、当只有两个线程,一个生产、一个消费的时候,数据是没有问题的,如下:
package com.zzl.thread;
class MyResource{
private String name;
private int number = 1;
private boolean flag = false;
public synchronized void set(String name){
if(flag){
try {
this.wait();
} catch (Interru ...
线程通讯的优化:
package com.zzl.thread;
/**
* 线程间通讯
* 所谓线程间通讯,即多个线程操作同一资源,但是操作的动作不同。
* 线程间通讯的优化 ,把同步锁、wait、notify 封装在资源类中。
*/
class Resource {
private String name;
private String sex;
private boolean flag = false;
public synchronized void set(String name, String sex) { ...
如果存一个资源,然后打印一个资源,需要的结果类似如下:
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
mike....man
胖胖胖胖胖胖胖胖....女女女女女女
...
解决线程间通信的安全问题:同步锁的使用:
package com.zzl.thread;
/**
* 线程间通讯
* 所谓线程间通讯,即多个线程操作同一资源,但是操作的动作不同。
*
*/
class Resource{
String name;
String sex;
}
class InRunnable implements Runnable{
private Resource r;
public InRunnable(Resource r){
this.r = r;
}
@Override
public void ru ...
package com.zzl.thread;
/**
* 线程间通讯
* 所谓线程间通讯,即多个线程操作同一资源,但是操作的动作不同。
* 下面演示的是线程间通讯出现的问题。
*/
class Resouce{
String name;
String sex;
}
class InRunnable implements Runnable{
private Resouce r;
public InRunnable(Resouce r){
this.r = r;
}
@Override
public void run() {
in ...
package com.zzl.thread;
/**
*
* @author 无敌小神胖
* 死锁练习小题,
* 俺是小菜鸟,别喷我,
*
*/
class MyRunable implements Runnable{
private boolean flag = true;
public MyRunable(boolean flag){
this.flag = flag;
}
@Override
public void run() {
if(flag){
synchronized (MyObject.a) {
...
测试数据:
[img]
[/img]
一、列的增加:
1,alter table 表名 列声明
增加的列默认在表的最后
[img]
[/img]
[img]
[/img]
2,可以用 after来指定新增的列位于哪些列后面
[img]
[/img]
3,如果新增的列要放在表的最前面,用 first
[img]
[/img]
二、列的修改
alter table 表名 change 要修改的列名 列声明
如表中,name的 varchar长度为10,现在改为20.
[img]
[/img]
[img]
[/img]
三、列的删除 :
alter t ...
1,创建表:boy并模拟插入几行数据
create table boy(
name varchar(10),
flower varchar(10)
);
insert into boy
values
("林书豪","玫瑰"),
("刘翔","桃花"),
("周杰伦","茉莉花"),
("犀利哥","荷花"),
("刘德华","狗尾巴花");
[img]
[/img]
2,创 ...
Template模板模式定义: 定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.
使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。
package com.zzl.template;
public abstract class Template {
public abstract void doSomtThing();
public final long test(int count){
if(count <= 0){
return 0;
}
...