段智华
智华专注于GenAI/LLM大模型技术的研究,参与了7本书籍的写作,拥有3项专利,10多项软著,以及4篇IEEE国际会议论文。参与Gavin大咖主编,北京航空航天大学出版社2024年5月最新出版的2本图书著作:《Transformer&ChatGpt解密:原理、源码及案例》、《Transformer& Rasa 解密 原理、 源码及案例》,共撰写1948篇原创博客文章,涵盖Transformer、GPT-4、ChatGPT、Llama2/3、Langchain、Mistral、Mixtral、Rasa、AI机器学习、Spark大数据等主题。博客文章的总阅读量为310万次。
展开
-
Scala: foldLeft和foldRight 实战
Scala: foldLeft和foldRight 实战scala源代码:def /:[B](z: B)(op: (B, A) => B): B = foldLeft(z)(op)def :\[B](z: B)(op: (A, B) => B): B = foldRight(z)(op)在scala命令行运行scala> (0/:(1 to 100))(_+_) res0原创 2015-07-25 20:32:18 · 1999 阅读 · 0 评论 -
第84讲:Scala中List和ListBuffer设计实现思考
第84讲:Scala中List和ListBuffer设计实现思考1 list的设计实现思考2 listBuffer设计实现 listBuffer高效final case class ::[B](private var hd:b,private[scala] var t1:List[B] extends List[B] ){override def head :B=hdov原创 2015-08-16 14:51:54 · 613 阅读 · 0 评论 -
第82讲:Scala中List的ListBuffer是如何实现高效的遍历计算的?
本视频由王家林老师通过代码实战的方式深入浅出的讲解了Scala中List的ListBuffer是如何实现高效的遍历计算的。本视频的主要内容如下:List与ListBuffer和java中的String与StringBuffer的设计很相似,List与String设计默认是不可变的,var list = List[XX]形式生成的list虽然有var作修饰,但类型认为immutable,向其中添加元转载 2015-08-16 14:40:10 · 594 阅读 · 0 评论 -
Scala 使用XML
1、scala允许以字面量的形式键入XML2 xml字面量中使用花括号{}做转义符,执行SCALa代码3、使用 \ \\ 获取标签属性 属性前加@4、xml模式匹配 任意序列 _* DT大数据微信公众账号:DT_SparkDT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/home?原创 2015-09-02 21:44:12 · 798 阅读 · 0 评论 -
第89讲:Scala中使用For表达式实现内幕思考
第89讲:Scala中使用For表达式实现内幕思考object For_Advanced { def main(args: Array[String]) {} def map[A, B](list: List[A], f: A => B): List[B] = for(element def flatMap[A, B](list: List[A], f:原创 2015-08-22 11:31:16 · 506 阅读 · 0 评论 -
第91讲:Akka第一个案例动手实战架构设计
第91讲:Akka第一个案例动手实战架构设计以wordcount为案例actor架构1 master actor 主控 2 map actor map计算3 reduce actor reduce 汇总 4 aggregate aggregate 合并 DT大数据微信公众账号:DT_SparkDT大数据梦工厂scala的所有视频、PPT和代码在百度原创 2015-08-22 12:31:37 · 627 阅读 · 0 评论 -
第87讲:Scala中使用For表达式做查询
第87讲:Scala中使用For表达式做查询case class Book(title : String , authors : List[String])object For_Query { def main(args: Array[String]) { val books: List[Book] = List( Book("Structure and Inte原创 2015-08-22 11:17:27 · 511 阅读 · 0 评论 -
第92讲:Akka第一个案例动手实战开发环境的搭建
第92讲:Akka第一个案例动手实战开发环境的搭建1 下载安装intellij IDEA2 IDEA 自动集成了各类插件,使用自然 DT大数据微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/home?uk=4013289088&view=share#ca原创 2015-09-20 08:14:48 · 786 阅读 · 0 评论 -
第93讲(HelloActor整体介绍):Akka第一个案例动手实战开发消息实体类
第93讲:Akka第一个案例动手实战开发消息实体类HelloActor的整体框架及实现:一:HelloActor包括的actors:1 AggregateActor:对最后所有ReduceActor的结果进行统计2 MapActor:对收到的消息进行单词切分3 MasterActor 控制器,给MapActor发字符串,要MapActor进行单词切分工作。4 ReduceA原创 2015-09-20 08:37:23 · 900 阅读 · 0 评论 -
JAVA 内部类、外部类、继承、抽象类、接口实战
1、 Person、Student类定义在JavaOop类里面,属于内部类, private String school是private 级别,Student类的s实例可以直接引用 School属性2、将Person、Student类定义在JavaOop类外面,属于外部类,private String school是private 级别,Student类不可以直接引用 School属性,必须s原创 2016-02-08 12:40:49 · 784 阅读 · 0 评论 -
JAVA设计模式实战---代理模式!!!
JAVA设计模式实战---代理模式!!!1、常用的设计模式有工厂模式、观察者模式、单例模式,装饰模式,门面模式、适配器模式。2、设计模式最最重要的是代理模式!如:浏览器是上网的代理。代理模式的特征是Proxy代理端和Stub实现端都实现同样的接口。这样用户使用Proxy端就象使用真正的Stub端一样,屏蔽了底层细节。Stub是真正的实现,Proxy在内部访问原创 2016-02-08 16:00:24 · 580 阅读 · 0 评论 -
JAVA设计模式实战---工厂模式!!!
JAVA设计模式实战---工厂模式!!!package IMF;public class DesignPatternFactoryOps {public static void main(String[] args) { Fruit f=null; f=FruitFactory.getInstance(原创 2016-02-08 16:25:40 · 697 阅读 · 0 评论 -
Java 多线程
Java 多线程-买票例子1、 使用join方法可以让一个线程强制执行,线程强制执行的时候其它线程无法运行,必须等待该线程运行完毕后才可以继续运行;2、 Sysnchronized 同步锁package com.dt.java.test;public class JavaThead { public static void main(String[] args) { //原创 2016-02-10 09:55:14 · 610 阅读 · 0 评论 -
JAVA 网络编程 Socket server client 编程
1、网络侧开发 package com.dt.java.test;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;public class JavaNet { public static void main(String[] args) throws Excep原创 2016-02-10 11:51:41 · 681 阅读 · 0 评论 -
java 泛型学习
1、学习泛型类、泛型方法、泛型参数2、泛型的上限、下限 package IMF;public class JavaGenerics { public static void main(String[] args) { //Empty empty =null; //empty = new Empty("spark"); //System.out.println(原创 2016-02-13 16:00:19 · 470 阅读 · 0 评论 -
JAVA 冒泡法排序
private static void sort(int[] scores) { for (int i=1;i for(int j=0;j if (scores[i] int x=scores[i]; scores[i] =scores[j]; System.out.println("i: "+ i+" scores[i]原创 2016-02-13 17:34:53 · 598 阅读 · 0 评论 -
大数据领域的JAVA 学习光速入门
JAVA 学习光速入门,完成大数据的JAVA入门原创 2016-02-13 19:49:00 · 1262 阅读 · 0 评论 -
IMF spark 正则表达式 统计apache log 日志
IMF spark 正则表达式统计apache log 日志import com.google.common.collect.Lists;import scala.Tuple2;import scala.Tuple3;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD原创 2017-01-12 18:02:21 · 1167 阅读 · 0 评论 -
第86讲:Scala中For表达式的生成器、定义和过滤器
第86讲:Scala中For表达式的生成器、定义和过滤器for 生成器 定义及过滤器分析及实战val forResult =for (person yield (person.name,child.name)println(forResule) 说明:for yield 生成器 name=person.name 定义if !person.ismale 过原创 2015-08-16 15:07:53 · 523 阅读 · 0 评论 -
第85讲:Scala中For表达式的强大表现力实战
第85讲:Scala中For表达式的强大表现力实战1 高阶函数对列表处理的表现力实战2 FOR 表达式的强大而简洁的表现力val forResult =for (person yield (person.name,child.name)println(forResule) DT大数据微信公众账号:DT_SparkDT大数据梦工厂scala的所有视频、PPT和代码原创 2015-08-16 15:03:33 · 533 阅读 · 0 评论 -
ListBuffer、ArrayBuffer、Queue、Stack操作代码实战
ListBuffer、ArrayBuffer、Queue、Stack操作代码实战 import scala.collection.mutable.ListBuffer val listBuffer = new ListBuffer[Int] listBuffer += 1 listBuffer += 2 println(listBuffer)原创 2015-07-26 18:28:31 · 694 阅读 · 0 评论 -
scala第79讲:单例深入讲解及单例背后的链式表达式
scala 79 单例深入及单例背后的链式表达式 this.type = this jvm.method1.method2jvm调用父类的method1方法,返回jvm自身,再调用jvm的method2方法。不使用this.type,调用method2会出错DT大数据微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频、PPT和代码在百度原创 2015-08-08 21:47:34 · 551 阅读 · 0 评论 -
ClassTag 、Manifest、ClassManifest、TypeTag代码实战
ClassTag 、Manifest、ClassManifest、TypeTag代码实战 Manifest:上下文泛型类型,在依赖注入时类型会有问题,用classtag取代。CLASSTAG用来存储运行及编译时所不知道的类型信息,在spark中广泛应用。typetag比classtag功能更强大,取代classmanifest,存储包含类型信息及其他的一些信息,但在spark中应用少。原创 2015-07-28 12:31:16 · 817 阅读 · 0 评论 -
scala函数的call-by-name和call-by-value 区别
scala函数的call-by-name和call-by-value 区别 def test (x:Int, y:Int )=x*x test(2,3) test(3+4,8) test(7,2*4) test(2,3) 2*2 4 CBV CBN 执行步骤一样 test(3+4,8) CBV 执行步骤少 CBV原创 2015-07-28 12:11:36 · 913 阅读 · 0 评论 -
第88讲:Scala中使用For表达式实现map、flatMap、filter
第88讲:Scala中使用For表达式实现map、flatMap、filterobject For_Advanced { def main(args: Array[String]) {} def map[A, B](list: List[A], f: A => B): List[B] = for(element def flatMap[A, B](list原创 2015-08-22 11:22:07 · 797 阅读 · 0 评论 -
Scala => 的使用
Scala =>的使用1、函数定义中 CBVcall-by-namedef and(x: Boolean, y: => Boolean) = if (x) y else false2、匿名函数(x: Double) => 3 * x //该匿名函数将传给它的参数乘33、引入包文件 DT大数据微信公众账号:DT_SparkDT大数据梦工原创 2015-07-28 12:26:05 · 566 阅读 · 0 评论 -
scala 第76讲:模式匹配下的赋值语句
76:模式匹配下的赋值语句val a@b =1000 @定义别名scala> val a@b =1000a: Int = 1000b: Int = 1000scala> ares1: Int = 1000scala> bres2: Int = 1000 DT大数据微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频、PPT原创 2015-08-08 21:29:49 · 431 阅读 · 0 评论 -
scala 第75讲:模式匹配下的For循环
For 循环的模式匹配1、@能定义别名2、(K,V)能模式匹配提取K值fot (index@"flink: DT大数据微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/home?uk=4013289088&view=share#category/t原创 2015-08-08 21:24:31 · 457 阅读 · 0 评论 -
scala 第77讲:模式匹配下的提取器动手构造实战
scala 77 模式匹配下的提取器动手构造 (1 to 9).tolist match {case _ :> 9 => println("hello scala")} DT大数据微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/ho原创 2015-08-08 21:35:15 · 502 阅读 · 0 评论 -
scala第78讲:Type与Class实战详解
scala 78 TYPE CLASS 区别type更详细class更高级class sparktrait hadoopclass java{ class scala}println(typeof[spark])println (classof[spark])原创 2015-08-08 21:42:26 · 462 阅读 · 0 评论 -
协变covariant[+T] 逆变contravariant[-T]
协变covariant[+T]逆变contravariant[-T]在spark中用的不多,作了解。 含义Scala 标记协变covariantC[T’]是 C[T]的子类[+T]逆变contravariantC[T] 是 C[T’]的子类[-T]原创 2015-07-29 07:59:28 · 752 阅读 · 0 评论 -
第90讲:基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验
第90讲:基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验1 AKKA的重大意义2 akka 与scala的actorDT大数据微信公众账号:DT_SparkDT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/home?uk=4013289088&view=share#category原创 2015-08-22 12:02:36 · 548 阅读 · 0 评论 -
Scala中隐式转换初体验实战及spark中应用
定义一个隐式转换函数,dzhdouble2int,将double转换为int,这样编译器搜索到了从double到int的隐式转换,不再报错。 隐式转换在spark运用广泛,如implicit def rddtopairrddfunction等 C:\Users\admin>scalaWelcome to Scala version 2.10.4 (Java HotSpot(TM原创 2015-08-01 11:00:56 · 735 阅读 · 0 评论 -
scala List的泛型分析以及::类和Nil对象
第80讲:List的泛型分析以及::类和Nil对象Nil 继承 List[Nothing]:: contains DT大数据微信公众账号:DT_SparkDT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:http://pan.baidu.com/share/home?uk=4013289088&view=share#category/type=0&q原创 2015-08-15 22:45:59 · 455 阅读 · 0 评论 -
第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解
本视频由王家林老师采用代码案例实战的方式详细讲解了“Scala中List的构造是的类型约束逆变、协变、下界”。视频的知识点包括两大内容:一,List的::和:::详解二,List中的逆变、协变和下界在scala的DOS编辑窗口下分别定义抽象类Big_Data和Big_Data的子类Hadoop、Spark ,代码如下:scala> abstract clas转载 2015-08-16 14:38:14 · 480 阅读 · 0 评论 -
第83讲:Scala中List的实现内幕源码揭秘
本讲视频是王家林老师通过认真解读scala源码的方式讲解了《Scala中List的实现内幕源码揭秘》。本讲内容如下:ListBuffer(链表缓存)相当于List的一个工具类,List本身继承ListBuffer,拥有ListBuffer中非私有的方法。对List的操作其实有部分是通过ListBuffer完成的。exported为LiftBuffer中flag(default:fals转载 2015-08-16 14:41:10 · 692 阅读 · 0 评论 -
scala GUI界面开发
70:GUI界面,沿用父类的main入口方法。 定义mainframe,显示button72:gui, listenTo,reactions+= 匹配点击事件 “+=”向reactions中添加处理器,使用“-=”从中移除处理器。73:GUI,文件选择器74:从spark看模式匹配,worker send ! 信息 master模式匹配接收 DT大数据微信公原创 2015-08-03 19:37:01 · 1752 阅读 · 0 评论 -
JAVA 对XML解析的源码分析
JAVA对XML的文件的解析是使用JavaJDK本身带的rt.jar包中org.w3c.dom、javax.xml.parsers的方法来实现的,需导入以下包:1. import org.w3c.dom.Document;2. import org.w3c.dom.Node;3. import org.w3c.dom.NodeList;...原创 2018-03-28 06:53:56 · 1754 阅读 · 0 评论