java程序员修炼之道(1)

来源:互联网 发布:js 新建date对象 编辑:程序博客网 时间:2024/05/29 19:11

  这些天看了《java程序员修炼之道》这本书,觉得还不错,将自己的一些理解以及对本书中的重点归纳了下,希望对后来者有些帮助,后续会根据每天理解的内容,陆续地写一些文章,望自己能够每天都处在学习中。

第一章主要是介绍了java7的改进地方:

  1.java是解释性语言还是编译性语言

     在这一点上,本人跟作者的观点有些不一样,c/c++这些都是典型的编译性语言,而java/c#等之类的语言是解释性的语言。因为我们知道编译性语言编译之后直接可以以机器语言的形式运行,而像java c#等语言编译之后转换为IL语言,运行时被平台(jvm .net)解释为机器语言运行,所以我个人认为java应该是一种解释性的语言。

  2.语法糖

     语法糖是众多高级语言的必备,为什么会出现语法糖?个人认为正是语言的简洁以及学习成本导致的,当一个语言能够以更简洁的形式来实现目的,那将会诱使更多的人来使用该语言。所以后续出现的python ruby等之类的语言,究其根本,其实就是专业化以及简洁的需求导致的。所以在我们的学习中,对待这种语法糖的形式了解之后,更要深究该用法的实际表示方式,这样你才能够更好地运用。如下的例子:

     (提醒一下,当我使用intelij idea的时候,写出下面的代码,会报错(你使用的模块时java6。。。),但是我的工具已经换成java8了,为什么会出现这种情况呢?后来查询了一些资料,终于知道我的项目的模块设置出现错误,如图)

public static void main(String[] args) {        int para = Integer.parseInt("1100110",2);        System.out.println(para);        int param = 0b1100110;        //Process();        System.out.println(param);    }

   3.异常处理优化

      直接见代码:

    public static Configuration GetConfiguration(String fileName)    {        Configuration config = null;        try        {            config = GetConfiguration("");        }catch(FileNotFoundException fileEx)//旧方式        {        }catch(IOException ex)        {        }catch(ConfigurationException configEx)        {        }catch(ParseException parasEx) {        }catch (FileNotFoundException | ConfigurationException | ParseException ex)//修改后的方式-更加清晰        {        }catch(final Exception em)        {        }    }
     4.TWR-(try-with-resource)

        该改进让我想起了.net中的释放非托管资源的用法,using(filestream fs = file.open(""))。java中的优化如下:

       

public static void Process()    {        try {            InputStream input = null;            URL url = new URL("http://www.baidu.com");            try {                input = url.openStream();                OutputStream out = new FileOutputStream("a.txt");                try {                    byte[] bt = new byte[4096];                    int length = 0;                    while ((length = input.read(bt)) > 0) {                        out.write(bt, 0, length);                    }                } catch (IOException io) {                } finally {                    try {                        out.close();                    } catch (IOException clo) {                    }                }            } catch (IOException ex) {            } finally {                try {                    input.close();                } catch (IOException clos) {                }            }        }catch (MalformedURLException e) {        }        try(OutputStream out = new FileOutputStream("a.txt"))--优化的写法        {                    }    }
简单地介绍了第一章的知识点,可能有些没有总结自己的理解,直接使用了代码来展现,也是希望自己多动手来理解。谢谢!


0 0
原创粉丝点击