杂乱笔记之一

1.session 管理:cotext.xml 
        <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>  
        <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="172.16.116.103" port="6379"/>  

2. location /uploads {
        root   D:/data/resource;
        rewrite ^/uploads/(.*)$ /uploads/$1 break; #这里很重要,rewrite就是真正的跳转规则使Nginx能访问目录不在nginx根目录下的文件夹
    }#通过nginx访问本地文件(img,txt,excel等)

3.如果对数据的实时性要求很高,则可在查询时加入事务。如银行的存取款业务,但一般加入事务会影响业务的性能,所以很多高并发的情况下并不加事务。

4.double和Double的区别:double是基本数据类型,Double是原始数据类型;double没有方法,Double有自己的属性和方法;double只能创建引用,
   Double可以创建对象;集合类不能存放double,只能存放Double;double存放在栈中,Double存放在堆中,栈的存取速度要高于堆,另外,栈中的
   数据可以共享。

5.利用nginx下载,后台代码利用response.sendRedirect(MediaUploadConst.get().staticServerAddress+path);重定向的方式,通过nginx访问path里面的 
   文件,进而进行下载。staticServerAddress可以再配置文件中配置。
   nginx.conf
   include       mime.types;
   default_type  application/octet-stream;

6.Integer是一个引用类型的变量,而int是一个基本类型的变量。对于基本类型变量,==比较的是其值而非地址,而对于引用类型的变量,==和.equals()比较的
     都是其地址,除非该类对.equals()方法进行了重写,例如String类和Integer类。对于-127到128之间的整数,可以利用==来对比Integer类的变量。但为了确保
     Integer类变量对比的结果总是正确,还是得利用,equals()方法进行比较。

7.String的replace,replaceAll,replaceFirst方法的区别
     String s = "my.test.txt";
     System.out.println(s.replace(".", "#"));
     System.out.println(s.replaceAll(".", "#"));
     System.out.println(s.replaceFirst(".", "#"));
     打印结果:
     my#test#txt
     ###########
     #y.test.txt

8.webservice和dubbo一样,是一个远程调用服务技术,只是一般都使用再公司间的调用,dubbo经常使用再公司内部的服务调用。websphere和tomcat一样是一个
    应用服务器,一样可以和eclipse整合一起用。

9.反响代理和负载均衡的区别,反向代理是指nginx作为前端服务器,将请求转发到后端,再将后端的结果,返回给客户端,它再中间做了一个代理服务器的角色。而
    负载均衡是对反向代理新增了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力。

10.正向代理和反向代理的区别,正向代理是指用户访问原始服务器时,不能直接访问,中间时通过代理服务器去访问。而反向代理是指用户访问资源时,根本不知道原
    始服务器的存在,即不知道自己访问的是哪个网站,以为访问的是代理服务器,而代理服务器再去访问原始服务器,然后将访问的结果返回给用户。

11.循坏日期
    public void createDialyPrices(AddOrUpdateHotelSalePriceListParam param, Set<HotelSalePriceParam> hotelSalePrices,
            HotelSalePriceList salePriceList) {
        Calendar cal = Calendar.getInstance();
        // 设置日期起始时间
        cal.setTime(param.getStartDate());
        // 判断是否到结束日期
        while (cal.getTime().before(param.getEndDate()) || cal.getTime().equals(param.getEndDate())) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            // 获取时间字符串
            String str = sdf.format(cal.getTime());
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

            try {
                  // 将字符串转换为时间格式
                  Date useDate = simpleDateFormat.parse(str);
                  for (HotelSalePriceParam salePriceInfo : hotelSalePrices) {
                salePriceInfo.setSalePriceListId(salePriceList.getId());
                salePriceInfo.setUseDate(useDate);
                HotelSalePrice dailySalePrices = hotelQuoteFactory.addSalePrice(salePriceInfo,model);
                roomAmount += dailySalePrices.getInitialAmount();
                salePriceList.addPrices(dailySalePrices);
                }
            } catch (ParseException px) {
                px.printStackTrace();
            }
            cal.add(Calendar.DAY_OF_MONTH, 1);// 进行当前日期月份加1
        }
        // 维护最小销售价,最小底价
        this.addMinSalePrice(salePriceList);
        salePriceList.setInitialAmount(roomAmount);
    }
12.计算地球两点之间的距离
     public double algorithm(double longitude1, double latitude1, double longitude2, double latitude2) {
    double Lat1 = rad(latitude1); //纬度
    double Lat2 = rad(latitude2);
    double a = Lat1 - Lat2;//两点纬度之差
    double b = rad(longitude1) - rad(longitude2); //经度之差
    double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(Lat1) * Math.cos(Lat2) * Math.pow(Math.sin(b / 2), 2)));//计算两点距离的公式
    s = s * 6378137.0;//弧长乘地球半径(半径为米)
    s = Math.round(s * 10000d) / 10000d;//精确距离的数值
    return s;
     }

     private double rad(double d) {
    return d * Math.PI / 180.00; //角度转换成弧度
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值