Java 动态代理 一、基本使用方式代理两要素:1、要代理的接口, 动态代理只支持对接口提供代理。2、一个处理接口方法调用的java.lang.reflect.InvocationHandler接口。public class LoggingInvocationHandler implements InvocationHandler{ private static final Logger LOGG
Java 反射API 一、Java反射样例设置任意对象的属性值的JavaScirpt实现function invokeSetter(obj, property,value){ var funcName = "set" + property.subString(0,1).toUpperCase() + property.substring(1); obj[funcName](value);}var o
Java 的 脚本语言支持 静态性:编译时进行类型检查,所有变量、方法的参数和返回值的类型子程序运行之前必须是已知的。动态性:运行时进行类型检查,源代码中无需显示声明类型。一、脚本语言支持API脚本的执行需要由该脚本语言对应的脚本引擎,Java程序可以选择同时包含多种脚本语言的执行引擎1、获取殷勤Java6自带了基于Mozilla的Rhino实现的JS脚本引擎。ScriptEngineMa
Java 7 语法新特性 一、switch语句可以使用字符串匹配,之前只能使用与整数类型兼容的类型,包括char byte short和int ,与对应的封装类 Character Byte Short和Integerpublic class Title{ public string generate(String name, String gender){ String title = ""; s
eclipse 安装 jad反编译 1、将JadClipse JAR放到eclippse 下的 pulugins目录。net.sf.jadclipse_3.3.0.jar2、重新启动eclispe (eclispe -clean)3、找个目录安放Jad4、在eclipse 中,Window > Preferences .. > Java > JadClipse > Path to Decompiler 设置Jad的完整路
Scala 自学笔记 注解 注解注解在Java中广泛使用,我们可以对Scala类使用Java注解@Test (timeout = 100) def testSomeFeature(){...}@Entity class Credentials{ @Id @BeanProperty var username: String = _ @BeanProperty var password: String= _}
Scala 自学笔记 模式匹配和样例类 switchvar sign = ...val ch: Char = ...ch match{ // 无需像java一样 加break case '+' => sign =1 case '-' => sign = -1 case _ => sign = 0 // case _捕获所有,如果没有模式匹配,代码会抛出Match Error}与if类似,match也是表达式
Scala 自学笔记 集合 Scala集合的主要特质Iterator,用来访问集合中所有元素val coll = ... // 某种Iterableval iter = col.iteratorwhile(iter.hasNext) iter.next()Seq是一个有先后次序的值得序列,比如数组或列表。IndexSeq允许我们通过整形的下表快速访问任意元素,如ArrayBuffe
scala 自学笔记 高阶函数 作为值得函数变量中可以存放函数import scala.math._val num = 3.14 // Doubleval fun = ceil _ // (Double) => Double, fun设为ceil函数, _ 意味着确实指这个函数,而不是碰巧忘记参数。从技术上讲,_ 将ceil方法转成了函数,在scala中,无法直接操纵方法,而只能直接操纵函数。fun(num
Scala 自学笔记 操作符 反引号val `val` = 42 // 合法的这个示例很糟糕,但反引号有时可以派上用场,比如在Scala中yield 是一个保留字,但可能需要访问Java中一个同样命名的方法时,可以Thread.`yield`()中置操作符a 标识符 b (一个隐式参数和一个显式参数)1 to 101.to(10)1 -> 101.->(10)自定义操作符: 计算两个
Scala 自学笔记3_特质 1、文件和正则表达式读取行import scala.io.Sourceval source = Source.fromFile("myfile.txt","UTF-8") //第一个参数可以是字符串或是java.io.File2// 如果文件使用的是当前平台缺省的字符编码,则可以略去第二个字符串编码参数val lineIterator = source.getLines //返回一个
Scala 自学笔记2_类 4、类class Counter{ private var value = 0 // 必须初始化字段 def increment() { value += 1} //方法默认是公有的 def corrent() = value} //类无需声明为public , 源文件可以包含多各类,所有类都具有公有可见性。val myCounter = new Coun
Scala 自学笔记 1、声明指和变量val answer = 8 * 5 + 2; //常量var counter = 0; //变量//在必要的时候 ,可以指定类型val greeting:String = nullval greeting:Any = "Hello"//可以将多个值或变量放在一起声明val xmax, ymax = 100 //xmax 和 ymax设为100var gree
Spark MLlib 炼数成金 课程1、机器学习分类1)监督学习, 收集特征,把某一类特征归为归为一个目标,目标是由人标注的。如回归分析和统计分类,二元分类,如 垃圾邮件判断。多远分类,如网页归为体育,新闻,政治等。2)无监督学习,没有认为标注,常见无监督学习有 聚类。3)半监督学习,介于监督与无监督之间。4)增强学习,通过观察来学习学习做成如何的动作,每个动作都会对环境有所影响,学习对象根
SparkStream 使用 炼数成金 课程1、监控本地文件夹下的文件信息import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.spark.streaming.StreamingContext._object HdfsWordCount {
SparkSql 使用 炼数成金 课程SparkSql无需安装, 直接初始化SQLContext即可//启动spark-shellbin/spark-shell --master spark://hadoop1:7077 --executor-memory 3g//RDD演示val sqlContext= new org.apache.spark.sql.SQLContext(
spark stand alone 集群部署 以Spark 1.1.0为例1、编译源码 ./make-distribution.sh --tgz --skip-java-test -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0(视情况更改配置)
npm install 解决报错 npm cache cleanrm -rf ~/.npm (suggestion from other report)rm -rf node_modules (to remove the local modules)
Java 多线程 并发编程 一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进
Java源代码和字节代码操作 Java虚拟机平台代码的编译,运行流程:1、用户编写、或运行时动态编译 => Java源代码2、javac、或使用工具动态创建 => Java字节码3、Java字节码在被虚拟机执行前,修改代码内容来改变程序行为。一、Java字节代码格式大部分Java源代码在编译之后生成,保存在class文件中。(当然字节代码也可以通过网络从远程服务器下载,或运行时动态生成)字节代
Java 类加载器 类加载器的基本功能为:从包含字节代码的字节流中定义出虚拟机中的Class类的对象。得到Class的对象之后,一个Java类就可以在虚拟机中自由使用,包括创建新的对象或调用类中的静态方法。一、类加载器的概述java.lang.ClassLoader类是所有由Java代码创建的类的加载器的父类。其本身是通过Java平台提供的启动类加载器(bootstrap class
关于Hadoop 的配置信息 1、启动Hadoop 必须要有几个配置文件,作为NameNode必须要有core-site.xml(不同版本可能不同),来指明nameNode的监听端口。2、运行MapReduce测试程序时,如果没有hadoop命令,而是在IDE或是Java环境下,由于不知道配置文件在哪里,无法获取nameNode的监听端口,但是有默认值,默认值为本机的9000端口。3、如果在IDE中运行测试,需要在主类
Hadoop 中为什么使用Interface Writable 代替 Serializable 1、Writable 提供比 Serializable 更高 比例的压缩2、Serializable 中有太多hadoop所无需关心的元数据3、Doug认为, 他需要对整个序列化的过程全部掌控。4、既然JAVA中,int有包装类Integer,那再多一个IntWriteable 也是可以理解的5、如果用户使用Integer, 也完全可以在hadoop中完美序列化。参考
Grails_数据库逆向工程插件 db-reverse-engineer step -1安装插件在项目根目录运行 grails install-plugin db-reverse-engineerstep-2配置数据库参数在项目配置文件DataSource.groovy中配置数据库信息例:dataSource { pooled = true driverClassName = "com.mysql.jdbc.Dri
GrailsGuide_1_Configuration 3. 配置3.1 基本配置Griails 提供一个配置文件 grails-app/conf/Config.groovy. 该文件使用Groovy's ConfigSlurper.(非常类似 Java properties)例子:foo.bar.hello = "world"然后在程序中,可以用两种方式访问到该配置属性1) 最常用的是 使用GrailsApplication对象,
Matrix of each desktop application development platform Here are matrixes of some development platform.Any option or complementarity is appreciated . A glancing maxtrix User InterfaceDocument/Community/employeesCross-platform
some useful technology english about DB: You need atomic operations. - your app can crash at any time and you dont have to worry about corrupt data)You need asynchronous operations. - multiple instances of your applicati
使用java.awt包 对图片进行大小调整 import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.Transparency;import java.awt.RenderingHints.Key;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStr
jQuery Autocomplete 一、用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/当前版本:1.0.2需要JQuery版本:1.2.6二、使用autocomplete( url or data, options ) Returns: jQuery让一个input或textarea有autocomplete功能例子Js代码var data = "Core Selectors Attribu
Solr_stopword相关注意事项 So in Solr, normally we’re used to stopwords just kind of magically working. If you enter a stop word in a query, it’ll just be silently ignored and stripped out (unlike my legacy OPAC, which will give you zero results whenever you include a stopword
哈佛图书馆的二十条训言 此刻打盹,你将做梦;而此刻学习,你将圆梦。我荒废的今日,正 是昨日殒身之人祈求的明日。觉得为时已晚的时候,恰恰是最早的时候。勿将今日之事拖到明日。学习时的苦痛是暂时的,未学到的痛苦是终生的。学习这件事,不是缺乏时间,而是缺乏努力。幸福或许不排名次,但成功必排名次。学习并不是人生的全部。但既然连人生的一部分―――学习也无法征服,还能做什么呢?请享受无法回避的痛苦。只有比别人更早、更勤奋地努力,才能尝到成功的滋味。谁也不能随随便便成功,它来自彻 底的自我管理和毅力。时间在流逝。现在流的口水,将成为
response code 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求
Jersey_笔记 一、Hello World编写一个名为HelloResource的资源package sample.hello.resources;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;@Path("/hello")public class HelloResource { @GET @Produces(javax.ws.rs.core.MediaType.TEXT_PLAIN)
Solr在TomCat下的使用 和 运行多个Solr 一、在Tomcat中安装运行Solr 下载Solr包,找到dist文件夹中的appache-solr-1.4.0.war。将它拷贝到tomcat的webapps下,改名为solr.war(之后访问的路径为/solr)。在webapp下建立同war包名一样的文件夹(这里就是solr),将example/solr下的所有文件拷贝到这个目录下(这里是一些样例的配置)在tomcat的conf/Catalina/localhost文件夹下面建立solr.xml,设定solr的根目录。
Solr笔记(2)_Schema.xml和solrconfig.xml分析 现在我们开始研究载入的数据部分(importing data)在正式开始前,我们先介绍一个存储了大量音乐媒体的网站http://musicbrainz.org ,这里的数据都是免费的,一个大型开放社区提供。MusicBrainz每天都提供一个数据快照(snapshot)的SQL文件,这些数据可以被导入PostgreSQL数据库中。一、索引。我们需要做的就是 对不同的文档类型定义不同的fields,然后使用field来辨别type。一个field在所有的的文档中应该是唯一的。
Solr笔记(1)_概况 一、简洁 Solr是一个开源的,企业级搜索服务器。她已经是一个成熟的产品,用于强化网络站点的搜索功能,包括内部局域网。她是用Java语言编写。使用HTTP和XML进行数据传输,Java的掌握对于学习Solr不是必须的。除了能返回搜索结果外,还有包括高亮搜索关键字,方位导航(已广泛用于电子商务网站),查询关键字拼写校验,自动查询建议和 “类似”查询 帮助更好定位搜索。二、Lucene,solr的基础引擎 在相信介绍Solr前,我们先从Apache Lucene开始,Solr的核心基础引
Guice笔记_补充 1、关于标注绑定,如若不是属性,是方法上的注入,如下适用标注 @Inject@Wwwpublic Service service;//方法上的如下@Injectvoid injectService(@Www Service service) { ...} 2、隐式绑定,如果缺少显示绑定(即没有写任何binder),Guice会试图注入并创建一个所依赖的类的新实例,如果依赖于一个接口,Guice会寻找指向
Guice笔记 1、Hello World!1、定义ServiceService.javapublic interface Service{ public void sayHello();}2、定义实现类ServiceImpl.javapublic class ServiceImpl implements Service{ @Override public String sayHello() { return "Hello World!"; }}
EJB3学习笔记_Message-Driven Bean Why Messageing 1、Asynchrony(异步)A typical RMI-IIOP(Session Bean) client must wait while the server performs its processing2、Decoupling(解耦)An RMI-IIOP client has to know the individual s
EJB3学习笔记_JPA 1、简介:EJB 过去用EntityBean,在EJB3后不推荐使用,而是用JPA代替。 2、JPA简介对流行的ORM框架做了抽象,做到更一般化,抽象了各框架中的交叉部分,所以没有特定框架来得强大JPA不提供实现,委托具体产品实现3、规范 配置persistence.xml,放在META-INF下 注:在eclipse中定义xsd: Preferenc
Groovy笔记(12)_Groovlet Groovlet介绍 1、Groovlet是以Servlet API为基础建立起来的框架2、Groovlet与GSP框架提供一种优雅而简单的平台,将它用于构建复杂程度不高的Web应用程序。3、Groovlet不需要继承HttpSevlet,甚至连类都可以不需要写4、Groovlet不需要实现doGet(),doPost()等发放5、Groovlet实际上时直接使用Se
Groovy笔记(11)_模板技术 模板引擎概述 1、模板技术:从模型中分离视图的一种手段,可以降低应用程序的维护成本2、Java语言具有Velocity和FreeMarker等3、模板引擎与XSLT很类似4、可以创建一个模板,包含一些占位符,在运行时替换为实际的值。模板引擎然后可以通过读取该模板并在这些占位符和运行时的值之间家里映射来实现对模板的转换。 5、定义模板toy_xml.templa
Groovy笔记(10)_Swing界面 构造器 1、可以生成XML/HTML/SWING等嵌套树状数据结构2、在语法级别上实现GOF的Builder设计模式 NodeBuilder 创建嵌套的节点树DomBuilder 创建W3C DOM树SwingBuilder 创建Swing界面AntBuilder 生成ANT脚本MarkupBuilder
Groovy笔记(9)_GroovySql GroovySql概述 1、GSql结合利用闭包和迭代器,把资源管理的负担转移到Groovy框架本身,从而简化JDBC编程2、不用关闭Conne,也不用关闭ResultSet3、Groovy把迭代器编程隐含的,使用起来更简单。 def coll = ["groovy","grails","java"] coll.each{tiem -> println
Groovy笔记(8)_File File 类介绍 1、抽象路径名:File类提供抽象的,独立于系统的分级路径名试图。 D:/clat/test.groovy(注意抽象路径名使用/,不是/ )2、File可以表示文件或目录3、Groovy对java.io.File进行了增强(参考GDK Doc) def toysFile = new File("src/TestToysFile.dat")
Groovy笔记(7)_Class Groovy 类例子 1、class Toy{ def toyName //会在java代码中声明为私有的,并提供set和get def unitPrice def method(){ //此方法在生成的java代码中返回
Groovy笔记(6)_闭包 闭包介绍 1、由{}包围起来的代码块就是闭包 println{} //执行该行,结果如下: com.clat.GroovyTest$_run_closure1@10a2d43 符合格式:类$匿名内部类@hash code 结论: 闭包是一个匿名内部类的对象。 2、也可以给闭包取名字: def aClosure = { p
Groovy笔记(5)_正则表达式 正则表达式 1、正则表达式在Groovy中式本地语言级别的支持2、def aRegex = ~clat println aRegex.class //输出:class java.util.regex.Pattern def mat =clat=~clat println mat.class
Groovy笔记(4)_字符串处理 字符串处理一 println clat said "escaflone"println "clat saidescaflone" // 影号中的影号,大中放小,小中放大都可以,类似jsdef str1 ="Groovy&Grails&clat"println str1[4] //v,同getAt(4)pri
Groovy笔记(3)_集合 集合概述 1、集合应用很广泛2、Groovy直接在语言内使用集合不需要导入专门的类,也不需要初始化对象集合石语言本身的本地成员3、每个Groovy集合都是java.util.Colleciton或java.util.Map的实例4、List,String,StringBuffer,Range,Map,File,Matcher都是用同一的size()方法获取长度.
Groovy笔记(2)_表达式与运算符 表达式与运算符 可参考Groovy in Action P64 1、a==b 等价 a.equals(b)2、Groovy的"===" 就是Java的"=="3、Groovy支持操作符重载,重载运算符对应的方法就是操作符重载4、5、?: 安全引用操作符(防止NullPointerException),在方法调用前面添加一个?就相当于再调用前面放了一个条件,
Groovy笔记(1)_简介 Groovy简介: 参考书籍:《Groovy入门经典》、《Groovy in Action》 1、Groovy是Java平台上脚本语言,抽象程度更高可以更简单快速地开发,可以编写更少的代码。2、与Java语言无缝集成,可称为“超级Java”使用“类Java”语法,Java成语员可以快速过渡。Groovy与Java二进制兼容,都生成字节码,所以可以与使用J
EJB3学习笔记_EJB纵览和webService 1、EJB是为了构建企业级的、分层的、分布式的应用标准,降低开发的复杂性。(包含以下一些问题)Remote Method Invocations(远程方法调用)Load Balancing(负载平衡)Transparent Fail-over(错误感知、容错性,将一台有问题主机的服务或用户会话状态迁移到另一台)Back-end Integration(后端系统集成,如数据库)
Effective in Java 笔记 1、用静态工厂方法代替构造函数 优点:与构造函数不同,静态工厂方法具有名字(表意好)。每次被调用时,不要求非得创建一个新的对象。可以返回一个原返回类型的子类型对象。 缺点:类如果不含有公有的或受保护的构造函数,就不能被子类化。它们于其他的静态方法没有任何区别(易混淆) 2、使用私有函数构造强化Singleton属性 public