热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Java学习过程的一些重点

Java学习过程的一些重点--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
  主要说说Java的几大块吧,无法说得很细,因为其实每一块拿出来都能说很多,我就说一下这几块学习的时候的重点或者应该注意的东西。



数值类型:

  虽然是面向对象的语言,但是在使用上数值类型还是必不可少的,如果在C的学习中已经掌握了C的数值计算和转换规则,那我想这里应该没有什么问题,只有两点需要注意:1、14.0这样的浮点常量被认为是double型,只有加上f后缀才是float型的;2、整数常量说起来被认为是int型,但是在编译时,可以认为编译器将其看作能表示该数的最小数值,因此byte b = 100;不会报错。



引用类型:

  我也是从C/C++转过来的,其实所谓引用类型在C++中已有体现,就是传参的时候有一种引用类型,从C来考虑,它就是一个指针,只不过,我们不能对它进行指针上的硬操作。所以这里的重点是:1、Java里所有的对象都是在堆中生成的,所以需要类似指针的东西指向它,那就是引用;2、我们通过引用操作的是引用所指向的对象,除了赋值操作外,应该就没有什么操作是针对引用本身的了,这一点是C的指针与Java的引用区别所在。



类和对象:

  这是一个大块,有很多东西,不展开讲了,就说几个重点:1、类方法、类属性与成员方法、成员属性在加载、初始化、使用上的异同;2、在构造函数中,this()和super()的用法;3、子类的加载过程、初始化过程和构造过程;4、方法的重载和覆写;5、覆写所引出的多态问题。(注意:多态之应用在方法上,对属性没有作用)

函数调用的参数传递:

  如果把引用类型所记录的地址值,就看作是引用类型变量的值的话,那么,Java的所有方法调用的时候,都是采用的值传递??数值类型传数值,引用类型传地址。



IO流:

  与C比起来,Java的输入输出,尤其是输入是非常麻烦的,也许是因为出于面向对象的考虑吧?不知道。Java提供了很多的IO流,但是我们并不必将各种IO都搞清楚,我们只需要了解字节流与字符流各有什么功能,字符流是如何在字节流之上构造的,几乎所有的字符流构造的时候都是建立在一个已有的字节流的基础上的,并且它的这种设计使得我们可以像套管子一样,将IO流一节一节套起来,直到得到我们想使用的IO对象(例: BufferedReader的使用)。在我们以后使用的时候,我们可以再去查API,我觉得主要要看的几个类是:FileReader、 FileWriter、BufferedReader,再配合上System.out对象,对于文本的输入、输出来说,就足够用了,至于其他的,我觉得不考试的话,没有必要看那么多,用的时候再看了。(我使用Java一年半来,基本上就在使用BufferedReader和System.out)



容器:

  个人认为,这是Java编程的一大利器,我最爱用的类是:ArrayList(List)作为可变长数组、HashMap(Map)用来建立查找表,Set我很少用,只在HashMap的使用中连带用过一些。通过对这两个类的熟悉,能够将List、Set和Map三大类的基本用法掌握。另外它的几个辅助类要掌握:Iterator和Collections。Collections类提供容器的一些通用工具,比如排序。而说到排序,就牵扯出了比较器:Comparator。能够熟练使用Comparator类,可以让你为自己的需求和自己的类定制排序方案。



AWT和SWING:

  个人认为,Java在图形界面的制作上有着非常好的封装性,我以前曾经试图学过MFC,MFC在生成图形界面的时候会帮助你生成一些代码,然后让你在这些代码的指定位置添加代码以实现功能,我这个人有个习惯,如果让我看到了一些东西,那么我不搞清除为什么这么写,就不会往下走,看到那许多代码,自然就想弄清楚那些是什么,结果引出来好多知识,后来我才知道其中有些是调用WinAPI,结果我到现在还是不会用MFC。这里并不是贬低MFC,我相信MFC有其过人之处,只不过个人认为它的封装性做得不好,暴露出了太多东西,也许能够提高灵活性,不过,可能我跟它无缘:(。在这方面Java就做得不错,给你一个类,你用就是了,它将图形界面的低层实现隐藏的很好,将其作为一个对象给你,而你只需要在这个对象上修修改改,挺方便的。

  作为初学者,我觉得AWT的重点在于它的几个Listener的用法,还有布局格式,然后就是那许多的Component的用处和用法。(不过,我觉得,等到用的时候再去找合适的Component进行学习应该也不算太迟 ^_^)

  不过,因为我个人使用的原因,所以至今AWT和SWING都用得很少,所以这方面也就不便多说了,抱歉。写这些并不是告诉大家怎么解决问题,因为每一个都有很多可写,只是希望能给初学者一点参考,希望能够帮助初学者们有的放矢地看书。
推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了电流源并联合并的方法,以及谐振电路的原理。谐振电路具有很强的选频能力,通过将电感和电容连接在一起,电流和电压会产生震荡。谐振频率的大小取决于电感和电容的大小,而电路中的电阻会逐渐降低震荡的幅度。电阻和电容组成的电路中,当电容放完电后,电阻两端的电压为0,电流不再流过电容。然而,电感是一种特殊的器件,当有电流流过时,线圈会产生感应磁场,阻止电流的流动,从而使电流不会减小。 ... [详细]
  • 标题: ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
author-avatar
cdV陈海泰C
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有