遇到的问题—门户网站

           今天在做门户网站的时候,遇到了一些问题以及学习到知识,以下就是自己的归纳总结:

             一、流程图设计软件:process on

              介绍:(1)、ProcessOn是一款基于HTML5和JavaScript技术开发而成。 操作简单、方便的同时也是一款专业的垂直在线作图工具

                      (2)、使用ProcessOn不需要下载和安装,更不需要破解和激活, 打开浏览器即可在线操作所有数据实时云端存储, 同时支持多人在线实时协作,从此再也不需要和同事, 领导之间来回传送文件,直接邀请,一起协作完成。

                      (3)、ProcessOn目前已经支持流程图、原型设计、软件建模、 以及思维导图等四大领域在线作图。

                      (4)、ProcessOn同时也是一款免费的在线作图工具。 如果你也是新手,工作需要画画图,ProcessOn就是你最合适的选择!

            官网地址:https://www.processon.com/

             总结:这款软件是我今天因项目文档要做,在网上找的一个,这个适用的范围还是挺广的。

           二、List、Vector、linkedList集合的应用

               (一)、List集合

                   (1.1)概念:底层是数组,该集合的父类是Collection,常用实现的子类有ArrayList、LinkedList、Vector。这是一个有序集合(也被称为序列)。

                (二)、Vector集合

                     (2.1)概念:Vector类实现了一个可增长对象数组,像一个数组,它包含可以使用整数索引进行访问的组件。该集合的父类是Collection,常用实现的子类是Stack。

                 (三)、LinkedList集合

                       (3.1)概念:LinkedList集合,双向链表实现的 ListDeque接口。实现了所有的可选列表操作,并允许所有元素(包括 null)。 所有的操作执行,如可以预期的双链接列表。将索引到列表中的操作将遍历从开始或结束的列表,无论哪个更接近指定的索引。

                  (四)、区别:

                       (1)、ArrayList 和 Vector 内部是线性动态数组结构,ArrayList在查询效率上会高很多

                        (2)、Vector 是线程安全的,相比 ArrayList 线程不安全的,性能会稍慢一些。

        Vector 大部分常用的方法都是synchronized关键字修饰的(同步)
        ArrayList常用的方法都不是synchronized关键字修饰的
        因此,vector是线程安全的,arraylist是线程不安全的,性能上,会比Arraylist性能慢一些

                         (3)、LinkedList是双向链表的数据结构存储数据

        通过查看源码,可以看到该构造方法,是通过Collection<? extends E> c参数进行实现的
(4)、vector做查询时会按照序号索引数据进行前向或后向遍历,查询效率偏低

          通过下面的代码进行实践
          
  LinkedList linkedList = new LinkedList();
        for (int i = 0; i < 50; i++) {
            System.out.println("linkedList添加开始时间:" + System.currentTimeMillis());
            linkedList.add("王五");
        }
        System.out.println("linkedList添加结束时间:" + System.currentTimeMillis());
        Iterator<String> linkedLists = linkedList.iterator();
        System.out.println("linked查询时间:" + System.currentTimeMillis());
        while (linkedLists.hasNext()) {
            String string = linkedLists.next();
            System.out.println(string);
        }
        System.out.println("linked结束时间:" + System.currentTimeMillis());
    }

  三、JDK UUID封装示例

            (一)、概念:UUID是不变的通用唯一标识符,一个UUID是一个128位的值。这些全局标识符存在不同的变体。

             (二)、代码示例:

              

package basis;

import java.util.UUID;

public class UUIDDemo {
    public static void main(String[] args) {
        UUID.randomUUID().toString().replace("-", "");
        System.out.println(UUID.randomUUID().toString().replace("-", ""));
    }
}

  四、jBox 的使用

           概念:- jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受。 

运行环境 
                     - 兼容 IE6+、Firefox、Chrome、Safari、Opera 等主流浏览器.

      注意:这个框架还不是很熟悉,待研究

     五、关于重定向RedirectAttributes的用法

     RedirectAttributes 是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类

    封装示例如下:

/**
* 添加Flash消息
* @param message
*/
protected void addMessage(RedirectAttributes redirectAttributes, String... messages) {
StringBuilder sb = new StringBuilder();
for (String message : messages){
sb.append(message).append(messages.length>1?"<br/>":"");
}
redirectAttributes.addFlashAttribute("message", sb.toString());
}
                 

猜你喜欢

转载自www.cnblogs.com/ztyc/p/11581878.html