joda time, jackson 与 scala 反射】的更多相关文章

1. scala 反射,获得所有 field name 可以直接从 case class 获得 field 而不必创建实例 (get fields of a class without an instance) def extractFieldNames[T<:Product:Manifest] = {  implicitly[Manifest[T]].erasure.getDeclaredFields.map(_.getName)} case class Person(name:String,…
我们知道,scala编译器会将scala代码编译成JVM字节码,编译过程中会擦除scala特有的一些类型信息,在scala-2.10以前,只能在scala中利用java的反射机制,但是通过java反射机制得到的是只是擦除后的类型信息,并不包括scala的一些特定类型信息.从scala-2.10起,scala实现了自己的反射机制,我们可以通过scala的反射机制得到scala的类型信息.scala反射包括运行时反射和编译时反射,本文主要阐述运行时反射的一些用法,方便scala开发人员参考,具体原理…
本篇文章主要让大家理解什么是Scala的反射, 以及反射的分类, 反射的一些术语概念和一些简单的反射例子. 什么是反射 我们知道, Scala是基于JVM的语言, Scala编译器会将Scala代码编译成JVM字节码, 而JVM编译过程中会擦除一些泛型信息, 这就叫类型擦除(type-erasure ). 而我们开发过程中, 可能需要在某一时刻获得类中的详细泛型信息. 并进行逻辑处理. 这时就需要用的 这个概念. 通过反射我们可以做到 获取运行时类型信息 通过类型信息实例化新对象 访问或调用对象…
本篇文章主要让大家理解什么是Scala的反射, 以及反射的分类, 反射的一些术语概念和一些简单的反射例子. 什么是反射 我们知道, Scala是基于JVM的语言, Scala编译器会将Scala代码编译成JVM字节码, 而JVM编译过程中会擦除一些泛型信息, 这就叫类型擦除(type-erasure ). 而我们开发过程中, 可能需要在某一时刻获得类中的详细泛型信息. 并进行逻辑处理. 这时就需要用的 这个概念. 通过反射我们可以做到 获取运行时类型信息 通过类型信息实例化新对象 访问或调用对象…
我们知道,scala编译器会将scala代码编译成JVM字节码,编译过程中会擦除scala特有的一些类型信息,在scala-2.10以前,只能在scala中利用java的反射机制,但是通过java反射机制得到的是只是擦除后的类型信息,并不包括scala的一些特定类型信息.从scala-2.10起,scala实现了自己的反射机制,我们可以通过scala的反射机制得到scala的类型信息.scala反射包括运行时反射和编译时反射,本文主要阐述运行时反射的一些用法,方便scala开发人员参考,具体原理…
GITHUB : https://github.com/nscala-time/nscala-time MAVEN : (注意选对scala版本) <dependency> <groupId>com.github.nscala-time</groupId> <artifactId>nscala-time_2.10</artifactId> <version>2.6.0</version> </dependency&g…
近期有需求,要根据解析字符串,根据字符串的内容去调用方法.想到的基本就是使用反射.但是基本上能找到的资料,全没有讲scala的反射.只有零星点点的讲解.大部分都是用scala的语法写java反射最后翻了翻scala的官方文档 发现还在实验阶段.一不做二不休,索性两种反射方式都来尝试尝试.其实两种方式实现起来,都差不多,scala的方式好处在于可以反射闭包.不过这篇文章是讲解的基础的一些反射,后续补上闭包的反射等等.以下只讲解关键代码,具体细节部分可以参阅官方文档.http://docs.scal…
1. Scala 的 反射 关于 Scala 反射的具体内容,可以参考官方文档:https://docs.scala-lang.org/overviews/reflection/overview.html 这篇文章写一点自己的理解: 由于 Scala 编译出来的内容是与 Java 相同的字节码文件,所以可以使用 Java 反射的相关方法来实现 Scala 代码的反射. Scala 自己写了一套基于 Scala 的反射,具体的实现在 scala.reflect 这个 package 下面. 这篇文…
import java.util.TimeZone import com.fasterxml.jackson.databind.{DeserializationFeature, ObjectMapper} import com.fasterxml.jackson.datatype.joda.JodaModule import com.fasterxml.jackson.module.scala.DefaultScalaModule import com.fasterxml.jackson.mod…
基于Spark和SparkSQL的NetFlow流量的初步分析--scala语言 标签: NetFlow Spark SparkSQL 本文主要是介绍如何使用Spark做一些简单的NetFlow数据的处理,是基于 IntelliJ IDEA开发Spark 的Maven项目,本文会介绍一些简单的NetFlow基础知识,以及如何在 IntelliJ IDEA 上开发Maven项目,用Scala 写的一些简单的NetFlow字段分析统计的代码,包括 SparkCore和SparkSQL两个版本的. 初…
前情回顾 了解Scala反射介绍了反射的基本概念以及运行时反射的用法, 同时简单的介绍了一下编译原理知识, 其中我感觉最为绕的地方, 就属泛型的几种使用方式了. 而最抽象的概念, 就是对于符号和抽象树的这两个概念的理解. 现在回顾一下泛型的几种进阶用法: 上界 <: 下界 >: 视界 <% 边界 : 协变 +T 逆变 -T 现在想想, 既然已经有了泛型了, 还要这几个功能干嘛呢? 其实可以类比一下, 之前没有泛型, 而为什么引入泛型呢? 当然是为了代码更好的服用. 想象一下, 本来一个方…
​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http://item.jd.com/12299018.html 上节介绍完了并发,从本节开始,我们来探讨Java中的一些动态特性,包括反射.类加载器.注解和动态代理等.利用这些特性,可以以优雅的方式实现一些灵活和通用的功能,经常用于各种框架.库和系统程序中,比如: 在63节介绍的实用序列化库Jackson,利用反射和…
    基于maven配置的scala开发环境,首先需要安装 idea 的scala plugin.然后就可以使用maven编译scala程序了.一般情况下都是java scala的混合,所以src下面有java scala两个源文件目录. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns…
Java - 收藏集 -   Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具.了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板. 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和... 一文让你明白 Java 字节码 - 后端 - 掘金Intro 在这,我们相互学习,共同成长,分享使我们并不孤单. BRVAH@www.…
Unmarshalling是Akka-http内把网上可传输格式的数据转变成程序高级结构话数据的过程,比如把Json数据转换成某个自定义类型的实例.按具体流程来说就是先把Json转换成可传输格式数据如:MessageEntity,HttpRequest,HttpReponse等,然后再转换成程序高级结构数据如classXX实例.Unmarshalling对一个A类实例到B类实例的转换是通过Unmarshaller[A,B]来实现的: trait Unmarshaller[-A, B] exten…
Akka-http的客户端连接模式除Connection-Level和Host-Level之外还有一种非常便利的模式:Request-Level-Api.这种模式免除了连接Connection的概念,任何时候可以直接调用singleRequest来与服务端沟通.下面我们用几个例子来示范singleRequest的用法: (for { response <- Http().singleRequest(HttpRequest(method=HttpMethods.GET,uri="http:/…
scalikeJDBC可以通过配置文件来设置连接池及全局系统参数.对配置文件的解析是通过TypesafeConfig工具库实现的.默认加载classpath下的application.conf,application.json和application.properties文件.作为尝试,我们可以在resource/application.conf文件里进行h2和mysql数据库的JDBC驱动参数定义: # JDBC settings db { h2 { driver="org.h2.Driver…
在上一篇博文里我们把JDBC-Engine的读取操作部分分离出来进行了讨论,在这篇准备把更新Update部分功能介绍一下.当然,JDBC-Engine的功能是基于ScalikeJDBC的,所有的操作和属性都包嵌在SQL这个类型中: /** * SQL abstraction. * * @param statement SQL template * @param rawParameters parameters * @param f extractor function * @tparam A r…
最近需要将生产环境的spark1.3版本升级到spark1.6(尽管spark2.0已经发布一段时间了,稳定可靠起见,还是选择了spark1.6),同时需要基于spark开发一些中间件,因此需要搭建一套windows下的spark的开发环境,方便代码的编写和调试.中间遇到了比较多的问题,在此也做一个记录/总结. Spark编译 编译条件: 官方给出的spark预编译版本是不支持spark on hive的,同时也不能将spark作为hive的执行引擎.如果需要获得这些支持,则需要自己对spark…
Motivation Spark是基于Hadoop可用的生态系统构建的,因此Spark可以通过Hadoop MapReduce的InputFormat和OutputFormat接口存取数据. Spark所提供的上层接口有这几类: File formats and filesystems: 对于存储在本地或分布式系统的数据,比如NFS,HDFS,Amazon S3.Spark可以访问多种数据格式,包括text,JSON,SequenceFiles,protocol buffers. Structu…
<repository><id>codelds</id><url>https://code.lds.org/nexus/content/groups/main-repo</url></repository> http://tianya23.blog.51cto.com/1081650/386908/ <!-- 设定除中央仓库 (repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查询--> <…
原文地址:http://www.cnblogs.com/davidwang456/p/4915109.html Spring-data-redis为spring-data模块中对redis的支持部分,简称"SDR”,提供了基于jedis客户端与API的高度封装以及spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑. jedis客户端在编程实施方面存在如下不足: 1) connection管理缺乏自动化,connect…
Configuring the Jetty Container as a Https Connector Jetty版本:9.2.22.v20170606 Pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X…
一.java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.<init>(Ljava/io/InputStream;Z)V 当要将dataframe进行序列化(df.show()或者df.collect())时,报这个错误. 原因是:maven的pom.xml中含有spark 和 kafka. 1.spark2.3用到了lz4-1.3.0.jar,kafka0.9.0.1用到了lz4-1.2.0.jar,而程序运行时使用…
目录: 1. 业务2. 流程分析3. 数据读取5. 数据清洗6. 行政区信息 6.1. 需求介绍 6.2. 工具介绍 6.3. 具体实现7. 会话统计 导读 本项目是 SparkSQL 阶段的练习项目, 主要目的是夯实同学们对于 SparkSQL 的理解和使用 数据集 2013年纽约市出租车乘车记录 需求 统计出租车利用率, 到某个目的地后, 出租车等待下一个客人的间隔 1. 业务 导读 数据集介绍 业务场景介绍 和其它业务的关联 通过项目能学到什么 数据集结构 字段 示例 示意 hack_li…
花了很长时间尝试druid官网上说的Tranquility嵌入代码进行实时发送数据到druid,结果失败了,各种各样的原因造成了失败,现在还没有找到原因,在IDEA中可以跑起,放到线上就死活不行,有成功了的同仁希望贴个链接供我来学习学习:后来又尝试了从kafka实时发送到druid,还是有些错误(现在已经解决, 后面再记录一下):最后没办法呀,使用Tranquility Server呗 _ _! Tranquility Server的配置和启动请移步:https://github.com/dru…
下载appclawler 下载地址:https://pan.baidu.com/s/1dE0JDCH#list/path=%2F 查看帮助文档: java -jar appcrawler-2.4.0-jar-with-dependencies.jar Usage: appcrawler [options] -a, --app <value> Android或者iOS的文件地址, 可以是网络地址, 赋值给appium的app选项 -e, --encoding <value> set…
️ 引言 近两年,一直在折腾用FP与OO共存的编程语言Scala,采取以函数式编程为主的方式,结合TDD和BDD的手段,采用Domain Driven Design的方法学,去构造DDDD应用(Domain Driven Design & Distributed).期间,尝试了大量的框架:业务领域主要适用Akka.Scalaz等框架,UI和基础设施方面主要适用Spring.Kafka等框架,测试则主要适用Spock.ScalaTest.Selenium等框架. 两年的折腾,不能说没有一点收获.在…
一.Spark-StructuredStreaming checkpointLocation 介绍 Structured Streaming 在 Spark 2.0 版本于 2016 年引入, 是基于 Spark SQL 引擎构建的可扩展且容错的流处理引擎,对比传统的 Spark Streaming,由于复用了 Spark SQL 引擎,代码的写法和批处理 API (基于 Dataframe 和 Dataset API)一样,而且这些 API 非常的简单. Structured Streamin…
  开发工程师和数据科学家都会受益于本章的部分内容.工程师可能希望探索更多的输出格式,看看有没有一些适合他们下游用户的格式.数据科学家可能会更关注他们已经使用的数据格式. Motivation   我们已经介绍了大量分布式程序使用的Spark操作.目前为止,我们的例子都是从一个本地集合和规整文件中加载数据,但是有可能你的数据不是规整的或者不在一台机器上,那么就跟着我一起探索加载和保存数据的操作用法.   Spark支持广泛的输出输入源,部分原因是因为Spark构建在Haddoop生态环境之上.S…