zoukankan      html  css  js  c++  java
  • 软件工程培训第一天总结,java基础的复习以及框架的概述(附常用集合及其差别)

    培训总结(一)

    1、培训内容:

    第一天的培训主要内容有:

    (1)复习java基础,如java的类,对象,集合,数组。在老师讲完之后也给我们了一些时间去做一些对应的例题,巩固我们对java的编程能力。

    (2)讲解代码的规范,老师为了我们讲解了在公司中如何做到代码的规范,在什么位置要用什么样的注释符号,要写什么样的注释内容。

    (3)降到了一些企业中常用到的web开发框架,如ssmsshspringboot等。老师还告诉我们现在jdbc链接数据库的方式在企业中已经过时了,他已经被框架取代。

    (4)讲到了maven项目的开发,以及在maven项目中的一些注释的作用,以及一个maven完整项目数据传递的流程与顺序。

    2、学习感想

    在讲课过程中,我学到了很多。一个假期没有写过java代码我感觉自己好多东西都忘了,写的话代码还是可以在网上找到来时用但是速度上已经慢了很多,今天有半天的时间给我去复习一下java基础感觉还是十分得有必要的。在

    在复习java的过程中我也发现了自己的一些问题,我对于数据库的操作很熟悉,代码的查找和复制粘贴也很熟悉,但是一旦问道某一个具体的问题,尤其是一些和集合,队列有关的问题时,很多东西根本不会永,如ListArrayListHashMapTreeMap之间的区别以及在什么情况下应该使用什么类型的队列时明显感觉自己理论知识的不足。这也体现除了我们软工学生,操作还行但是理论的极其不足的缺陷。在休息和留作业的时间我也去查看了这些有关的理论知识,来对自己的知识体系进行补充。

    其次在留java的课时作业时我也发现了一个问题,老师给我们写的需求有些地方我们看不懂,当老师说道集合的可扩展性和定长集合时我发现自己对于集合的概念和基本性质的理解有着很大的漏洞。

    老师和我们说jdbc已经被抛弃,现在普遍使用框架时,给我们讲解了框架的一些知识,但是光框架的数据传递过程中的页面跳转就弄的我很头大,由于之前没有接触过,导致自己的思维还停留在jdbc,和jsp+servlet上。

    老师在下午结束前讲到了maven项目的工作流程以及一些注释的作用。我们之前在上课和课下作业的过程中是没有使用过maven项目的。在软件杯的比赛开发中,我曾使用maven+springboot开发过一个简单的微服务网站,maven给我的印象一来是方便因为他不需要自己去下载包,只需要在xml文件中写入包名,版本就会自己去自己的包库中去下载,二来时他的模块特别清晰,maven可以新建model项目每个model又是一个独立的项目,model中也可以添加model,然后不同的model使用框架来联系起来以共同运行达到项目要求。

    Maven的方便性也就导致了他入门相对困难,maven模块之间的结构要求很高,而且更让人头大的时maven中使用@+注释的方式代替了大量的代码,而搞懂不同的注释对应什么内容就成了一件头大的事,在老师讲的过程中有的注释他也没讲就是告诉我们会用就行。

    第一天讲的东西比较少,大多都是一些以前知识的回顾和新知识的概述,学习难度并不大。

    附:java中集合类的差别以及使用范围

    ArrayList 实现List接口 ,随着向 ArrayList 中不断添加元素,其容量也自动增长 

    Vector向量 不过我是不太喜欢这个类 

    HashMap实现Map接口--可以说内存就是一个HashMap HashTable实现一个哈希表,该哈希表将键映射到相应的值 

    Set一个不包含重复元素的容器 

    HashMap, HashTable都是“Key-Value对”形式的

    Vector和ArrayList区别

     Vector和ArrayList Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。

     Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。

     当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。

     

    Hashtable和HashMap的区别

     Hashtable和HashMap它们的性能方面的比较类似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。

     

    ArrayList和LinkedList的区别

    对于处理一列数据项,Java提供了两个类ArrayList和LinkedList, ArrayList的内部实现是基于内部数组Object[], 所以从概念上讲,它更象数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更象一个链表结构,所以,它们在性能上有很大的差别。

    从上面的分析可知,在ArrayList的前面或中间插入数据时,你必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列 数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能

    而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

    如果在编程中,1,2两种情形交替出现,这时,你可以考虑使用List这样的通用接口,而不用关心具体的实现,在具体的情形下,它的性能由具体的实现来保证。

    配置集合类的初始大小

    Java集合框架中的大部分类的大小是可以随着元素个数的增加而相应的增加的,我们似乎不用关心它的初始大小,但如果我们考虑类的性能问题时,就一定要考虑尽可能地设置好集合对象的初始大小,这将大大提高代码的性能。

    比如,Hashtable缺省的初始大小为101,载入因子为0.75,即如果其中的元素个数超过75个,它就必须增加大小并重新组织元素,所以,如果你 知道在创建一个新的Hashtable对象时就知道元素的确切数目如为110,那么,就应将其初始大小设为110/0.75=148,这样,就可以避免重 新组织内存并增加大小。

     

    @font-face { font-family: "Times New Roman"; }@font-face { font-family: "宋体"; }p.MsoNormal { margin: 0pt 0pt 0.0001pt; text-align: justify; font-family: "Times New Roman"; font-size: 10.5pt; }h3 { margin-top: 13pt; margin-bottom: 13pt; break-after: avoid; text-align: justify; line-height: 172%; font-family: "Times New Roman"; font-weight: bold; font-size: 16pt; }p.pre { margin: 0pt 0pt 0.0001pt; text-align: left; font-family: 宋体; font-size: 12pt; }span.msoIns { text-decoration: underline; color: blue; }span.msoDel { text-decoration: line-through; color: red; }div.Section0 { }

  • 相关阅读:
    JdbcTemplate查询数据 三种callback之间的区别
    velocity加减运算注意格式 ,加减号的左右都要有空格
    java怎样读取数据库表中字段的数据类型?
    一台电脑同时运行多个tomcat配置方法
    启动PL/SQL Developer 报字符编码不一致错误 Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results. Note: you can set the client
    PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different 2012-04-11 13:01
    sqlserver得到昨天的数据
    iOS消息机制
    Narrow Art Gallery
    Hadoop入门进阶步步高(一)-环境准备
  • 原文地址:https://www.cnblogs.com/837634902why/p/11441419.html
Copyright © 2011-2022 走看看