暂无个人介绍
ResourceBundle的getBundle()方法需要两个参数 第一个参数配置文件的基本名称 第二个参数Locale getBundle()方法会通过两个参数来锁定配置文件 res_en_US.properties内容 username=Usernamepassword=Passwordlogin=Loginres_zh_CN.properties内容 username=用户名pas
过滤器 package cn.itcast.web.filter; import java.io.File; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.
监听器 package cn.itcast.web.listener; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.Servl
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>原型与继承</title> <script type="text/javascript"> /* * 组合的方
Python Version: 2.7.10Django Version: 1.9REST framework 3.3.2 安装 pip install django pip install djangorestframework settings.py INSTALLED_APPS中引入rest_framework INSTALLED_APPS = [ 'dja
Python Version: 2.7.10Django Version: 1.9REST framework 3.3.2创建项目:django-admin startproject TestWeb切换到项目中创建应用:django-admin startapp app01修改配置文件settings.py,添加你的应用app01和rest_framework IN
CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口) 缺点及改进: 每次的CGI请求都要生成程序的副本来运行 FastCGI-先编译 mod_perl-将解释器作为模块集成在web服务器中 使用C等编译语言 模板引擎jkxy.py form_type="GET"和form_type="POST"对应于g
API例子 import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String from sqlalchemy.orm import sessi
文本数据格式 ip2int函数用于IP地址转化为整数 int2ip函数用于整数转化为IP地址 insert_row函数用于插入数据库记录 from __future__ import print_function import torndb def get_mysql_conn(): return torndb.Connection( host=mysql[
有三种方式:mysql-connector, MySQLdb,torndb(对MySQLdb的二次封装) mysql-connector:游标是弱引用,无法封装成函数 MySQLdb:可以封装成函数 torndb:返回值可以转换成字典 from __future__ import print_function sql = ('SELECT * from ipdata limit 10')
推荐安装方式:命令行安装 pip install lxml==3.4.4 easy_install lxml==3.4.4 会自动下载lxml-3.4.4-cp27-none-win32.whl安装 cp27表示是python2.7 不指定版本号的话,默认会下载最新版(3.5.0)源码编译安装,编译过程中会提示缺少libxml2和libxslt依赖 github源码地址:https://gi
re.S让.能够匹配\n,默认情况点是不能匹配换行符的 1.爬取网页源码中的图片 #-*- coding:utf-8 -*- import re import requests with open('source.txt', 'r') as f: html = f.read() #匹配图片网址,括号中为需要返回的内容 pic_url = re.findall('img src="(
1.什么是正则表达式的贪婪与非贪婪匹配 如:String str="abcaxc"; Patter p="ab*c"; 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。 非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*
Struts2框架有两个核心配置文件:struts.xml和Struts2默认属性文件default.properties(在struts2-core-2.3.20.jar中) default.properties可以通过自己在classpath下写一个struts.properties文件进行定制改写 为什么是struts.properties,这可以看org.apache.strut
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(Generator)。 一、迭代器(iterator) 在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器 迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一
wordcount.toDebugString查看RDD的继承链条所以广义的讲,对任何函数进行某一项操作都可以认为是一个算子,甚至包括求幂次,开方都可以认为是一个算子,只是有的算子我们用了一个符号来代替他所要进行的运算罢了,所以大家看到算子就不要纠结,他和f(x)的f没区别,它甚至和加减乘除的基本运算符号都没有区别,只是他可以对单对象操作罢了(有的符号比如大于、小于号要对多对象操作)。又比如取
官网示例: http://thrift.apache.org/tutorial/java 软件下载: http://thrift.apache.org/download 学习教程: http://jnb.ociweb.com/jnb/jnbJun2009.html Thrift与其他传输方式的比较 xml与JSON相比体积太大,但是xml传统,也不算复杂。 json体积较小,新颖,但不够完
获取分页的每页结果存储过程 CREATE PROCEDURE [dbo].[mst_sp_pageshowex4] --输入参数 @qCols varchar(8000), -- @qTables varchar(8000), -- @qWhere varchar(8000), -- @oK
SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式 百度百科 公用表表达式(CTE),是一个在查询中定义的临时命名结果集将在from子句中使用它。每个CTE仅被定义一次(但在其作用域内可以被引用任意次),并且在该查询生存期间将一直生存。可以使用CTE来执行递归操作。创建的语法是: with <name of you cte>(<
1.Hash树 理想的情况是希望不经过任何比较,一次存取便能得到所查的记录, 那就必须在记的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和一个唯一的存储位置相对应。因而在查找时,只要根据这个对应关系f找到 给定值K的像f(K)。由此,不需要进行比较便可直接取得所查记录。在此,我们称这个对应关系为哈希(Hash)函数,按这个思想建立的表为哈希表。在哈希表中对于不同的关键字可能
如何linux机器可以联网直接yum install samba可省去很多麻烦 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为避免版本冲突需卸载掉 rpm -qa | grep samba rpm -e --nodeps samba-winbind-3.6.9-151.el6.i686 rpm -e --nodeps samba-winbind-client
概念: 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。 JDK动态代理实现 import ja
两张图解决问题 本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1719405
首先,一个函数不管是不是匿名函数,和闭包之间根本没有任何关系! 所谓闭包究竟是什么?网络上说法云里雾里,讲得高深莫测,但是其实只要稍微有一些编译器实现机制的认识,就会知道闭包其实是非常简单的东西。 我们先来看看下面的代码: function funcA() { var a = 1, b = 2; return funcB(); fun
package org.apache.spark.sql import org.apache.spark.{SparkConf, SparkContext} object SLA_parquetSQL { def main(args: Array[String]) { val sc = new SparkContext(new SparkConf().setAppName("
import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor} import org.apache.hadoop.hbase.mapreduce.TableInputFormat import org.apache.spark.rdd.NewHadoopRDD val conf = HBaseConfigurat
#!/bin/bash die () { echo >&2 "$@" echo "usage:" echo " $0 check|split table_name [split_size]" exit 1 } [[ "$#" -lt 2 ]] && die "at least 2 arguments required
-- rest api -- http://wiki.apache.org/hadoop/Hbase/Stargate curl -H "Accept: text/xml" http://itr-hbasetest01:20550/version -v curl -H "Accept: text/xml" http://itr-hbasetest01:20550/version/clu
-- case4 -- --========== rates ==========-- app0 1 app1 2 app2 2 app3 3 app4 3 app5 3 app6 5 app7 5 app8 5 app9 5 CREATE EXTERNAL TABLE rates ( app_name STRIN
-- case3 -- --========== f_orders ==========-- /* 11 2014-05-01 06:01:12.334+01 10703007267488 item8:2|item1:1 22 2014-05-01 07:28:12.342+01 10101043505096 item6:3|item3:2 33 2
-- case2 -- --========== click_log ==========-- /* 11 ad_101 2014-05-01 06:01:12.334+01 22 ad_102 2014-05-01 07:28:12.342+01 33 ad_103 2014-05-01 07:50:12.33+01 11 ad_104 20
-- case1 -- --========== order_created ==========-- /* 10703007267488 2014-05-01 06:01:12.334+01 10101043505096 2014-05-01 07:28:12.342+01 10103043509747 2014-05-01 07:50:12.33+01 10103043
-- hbase shell filter -- create 'test1', 'lf', 'sf' -- lf: column family of LONG values (binary value) -- sf: column family of STRING values -- 一个用户(userX),在什么时间(
1. 空中网面试题1 package com.kongzhongwang.interview; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; //myeclipse强大功能:将代码直接复制到项目的src路径下可以自动相应生成包
一个线程从队列里取数据,一个线程往队列里添加数据 import java.util.concurrent.Exchanger; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExchangerTest { public static
线程之间交换数据,都到达才交换,游戏中道具、金币的交换 import java.util.concurrent.Exchanger; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExchangerTest { public stat
countDown()将计数器减一 await()等待计数器值为0,当到达0时所有等待者开始执行 import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Countd
多个线程在指定的集合点(屏障点)等待集合后在继续去下一个集合点 import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class CyclicBarrierTest {
可以实现流量控制,同时访问文件的用户数 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; public class SemaphoreTest { public static void ma
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class ConditionCommunication { final Business busine
提高性能 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM控制的,我们只需要上好相应的锁即可。如果代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上读锁,写的时候上写锁。 import java.util.Random; import java.util.concu
3个线程的线程池提交10个任务 import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class ThreadPoolTest {
数据库connection和strut2每个请求用到ThreadLocal import java.util.Random; public class ThreadLocalTest { private static ThreadLocal<Integer> x = new ThreadLocal<Integer>(); /* * pr
子线程业务:循环10次 主线程业务:循环20次 这两个循环(业务)需要交替执行共50次 要用到共同数据的(包括同步锁)或共同算法(加密解密)的若干个方法应该归在同一个类上,这种设计正好体现了高内聚和程序的健壮性 while (bShouldSub) { try { this.wait();
2s后打印 接着4s后打印 再接着2s后打印 再接着4s后打印如此循环 import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class TraditionalTimerTest { static int count=0; public static void
<script type="text/javascript"> function reqWebService(){ var name=document.getElementById("name").value; //获取XMLHttpRequest var request=GetXmlHttpObject(); //设置回调函数
wsdl文档结构图 JDK方式开发 server端代码 package server; import javax.jws.WebMethod; import javax.jws.WebService; /** * * * SEI:Service Endpoint Interface 发布的服务接口 * */ @WebService public interface He
所需jar包 数据格式以逗号分隔 1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101,2.0 3,104,4.0 3,105,4.5 3,107,5.0 4,101,5.0 4,103,3.0 4,104,4.5 4,106,4.0 5,101,4.0 5,102,3.0 5,103,2
key和value的默认分隔符为tab键 设置分隔符 程序一 package org.conan.myhadoop.TopKey; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hado
安装JDK 1.7以上 Hadoop 2.7.0不支持JDK1.6,Spark 1.5.0开始不支持JDK 1.6 安装Scala 2.10.4 安装 Hadoop 2.x 至少HDFS spark-env.sh export JAVA_HOME= export SCALA_HOME= export HADOOP_CONF_DIR=/opt/modules/hadoop-2.2