Java
文章平均质量分 50
backard
这个作者很懒,什么都没留下…
展开
-
《Effective Java》读书笔记
第2章 创建和销毁对象 第1条:考虑用静态工厂方法代替构造函数所谓静态工厂方法,实际上只是一个简单的静态方法,它返回的是类的一个实例。静态工厂方法的一个好处是,与构造函数不同,静态工厂方法具有名字。如果一个类看起来需要多个构造函数,并且它们的原型特征相同,那么你应该考虑用静态工厂方法来代替其中一个或者多个构造函数,并且慎重选择它们的名字以便明显地标示出它们的不同。静态工厂方法的原创 2013-01-23 20:23:28 · 342 阅读 · 0 评论 -
一直以为关闭流就可以让read返回,没想到不一定,还和流的类型有关
这个类型的流在read时,会占用流的锁,导致close阻塞。例子如下public class Test { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { Process process = Ru原创 2014-01-04 10:33:59 · 809 阅读 · 0 评论 -
一个Java面试题
class Human {public static int n = 10;public Human() {// 和C++中不同的是,虽然子类还未构造完成,但仍然可以调用子类的age函数,// 显然,Java不是通过虚表实现的多态,看起来多态就是天生的,永远都是调用实际对象的成员函数age(); }public void age() {System.out.原创 2013-01-24 23:10:17 · 342 阅读 · 0 评论 -
如何启动命令行
Process p = Runtime.getRuntime().exec("cmd /c start cmd /K \"cd /d c:/windows/system32&&dir\"");start 是启动一个新的命令行窗口,默认情况下是启动一个不可见的cmd进程/K 是执行后面的命令后保持窗口不关闭&& 是当执行两个命令时用它连接起来当两个以上的命令一起执行时,必须得原创 2013-01-24 23:08:47 · 453 阅读 · 0 评论 -
如何加载指定jar中的类
URLClassLoader ucl = new URLClassLoader(new URL[] { new File("D:\\aaa\\abc.jar").toURI().toURL() }, Application.class.getClassLoader());Class cls = ucl.loadClass("com.test.Test");Object o =原创 2013-01-24 23:07:40 · 704 阅读 · 0 评论 -
关于JAVA的try catch finally的return返回值问题
public static int testt() { int x = 99; try { return x; // 返回99,也就是说finally是在return后再执行的,别搞混了}finally { x = 8; } }原创 2013-01-23 20:31:18 · 310 阅读 · 0 评论 -
java对象序列化
java对象序列化 java对象序列化概述 序列化的过程就是对象写入字节流和从字节流中读取对象。 将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存在文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。 对象序列化功能可应用在RMI/Socket/JMS/EJB 简化了对象持久化(Persist原创 2013-01-23 20:26:12 · 417 阅读 · 0 评论 -
抽象类和接口类的区别
抽象类和接口类的区别抽象类就是不能实例化的类,表现出来就是在类名前加abstract修改符。因为它是一个类,所以它只能被一个类继承,当然,抽象方法必须写在抽象类中(或接口类中)。其他就和普通的类没有区别了。(子类首先是它,即"是"关系)接口类,既然叫接口,当然所有的成员只能是public的,还有就是所有的数据成员都必须是final和static的(因此必须显式初始化,默认就原创 2013-01-23 20:30:37 · 311 阅读 · 0 评论 -
《Thinking in Java》读书笔记
第1章 对象入门 基本概念:Java的Project name和工程目录名对应,每个Project下又可以包含若干package,每个package名又跟工程目录下的同名目录对应,在每个package可以建若干class,每个class对应两个文件,类名.java和类名.class,前者是编译过的,后者是源代码文件。通过Eclipse文件->Export,我们可以把整个工程(即整个工程原创 2013-01-23 20:29:07 · 760 阅读 · 0 评论 -
swt定时器的实现
swt定时器的实现 final int time=1000; Runnable showTime = new Runnable(){ public void run(){ System.out.println("swt定时器的实现!"); display.timerEx转载 2013-01-23 20:28:22 · 1373 阅读 · 0 评论 -
《Java Thread Programming》读书笔记
1.一个HelloWorld的java程序有几个线程,分别都是干什么的?如果带图形界面的呢?能在工作线程中创建图形窗口吗?如何实现用一个对话框去等待另一个线程结束?答:是不是可以考虑通过线程函数枚举线程得出结果,确实可以这样,根据当前线程找到对应的线程组,然后一直往上找到根线程组,通过enumerate就可以找到所有的线程。Reference HandlerFinalizerSig原创 2013-01-23 20:24:09 · 707 阅读 · 0 评论 -
Java启动子进程,子进程又启动孙进程后,Java在InputStream inputStream = process.getInputStream();中读取时,何时会返回null?
Java启动子进程,子进程又启动孙进程后,Java在InputStream inputStream = process.getInputStream();中读取时,何时会返回null?情况1:如果java启动的是python命令行进程,而python又用subprocess.Popen启动子进程:如果subprocess.Popen启动子进程时没有带close_fds=True参数原创 2013-12-21 18:06:19 · 2767 阅读 · 0 评论