Java 如何取得操作系统的属性
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Properties;
public class SystemProperties
{
public static String LINE_SEPARATOR = "line.separator";
public static String FILE_SEPARATOR = "file.separator";
public static String USER_LANGUAGE = "user.language";
public static String FILE_ENCODING = "file.encoding";
public static String OS_NAME = "os.name";
public static String USER_DIR = "user.dir";
public static String USER_COUNTRY = "user.country";
private static SystemProperties SystemPropertiesInstance = null;
//零长度的byte数组对象创建起来将比任何对象都经济,查看编译后的字节码:
//生成零长度的byte[]对象只需3条操作码,而Object lock = new Object()则需要7行操作码
private static byte[] lockObject = new byte[0];
private HashMap<String,String> ptHashtable = null;
private SystemProperties()
{
InitAllProperties();
}
public static SystemProperties newInstance()
{
synchronized(lockObject)
{
if(null == SystemPropertiesInstance)
{
SystemPropertiesInstance = new SystemProperties();
}
}
return SystemPropertiesInstance;
}
public String getLineSeparator()
{
Object object = ptHashtable.get(LINE_SEPARATOR);
if(null ==object)
{
return null;
}
return object.toString();
}
public String getOSName()
{
Object object = ptHashtable.get(OS_NAME);
if(null ==object)
{
return null;
}
return object.toString();
}
public boolean isWindows()
{
if(getOSName().indexOf("Windows") >= 0)
{
return true;
}
return false;
}
public String getUserDir()
{
Object object = ptHashtable.get(USER_DIR);
if(null ==object)
{
return null;
}
return object.toString();
}
private void InitAllProperties()
{
Properties ps = System.getProperties();
Enumeration EP = ps.propertyNames();
ptHashtable = new HashMap<String, String>();
for(;EP.hasMoreElements();)
{
Stri
相关文档:
昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......
这几天测试blob获取和存储的时候,被卡了很久,最后才发现是占用了关键字导致无法获取结果,血的教训啊.
以后起名字要用最恶心的,不要用最方便的了.闲话少说,java的hashmap是不能直接存储到数据库中的.
本地数据库为mysql,里面有blob的类型可供使用.方法也很简单,上代码
数据库建表
CREATE TABLE `test` (
`id` ......
CoreJava多线程
线程的概念:
线程指进程中的一个执行流程,一个进程可以包含多个线程。
每一个进程都独享一块内存空间。每个进程都需要操作系统为其分配独立的内存地址,而同一进程中的多个线程在同一块地址空间工作,他们共享一块内存和资源。
java中有两中方法创建一个多线程类:
1、继承java.lang.Thread类,覆盖T ......
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对 ......
JAVA的程序开发,第一步是针对JAVA搭建其应用开发平台。关于JDK的下载与安装在此不过多介绍,网上相关链接较多。平台的搭建一个基础步骤且关键步骤就是:java环境变量的配置。网上关于JAVA的环境变量设置方法很多,起初接触JAVA肯定有许多不明白的地方,我们需要把步骤尽量的简化,本人觉得比较有效的方法如下 ......