忽来灵感,谈谈对java的理解

来源:互联网 发布:什么是网络综艺节目 编辑:程序博客网 时间:2024/05/16 23:54
    编程语言,都有自己固定的语法,就我所了解java语言来说,java的优点我就不说了,网上多的是.但是java的有两点是我想说的 ,那就是"简单"和"功能强大".    java代码时开源的,为我们开发人员提供了很多问题的解决方案(一些类和方法),那么这些解决方案的底层是怎么做到的呢?相信初学者应该都学习过一些简单的算法,例如最熟悉的排序,单单排序又有好多种写法,比如冒泡排序,快速排序,二分法排序,选择排序等等算法和数据结构是一门语言的灵魂,如果这些算法让我自己实现的话,那么会比较的复杂,因为你需要考虑的东西就多了起来,相比于javaApi直接提供的一个sort方法来看,自己重写的话理,大多数人都能写的出来,只是时间长短问题,耗费精力和时间, 这也就是java的简单所体现的一个方面,你不需要去了解它是怎么写的,就只要知道有这个方法可以干什么就行了序就可以了,直接拿着用,大大的节省了我们的时间成本,当然了如果对于业务中遇到的比较复杂的一些逻辑,还是需要用到自己去写这些方法的java是提供给民用和商用的,至于军用的东西,是不可能使用编程语言的,(个人不是很了解,但是直觉告诉自己他们是使用汇编,c,或着比之更低级的语言写的)上面我说了java的简单易上手,简单则代表着它的强大,个人觉得java最强大支出莫过于java本身为用户提供了一套反编译的机制,比如说你写了一个类,封装了一些参数,不管是私有还是公有的参数,还有一些方法,你不仅可以通过实例化对象来调用该类,还可以通过类全名进行反射实例化,举个例子com.test.BB.java这个文件,你想在com.first.Aa.java中使用,除了将 BB的类全名通过import关键字导入到Aa类中,你也可已通过java的反射机制进行实例化BB类,进而操作它,其实导包和使用反射在jvm底层是一样的原理(个人理解,没看过jvm源码,请指教),所以简单中又彰显了java语言的强大,和高扩展性,我们可以根据自己的需求来做更多的事情,比如一些框架的实现,比较有名的像spring中的AOP就是基于动态代理,动态代理又基于反射.我认为这是java语言的一个强大之处此文章为个人理解,在工作开发空闲之余来了灵感,就写下了,如有错误请各位指正
原创粉丝点击