Java语言学习1

首先,需要明确的是Java已经不是一门简单的语言,也不是一门可以速成的语言了,而是一门功能强大,体系复杂的语言,需要花很大精力才能掌握并精通的语言。其次,Java即使在Web开发领域,也不等于仅SSH(Struts+Spring+Hibernate),这三种框架的流行,使多数程序员浮于开发的表面,不能深入进去,同时是Java在Web开发领域被PHP、Python甚至Node.js所超越的原因。最后,Java语言目前功能强大,但是如果要充分利用Java语言,不止是写配置文件简单操作一下数据库,就需要从底层来理解Java的运行机理,正像做C语言的需要理解硬件、操作系统、编译原理、汇编语言之后才能精通C语言,Java语言也一样,你需要理解JVM、ByteCode等底层机制。

本人用Java语言写过十年左右的程序,但是感觉还是属于Hello World层次,因此希望通过这个系列文章,重新学习和掌握Java语言。

这里首先说一下JDK的使用,用Eclipse或Netbeans惯了,绝大多数Java程序员都只会在IDE中进行开发,但是有很多开源项目,一般都是基于命令行编译的,大多采用Ant或Maven,所以要掌握Java语言,必须习惯命令行开发模式。在实际中,绝大多数Java程序员都不能只用JDK写出Hello World!

首先,建立一个项目的目录结构:

proj

    bin

    src

其中在src中存源码,在bin中保存类文件,在proj目录下进行编译及运行,要求包名为:com.bjcic.learn

首先在src目录下建立目录,com\bjcic\learn,然后在learn目录下新建一个文件TestApp.java,用任意一款编辑器打开,我用的是开源的Notepad++,将文件格式更改为utf-8无BOM格式,因为我们想在任意OS中都能显示中文。

输入如下内容:

package com.bjcic.learn;

public class TestApp {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

打开Dos窗口,进入proj目录,输入如下命令(%JAVA_HOME%为你JDK的安装目录):

%JAVA_HOME%\bin\javac -cp . -d bin src\com\bjcic\learn\TestApp.java

这里用到了javac中两个最常用的选项,-cp是在你有类库需要包含时才需要,-d后面跟的路径是编译生成的class文件存放的目录。

然后是运行程序:

%JAVA_HOME%\bin\java -cp bin com.bjcic.learn.TestApp

至此,一个简单的Hello World总算是运行起来了,但是还是有问题的。程序中用System.out.println来输出,因为这个是一行一行进行处理的,没有进行缓冲处理,所以在实际程序中如果习惯这种用法,那么将非常影响性能。那么如果想输入信息,需要采用什么方式呢?答案是采用log4j或JDK自带的logger。

package com.bjcic.learn;

import java.util.logging.Logger;
import java.util.logging.Level;
import java.util.logging.Handler;
import java.util.logging.FileHandler;
import java.io.IOException;

public class TestApp {
    private static Logger logger = Logger.getLogger(TestApp.class.getName());
    private static Handler fh = null;
    public static void main(String[] args) {
        System.out.println("Hello World");
        try {
            fh = new FileHandler("mylog.txt");
        } catch (IOException ex) {
            System.exit(0);
        }
        logger.addHandler(fh);
        logger.setLevel(Level.WARNING);
        logger.log(Level.WARNING, "title", "p=1");
        logger.log(Level.FINE, "title1", "p=2");
    }
}
编译运行该程序会在proj目录下生成mylog.txt文件,里边有XML格式的日志内容。
当然,大多数情况下,我们都不使用JDK自带的Logger,而是使用log4j甚至slf4j。所以还需要研究一下怎样使用第三方类库。

首先下载最新版log4j:http://logging.apache.org/log4j/2.x/ ,将文件解压,在proj目录下新建lib目录,将\log4j-api-2.0-beta3.jar和log4j-core-2.0-beta3.jar拷到该目录下。

在bin目录下编辑log4j2.xml,在文件中输入如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
    </Console>
  </appenders>
  <loggers>
    <logger name="org.apache.log4j.xml" level="info"/>
    <root level="debug">
      <appender-ref ref="STDOUT"/>
    </root>
  </loggers>
</configuration>

编译该程序:

%JAVA_HOME%\bin\javac -cp .;lib\log4j-api-2.0-beta3.jar;lib\log4j-core-2.0-beta3.jar -d bin src\com\bjcic\learn\TestApp.java
运行该程序:
%JAVA_HOME%\bin\java -cp bin;lib\log4j-api-2.0-beta3.jar;lib\log4j-core-2.0-beta3.jar com.bjcic.learn.TestApp








  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值