java程序员修炼之道(1)

  这些天看了《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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值