ASList

javascript WebUploader 分片上传

孤者浪人 提交于 2020-07-27 02:00:52
1,项目调研 因为需要研究下断点上传的问题。找了很久终于找到一个比较好的项目。 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面。 https://github.com/freewebsys/java-large-file-uploader-demo 效果: 上传中,显示进度,时间,百分比。 点击【Pause】暂停,点击【Resume】继续。 2,代码分析 原始项目: https://code.google.com/p/java-large-file-uploader/ 这个项目最后更新的时间是 2012 年,项目进行了封装使用最简单的方法实现了http的断点上传。 因为html5 里面有读取文件分割文件的类库,所以才可以支持断点上传,所以这个只能在html5 支持的浏览器上面展示。 同时,在js 和 java 同时使用 cr32 进行文件块的校验,保证数据上传正确。 代码在使用了最新的servlet 3.0 的api,使用了异步执行,监听等方法。 上传类UploadServlet @Component("javaLargeFileUploaderServlet") @WebServlet(name = "javaLargeFileUploaderServlet", urlPatterns = { "

Java 开发手册 (阿里巴巴开发手册)

ε祈祈猫儿з 提交于 2020-05-08 19:01:05
Java 开发手册 版本号 制定团队 更新日期 备注 1.4.0 阿里巴巴集团技术团队 2018.5.20 增加设计规约(详尽版) 一、编程规约 (一) 命名风格 1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / __name / $name / name_ / name$ / name__ 2. 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。 正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3 3. 【强制】类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 4. 【强制】方法名

DFS和BFS讲解及Leetcode刷题小结(2)(JAVA)

