关闭

ServerSocket 用法详解

本篇文章观点和例子来自 《Java网络编程精解》, 作者为孙卫琴, 出版社为电子工业出版社。 在客户/服务器通信模式中, 服务器端需要创建监听端口的 ServerSocket, ServerSocket 负责接收客户连接请求. 本章首先介绍 ServerSocket 类的各个构造方法, 以及成员的用法, 接着介绍服务器如何用多线程来处理与多个客户的通信任务. 本章提供线程池的一种实现方法. 线程...
阅读(1626) 评论(0)

Run.getRuntime.exec

前几天刚解了个棘手的bug,就是Run.getRuntime.exec执行asu 命令总是返回1的问题。 但是把这段出错代码放到main函数执行就会返回0,放到我们的应用程序里面老死返回1 尝试过了百度查到的几乎所有的方法,未果。刚开始通过getErrorStream获取到的命令错误信息是username/password invalid。。 然后我们查找是不是传的参数有问题,尝试过将空格加上...
阅读(143) 评论(0)

java线程的状态

NEW 状态是指线程刚创建, 尚未启动RUNNABLE 状态是线程正在正常运行中, 当然可能会有某种耗时计算/IO等待的操作/CPU时间片切换等, 这个状态下发生的等待一般是其他系统资源, 而不是锁, Sleep等 BLOCKED 这个状态下, 是在多个线程有同步操作的场景, 比如正在等待另一个线程的synchronized 块的执行释放, 或者可重入的 synchronized块里别人调用wa...
阅读(153) 评论(0)

Thread的中断机制(interrupt)

中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。 判断线程是否被中断判断某个线程是否已被发送过中断请求,请使用Thre...
阅读(239) 评论(0)

ThreadPoolExecutor的corePoolSize和maximumPoolSize

按照JDK文档的描述,如果池中的实际线程数小于corePoolSize,无论是否其中有空闲的线程,都会给新的任务产生新的线程 如果池中的线程数>corePoolSize and...
阅读(211) 评论(0)

java类加载顺序

看明白下面程序就知道了。public class Test6 { public static void main(String[] args){ new B(); new A.C(); } }class A{ private P p1 = new P("A--p1"); static P p3 = new P("A--p3"); public A(){ System.out.println("A()...
阅读(129) 评论(0)

Java enum的用法详解

用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我...
阅读(98) 评论(0)

Java并发编程:Lock

一.synchronized的缺陷  synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?  在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线程执行完了该代码块,然...
阅读(119) 评论(0)

mysql执行脚本无法插入中文

mysql数据库编码格式为: 编辑数据库脚本时候,将保存格式设置为utf8。 我用UltraEdit 改的文件编码格式...
阅读(164) 评论(0)

spring aop

—最近学到sring aop,终于搞清楚aop:after和aop:after-returning的区别。前置通知(Before advice):在某连接点(JoinPoint)之前执行的通知,但这个通知不能阻止连接点前的执行。ApplicationContext中在里面使用元素进行声明。例如,TestAspect中的doBefore方法。 后置通知(After advice):当某连接点退出的时...
阅读(180) 评论(0)

ftok冲突

最近遇到一个问题,在用户b下创建共享内存失败,跟踪代码发现shmget的errno为17(要创建的这个共享内存已经存在了),可是在该用户下通过ipcs查看确实没有共享内存啊,后来发现,用户a下已经创建的共享内存与用户b要创建的共享内存冲突了,准确的说是key值冲突了,key值是通过ftok函数生成的。上网查询了一个,ftok是根据文件i节点和调用ftok时的id值产生的,而且还给出了例子加以说明,如...
阅读(224) 评论(0)

concurrenthashmap和hashmap

hashmap: 程序使用一个公共锁同步每一个方法,并严格得限制只能有一个线程同时访问容器。 concurrenthashmap: 使用一个更加细化的锁机制,叫分离锁。这个机制允许更深层次的共享访问,任意数量的读线程可以并发访问Map,读者写者也可以并发访问Map,有限数量的写者可以并发访问Map。结果是为并发访问带来了更高的吞吐量,同时几乎没有损失单个线程访问的性能。...
阅读(174) 评论(0)

Java中带包的类的编译与执行

以HelloWorld.java 为例( 假设该文件的位置是/home/HelloWorld.java): [java] view plaincopy package a.b; public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello World!”); }...
阅读(213) 评论(0)

java默认构造器constructor

如果类中不声明构造器(不论有参无参)的话,java会默认生成一个无参构造器,可以用getDeclaredConstructor()函数证明这个无参构造器是否存在。 如果类中已经声明了构造器的话,java就不会生成这个默认无参构造器了。 特别注意的是:默认构造器会自动获得与其所作的类一样的访问权限!!!import java.lang.reflect.*; class ComTest{} publ...
阅读(545) 评论(0)

Externalizable和Serializable

1、Serializable序列化时不会调用默认的构造器,而Externalizable序列化时会调用默认构造器的!!! 2、Serializable:一个对象想要被序列化,那么它的类就要实现 此接口,这个对象的所有属性(包括private属性、包括其引用的对象)都可以被序列化和反序列化来保存、传递。 Externalizable:他是Serializable接口的子类,有时我们不希望序列化那么...
阅读(1162) 评论(0)
26条 共2页1 2 下一页 尾页
    个人资料
    • 访问:9235次
    • 积分:244
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:12篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论