zoukankan      html  css  js  c++  java
  • 同步异步以及泛型

    package com.zking.temp;

    import java.util.Vector;

    public class Temp {
    public static void main(String[] args) {
    //1.同步 异步
    //异步
    //未响应 = 假死 占用内存过多 内存无法进行处理
    //请求方式:同步 异步
    //网页的展现过程中:1.css的下载 2.js文件进行下载 3.下载你当前的html的页面 4.显示
    //同步 获取数据 页面的刷新
    //ajax 异步动作 success 成功对应属性 error 失败对应的属性
    //success 成功对应属性 error 失败对应的属性 callback 回调函数
    //异步解决问题 :未响应 = 假死
    //未响应 并发数
    //本机的浏览器进行访问请求而永远得不到响应所造成的未响应
    //并发量 服务器能够同时承受访问量的最大数值
    //Jmeter 测试当前服务器(服务器容器 tomcat) 的并发量
    //服务器的带宽 客户端再访问服务器的相应的速度 上行 下行
    //集群 分布式
    //微服务 线程中的 生产者和消费者 http协议来实现

    //Vector线程同步快,线程安全
    //ArrayList的运行速度较快,因为没有使用线程


    // Vector v = new Vector();
    // v.add("a");
    // v.add("a");
    // v.add("a");
    // v.add("a");
    // v.add("a");
    // v.add("a");
    // System.out.println(v.size());


    //栈
    // MyStarK me = new MyStarK();
    // me.push("a");
    // me.push("b");
    // me.push("c");
    // me.push("d");
    // me.push("e");
    // for (int i = 0; i < 5; i++) {
    // System.out.println(me.prop());
    // }


    //泛型
    //泛型类 泛型接口 泛型方法 泛型的属性
    //泛型的属性 属性的数据类型由调用方来决定当前属性数据类型
    //Integer 是int数据类型的封装类
    //Character 是char的类型的封装类
    //必定只能是类而不是基础数据类型的关键字
    //方便扩展

    // Person<String, Integer, Character> p = new Person<>();
    // p.setPname("zs");
    // p.setPage(18);
    // p.setPsex('女');
    //
    //
    // //泛型的方法
    // PersonMethod<String> pm = new PersonMethod<>();
    // pm.getValue("zs");
    //
    //引用类型可以new
    //装箱 值类型 到引用类型
    //jdk 1.5
    // int i = 10;
    // Object object = i;
    // System.out.println(object);

    int i = 10;
    String object = String.valueOf(i);
    System.out.println(object);

    //拆箱 引用类型 到值类型
    //jdk1.5
    // Object o = 10;
    // int j = (int)o;
    // System.out.println(j);

    String str = "10";
    int j = Integer.parseInt(str);
    System.out.println(j);
    }
    }

    package com.zking.temp;

    import java.util.List;

    /**
    * 泛型的结果 实现 可以在实现类中定义好也可以在调用的地方定义
    * 接口实现接口 实现类实现类
    * 基础接口 自定义接口 来扩展实现类
    * @author Administrator
    *
    * @param <E>
    */

    public interface IBaseFace<E> {
    //CRUD
    /**
    * 增加的公共方法
    * @param element
    * @return
    */

    public int addObject(E element);

    /**
    * 编辑
    * @param element
    * @return
    */

    public int editObject(E element);

    /**
    * 删除
    * @param element
    * @return
    */

    public int remove(E element);

    /**
    * 查询单个对象的方法
    * @param element
    * @return
    */

    public E queryObject(E element);

    /**
    * 查询多个对象的方法
    * @param element
    * @return
    */

    public List<E> queryObjects(E element);

    /**
    * 查询并且分页
    * @param element
    * @return
    */

    public List<E> queryObjectPage(E element);
    }

    package com.zking.temp;
    /**
    * 可以在当前的接口中确定他的数据类型
    * @author Administrator
    *
    */
    public interface IPersonFace extends IBaseFace<Person<String, Integer, String>> {
    public boolean queryUserName(String name);
    }

    package com.zking.temp;

    import java.util.List;

    public class PersonImpl implements IPersonFace {

    @Override
    public int addObject(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public int editObject(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public int remove(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public Person<String, Integer, String> queryObject(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public List<Person<String, Integer, String>> queryObjects(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public List<Person<String, Integer, String>> queryObjectPage(Person<String, Integer, String> element) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public boolean queryUserName(String name) {
    // TODO Auto-generated method stub
    return false;
    }

    }

    package com.zking.temp;

    import java.util.ArrayList;
    import java.util.LinkedList;

    public class MyStarK {

    // ArrayList arr = new ArrayList();
    //
    // public void push(Object object) {
    // arr.add(0,object);
    // }
    //
    // public Object prop() {
    // Object o = arr.get(0);
    // arr.remove(0);
    // return o;
    // }

    LinkedList arr = new LinkedList();

    public void push(Object object) {
    arr.addFirst(object);
    }


    public Object prop() {
    Object o = arr.getFirst();
    arr.removeFirst();
    return o;
    }


    }

    package com.zking.temp;

    public class Person<A,B,C> {

    private A pname;
    private B page;
    private C psex;


    public A getPname() {
    return pname;
    }
    public void setPname(A pname) {
    this.pname = pname;
    }
    public B getPage() {
    return page;
    }
    public void setPage(B page) {
    this.page = page;
    }
    public C getPsex() {
    return psex;
    }
    public void setPsex(C psex) {
    this.psex = psex;
    }



    }

  • 相关阅读:
    【字符编码】Java编码格式探秘
    【集合框架】JDK1.8源码分析之Collections && Arrays(十)
    【面试】shuffle函数的实现
    关于Jquery中ajax方法data参数用法的总结
    关于BootStrap下图标的显示问题
    dajngo权限管理
    Django下TemplateDoesNotExist 异常的解决方法:
    ubuntu安装有道
    python manage.py shell之后的一些错误:
    fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
  • 原文地址:https://www.cnblogs.com/oneo/p/10898895.html
Copyright © 2011-2022 走看看