为君一笑 提交于 2020-05-08 08:20:10
上一篇文章解决了DFS的问题,这次来解决BFS的问题就简单多了 DFS实现重要依赖于堆栈/递归 ,较为简单的解决了如何遍历所有元素,以及寻求“终点”的问题。 但是,DFS虽然可以查找到到达路径,但是却找不到最短的路径,针对这一问题,给出了BFS(广度优先遍历)的算法。 首先,先给出BFS的基本过程: 与DFS不同的是,这次不再是每个分叉路口一个一个走了,而是全部,同时遍历,直到找到终点,所对应的“层数”便是最短路径所需要的步数,BFS像是在剥洋葱,一层一层的拨开,最后到达终点。 如何实现呢? 我们利用队列来实现BFS,伪代码如下: int BFS(Node root, Node target) { Queue <Node> queue; // 建立队列 int step = 0; // 建立行动步数 // initialize add root to queue; // BFS while (queue is not empty) { step = step + 1 ; // 记录此时的队列大小 int size = queue.size(); for ( int i = 0; i < size; ++ i) { //遍历队列中的元素,并将新元素加入到队列中 Node cur = the first node in queue; return step if cur is

java-ArrayList中去重复字符串或重复对象、LinkedList集合、泛型、增强for、静态导入、可变参数、asList()方法、集合嵌套

删除回忆录丶 提交于 2020-05-07 18:45:44
1、去除ArrayList中重复字符串元素方式   * A:案例演示     * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     * 思路:创建新集合方式     /**     * A:案例演示     * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     * 思路:创建新集合方式     */     public static void main(String[] args) {       ArrayList list = new ArrayList();       list.add("a");       list.add("a");       list.add("b");       list.add("b");       list.add("b");       list.add("c");       list.add("c");       list.add("c");       list.add("c");       System.out.println(list);       ArrayList newList = getSingle(list);       System.out.println(newList);     }     /*     * 去除重复     * 1

[置顶]

JAVA泛型机制

情到浓时终转凉″ 提交于 2020-05-07 18:45:01
基本理论转自::http://blog.csdn.net/sunxianghuang/article/details/51982979 泛型数组的实现转自::http://blog.csdn.net/yi_Afly/article/details/52058708 请原谅我把大佬们的博客copy到一起,如有版权问题,发邮件到2735613123@qq.com 泛型之前 在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性。 此外,如果将方法参数声明为接口,将会更加灵活。 在Java增加泛型类型之前,通用程序的设计就是利用 继承 实现的,例如,ArrayList类只维护一个Object引用的数组,Object为所有类 基类 。 [java] view plain copy public class BeforeGeneric { static class ArrayList{ //泛型之前的通用程序设计 private Object[] elements= new Object[ 0 ]; public Object get( int i){ return elements[i]; } public void add(Object o){ //这里的实现,只是为了演示

《Thinking in Java》 10~

二次信任 提交于 2020-05-07 18:24:53
chapter 10 内部类(P191) 创建内部类 链接到外部类   内部类能访问器外围对象的所有成员,而不需要任何特殊条件。 使用.this与.new package cn.test; public class DotThis { void f() { System.out.println("DotThis.f()" ); } public class Inner{ public DotThis outer() { return DotThis.this ; } } public Inner inner() { return new Inner(); } public static void main(String[] args) { DotThis dt = new DotThis(); DotThis.Inner dti= dt.inner(); dti.outer().f(); } } package cn.test; public class DotNew { public class Inner{} public static void main(String[] args) { DotNew dn = new DotNew(); DotNew.Inner dni = dn.new Inner(); } } 为什么需要内部类 为了实现多重继承。 情形1

React Native之获取通讯录信息并实现类通讯录列表(ios android)

我的梦境 提交于 2020-05-06 15:23:55
React Native之获取通讯录信息并实现类通讯录列表(ios android) 一,需求分析 1,获取通讯录信息,筛选出通讯录里有多少好友在使用某个应用。 2,获取通讯录信息,实现类通讯录,可拨打电话 发短信等。 二,技术介绍与配置 2.1 技术介绍 1, react-native-contacts地址 :https://www.npmjs.com/package/react-native-contacts 2,下载安装: npm install react-native-contacts --save 3,自动链接: react-native link react-native-contacts 4,react-native-contacts API介绍: getAll(callback)——以对象数组的形式返回所有联系人 getAllWithoutPhotos——和getAll在安卓系统上是一样的,但是在iOS系统上它不会返回联系人照片的uri(因为创建这些图片会带来很大的开销) getPhotoForId(contactId, callback)——返回联系人照片的URI(或null) openContactForm (contact, callback)——在contactsUI中创建一个新的联系人并显示。添加一个联系人到通讯录。 updateContact

廖雪峰Java5集合-2List-1使用List

ε祈祈猫儿з 提交于 2020-05-05 23:07:36
1.List定义 List<E>是一种有序链表: List内部按照元素的先后顺序存放 每个元素都可以通过索引确定自己的位置 类似数组,但大小可变 //List<E>是一种有序链表: //* List的元素可以重复 //* List的元素可以是null import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args){ List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(2); list.add(null); list.add(3); System.out.println(list.size()); System.out.println(list.toString()); } } <img src="https://img2018.cnblogs.com/blog/1418970/201903/1418970-20190306185836923-1507466028.png" width="500" /> ## 2.List常用方法: * void add(E e) 在末尾添加一个元素 * void add(int index, E e

集合框架(上) 学生选课——添加,查询,修改,删除课程

爱⌒轻易说出口 提交于 2020-05-04 23:50:31
package com.imooc.collection; import java.util.Set; import java.util.List; public class Course{ /*课程类*/   public String id;   ← //因为是演示,所以用公有的属性,在实际开发中,要全部私有化   public String name;    ← //同上 /* 私有化写法: private String id; public String getId(){   return id; } public void setId(String id){   this.id=id; } */ public Course(String id,String name){    //含参构造器   this.id=id;   this.name=name; } } //学生类 public class Student{ public String id; public String name; public Set courses; } public Student(String id;String name;){ this.id=id; this.name=name; this.courses=new HashSet();  /*因为Set是一个接口,不能直接将它实例化

JavaWeb实现XSS过滤器

眉间皱痕 提交于 2020-05-04 16:06:26
自定一个请求处理类继承HttpServletRequestWrapper类,重写各个请求参数的获取方法,在方法里面使用正则匹配过滤掉特殊的符号: public class XSSHttpServletRequestWrapper extends HttpServletRequestWrapper { /** * Constructs a request object wrapping the given request. * * @param request The request to wrap * @throws IllegalArgumentException if the request is null */ public XSSHttpServletRequestWrapper(HttpServletRequest request) { super(request); } /** * 对数组参数进行特殊字符过滤 */ @Override public String[] getParameterValues(String name) { String[] values = super.getParameterValues(name); if (values == null) { return null; } int count = values.length; String