• java编程经典语录


    2016-09-19
    
    1. 文件File是对IO的抽象; 进程是对一个正在运行的程序的抽象; 虚拟机是对整个计算机的抽象(包括操作系统,处理器和程序的抽象)
    
    2.hibernate中,1vs N 一对多的关联中,在1方设置inverse=true;让多方来维护关系有助于性能改善
    
    3.如何解除父子关系?通过置null!
    customer.getOrders().remove(order);//1方
    order.setCustomer(null);//多方
    tx.commit();
    
    4.《设计模式》精髓: 发现变化封装变化;针对接口编程;抽象层次越高,接口的语意越模糊,适用范围越广。
    
    5.下载excel,如何设置excel的长度?先写到字节流中后后把响应写到浏览器
    OutputStream buf= new ByteArrayOutputStream();
    workbook.write(buff);
    response.setContentLength(buf.toByteArray().length);
    workbook.write(response.);

     2016-09-21

    什么是闭包?
    答案:闭包就是负责到底,例如:
    user 到A部门去办证,结果发现办这个证需要B,C,D部门盖章。。。
    
    闭包就是
    user找到A部门,A部门去找B找C找D去盖章,这就是闭包的负责到底,如果是user自己去A,去B,去C。。。部门敲章就不是闭包

     20166-09-22

    jQuery中 $.done 和 $.always 区别?
    done:成功时执行,异常时不会执行。
    always:不论成功与否都会执行。
    
    jquery中两个重要的方法!!!
    1.传递数据到函数
    
    function handlerName(event) 
    {
      alert(event.data.msg);
    }
    
    $(document).ready(function(){
      $("p").on("click", {msg: "You just clicked me!"}, handlerName)
    });
    
    2.适用于未创建的元素
    
    $(document).ready(function(){
      $("div").on("click","p",function(){
        $(this).slideToggle();
      });
      $("button").click(function(){
        $("<p>This is a new paragraph.</p>").insertAfter("button");
      });
    });
    
    			/**
    			 * 使用类路径的读取方式
    			 *  / : 斜杠表示classpath的根目录
    			 *     在java项目下,classpath的根目录从bin目录开始
    			 *     在web项目下,classpath的根目录从WEB-INF/classes目录开始
    			 */
    			InputStream in = JdbcUtil.class.getResourceAsStream("/db.properties");
    

      2016-09-23

    //如何让字符串数组通过逗号分隔符组合成字符串? 这个方法相当好! String[] -----> String
    String[] keys = {"Z123","Z12345","Z666"};    
    String orderId = org.apache.commons.lang3.StringUtils.join(keys, ',');
    HQuery query = new HQuery();
    query.setQueryString("from OrderDTO where id in (" + orderId + ")");

    String ----------> String[]
    String[] keys = StringUtils.split(orderId, ',');

     2.通過hibernate的initial方法加載子集

    	public String region="selleck.model.order.dto.OrderDTO";
    	public  boolean cacheable=true;
    
    @Override
    	public OrderDTO find(Integer id) {	
    		Session session = null;
    		session = this.getSession();
    		OrderDTO orderDTO = null;
    		String hql = "select orderDTO from OrderDTO orderDTO where orderDTO.id=?";
    		Query query = session.createQuery(hql);
    		query.setInteger(0, id);
    		query.setCacheable(cacheable);
    		query.setCacheRegion(region);
    		List<OrderDTO> orderDTOs = query.list();
    		if (orderDTOs != null && orderDTOs.size() > 0) {
    			orderDTO = (OrderDTO) orderDTOs.get(0);
    		}
    		if(orderDTO != null){//订单不为空 查询订单下的产品
    			Hibernate.initialize(orderDTO.getOrderProductDTOs());
    			Hibernate.initialize(orderDTO.getUserDTO());
    		}
    		session.close();
    		return orderDTO;
    	}
    
    这个简单的,你别用Session记录用户登陆信息,用Application,或者用Cache记录
    
    把用户的登陆信息记录在一个表中,用户登陆表增加一行,用户退出,删除那一行
    
    如果想踢掉某人,人为删除那一行登陆信息就可以了,你可以搜一下单点登陆,实现原理基本一样 
    View Code
    web 是“无状态”的系统,
    也就是说相当于你认为每一次页面请求服务器的时候都可能“重启服务器”
    。所以你只能每一次查询数据库(当然可以先查询数据缓存,没有的情况下才查询数据库),
    通过查询到的记录的属性来判断某用户最后一次在线时的 SessionID 是不是当前网页请求消息在 cookie 中所提交的 SessionID。
    如果不是,那么就告诉客户端“无法继续在线”就行了。
  • 相关阅读:
    面试题6 重建二叉树
    面试题5 从尾到头打印链表
    面试题4 替换空格
    面试题3 二维数组中查找
    面试题2 单例
    C++ 强制类型转换
    C++ 11 新特性
    STL 函数对象
    STL 算法
    OpenSSH多路复用Multiplexing配置
  • 原文地址:https://www.cnblogs.com/bravolove/p/5884224.html
Copyright © 2020-2023  润新知