123、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++){
dec();
}
}
}
}
124、Java有没有goto?
java中的保留字,现在没 ......
传智播客的JAVA SE高级视频2 IO 自学笔记:
File类:
1.IO包中唯一代表磁盘文件本身信息的类,而不是文件中内容。
2.创建、删除、重命名文件等方法。
3.Java中目录被当作一种特殊文件使用,list方法返回所有子目录和文件。
4.Unix下路径分隔符'/',windows下分隔符为'\'。
RandomAccessFile类
支持随机访问方式。
RandomAccessFile类在随机(相对顺序而言)读写等长记录格式文件时有很大优势。可以将记录当成一个整体来读取。
RandomAccessFile类仅限于操作文件,不能访问其他IO设备,如网络、内存映像。
writeChars();
readChar();
流:字节序列的抽象概念
文件是数据的静态存储形式,而流是数据传输时的形态。
InputStream
int read() 读取一字节。为什么不返回byte呢?
因为二进制形式为11111111的数,以byte表示为-1,以int表示为255。返回-1表示读到文件尾。
int available();
OutputStrea ......
该WVTool可作为一个独立的Java库或RapidMiner环境的一个插件来使用。在这里,我们将主要讨论WVTool作为一个java库来使用是如何实现的。
1.1 安装
作为Java库使用WVTool,首先从SourceForge上WVTool/ homepage1上下载wvtool包 ,解压缩档案,并把wvtool.jar文件和所有的jar文件放置到lib子目录中。
要使WVTool能应用起来,需要处理两种基本步骤:
1. 从给定的一组文本文件来创建一个词表(定义向量空间的维度);
2. 基于创建的词表创建向量空间。词表中包含的所有词条连同一些统计数字(例如,在有多少文件,词条)都被用来矢量化 。矢量化的词表中的词条用来决定向量空间的维度和权值。
以上两个步骤需要两个基本输入参数。首先,输入样本文件清单,告诉系统处理哪些文本文件;第二,配置对象,它告诉系统各个步骤所使用的处理方法。
1.2 定义Input
Input列表告诉WVTool哪些学习文本文件应该处理。列表中每项包含以下信息:
l URI的文本资源。目前,这可以是本地文件/目录或网址
如果是本地目录文件,在此目录 ......
GUI:Graphical User Interface
JDK中:AWT和Swing
GUI组件分为两大类:基本组件和容器。
基本组件继承自java.awt.Component或其子类
容器继承自java.awt.Container或其子类
程序GUI部分由AWT线程管理。
事件处理机制:
事件:用户组件的一个操作
事件源:发生事件的组件
事件处理器:某个java类中负责处理事件的成员方法。 ......
原来在GUI界面的MailClient中加入了类似OutLook的URL跳转支持,用的是Runtime接口.
执行cmd来启动浏览器打开链接.这样当然有很多缺点了.依赖操作系统也可能会出现一些不安全问题.所以刚才上网查了一下Java SE
6.0的新功能.以前Java SE 6.0刚推出的时候看过新功能的资料.但是当时只用了一个Tray工具栏图标.其他的只是大概知道了他们的存在.
现在又看了一次介绍.本来刚才只发现用System.getProperties()可以获取系统的信息.包括
JDK路径,系统版本等等信息.我需要的是System.getProperty("sun.desktop")获取系统类型,因为我用的是
Windows操作系统,所以返回的String为windows.用System.getProperty("os.name")可以获取更详细的一些
信息,我得到的结果为windows xp
现在给大家推荐一些我认为有些作用的字段
user.home 可以获取当前用户的主目录
java.specification.version 获取当前JDK的版本号
java.class.path 获取classpath
user.name 获取当前用户名
java.home 获取JDK路径
sun.os.patch.level 获取系统版本号..也可以说是补丁号 我的显示为Service Pack 2
user.dir 当前程序的主目录
os.arch 显示系统操作系统的类型 我的显示为X ......
为了说明这个问题先给大家出个问题吧:
请看代码:
public abstract class A {
public A() {
initMethod();
}
public abstract void initMethod();
}
public class B extends A {
static String staticStr = "static1";
private String testStr = "Test1";
/*
* (non-Javadoc)
*
* @see A#initMethod()
*/
public void initMethod() {
// TODO Auto-generated method stub
testStr = "Test2";
staticStr = "static2";
}
/**
* @return the testStr
*/
public String getTestStr() {
return testStr;
}
/**
* @param testStr
* the testStr to set
*/
public void setTestStr(String testStr) {
this.testStr = testStr;
}
/**
* create data: 2009-12-29</br>
*
* @author XiangJie
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B b = new B();
System.out.println("the variable testStr is:" + b.testStr);
System.out.println("the variable staticStr is:" + B.staticStr);
......