自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 山东大学软件学院服务开发技术期末考试2022

山东大学软件学院服务开发技术期末考试2022

2022-06-14 14:21:08 877 1

原创 13.Groovy元编程源码分析

2021SC@SDUSC13.Groovy元编程源码分析元编程相关的类呢,就都在lang包中。首先,编程我们都知道是创建一些类,然后为类去写一些属性和方法,那元代表什么呢,其实,元就是一个特殊的属性,我们到源码里来看一下是那个属性。public interface GroovyObject { Object invokeMethod(String var1, Object var2); Object getProperty(String var1); void setProperty

2021-12-27 18:38:17 374

原创 12.Groovy重要类源码

12.Groovy重要类源码今天要分析的主要代码是在groovy包下的,我们由易到难依次来分析一下这个包中的源码。这个包下大家如果打开源码的话,可以看到,其中的包非常的多,但大部分都是我们在写gradle或者groovy脚本时用不到的,我们最常用到的包就是:json xml lang这三个包,我们重点分析这三个包下的一些核心类,来看一下他们的作用。第一部分:json package这个package大家一看就可以知道,是提供对json格式的文件,数据等进行一些操作的,比java中确实要强大的多。pack

2021-11-29 20:14:16 1914

原创 11、Groovy类和对象的源码探讨

11、Groovy类和对象的源码探讨Groovy类的特色我们知道,Groovy的类和对象相较于java有了一些新的特色:(1)不需public修饰符,Groovy的默认访问修饰符就是public(2)不需要类型说明,Groovy也不关心变量和方法参数的具体类型。(3)不需要getter/setter方法,所有类成员(如果是默认的public)根本不用通过getter/setter方法引用它们(当然,如果一定要通过getter/setter方法访问成员属性,Groovy也提供了它们)。(4)不需要

2021-10-08 17:14:12 295

原创 10、Groovy实现代码热载的机制和原理

10、Groovy实现代码热载的机制和原理我们知道,Groovy在很大一部分的用途是在java工程里面穿插使用的,本文的主题是Groovy实现代码热载,,其他大背景是java实现主干代码,,groovy实现易变动的逻辑代码. 先来看下java是如何调用的groovy脚本的。Groovy代码热载例子import groovy.lang.Binding;import groovy.lang.GroovyShell; public class GroovyTest { public sta

2021-10-07 23:53:30 614

原创 9、Groovy闭包源码分析

9、Groovy闭包源码分析闭包是什么Groovy 中闭包是最有用的特性之一,也是非常重要的特性,可以说 Groovy 精髓都围绕闭包。一个闭包是被包装为一个对象实例的代码块,实际上闭包像一个可以接受参数并且能够有返回值的方法。闭包是一个普通对象,因为你能够通过一个变量引用到它,正如你能够引用到任何别的对象一样。基于 Groovy 语言本质介绍可以知道,JVM 根本就不知道你正在运行 Groovy 代码,所以 Groovy 闭包是一个普通对象是很自然的现象。Groovy 在集合对象上增加了许多

2021-10-07 21:28:04 258

原创 8、Groovy动态方法调用优化分析

8、GroovyCall Site分析

2021-10-07 19:44:41 407

原创 7、Groovy核心Metaclass的探讨

Groovy核心Metaclass的探讨Metaclass的作用功能:

2021-10-07 15:50:59 498

原创 6、Groovy拓展方法与对象的关联方式

Groovy拓展方法与对象的关联方式问题引入在上次的博客上分析Groovy的拓展方式时,我们举过这个例子:String content = new File('config.txt').textprintln content我们知道text是IOGroovyMethods类里面的拓展方法,但这时,又有一个新的问题产生了,File类型怎么可以直接调用IOGroovyMethods里面的方法呢?就让我们在这节博客根据源码深入探讨一下这个问题。Groovy反射由于在String类型里面并没有tex

2021-10-03 20:21:29 268

原创 5、Groovy中对java类的拓展类分析

Groovy中对java类的拓展类分析问题的引入在学习Groovy的语法及其方法的时候,我偶尔看到了Groovy中对于txt文件引入输出的方法:String content = new File('config.txt').textprintln content而对比java中对于文件的引用和输出的代码块:// 1. 使用File类打开一个文件;File file = new File("d:" + File.separator + "test.txt");// 2. 通过字节流或字符流的

2021-10-03 16:20:50 294

原创 1、项目的综述

1、综述这次课程我们选择的项目是分析Groovy的源码。Groovy简介Groovy是一个基于JVM的动态敏捷开发语言,能够与 Java 代码很好地结合,也能用于扩展现有代码。Groovy在设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。Groovy特点1、构造上java语言之上,并且添加了许多其它语言的诸多特征,例如动态类型转换、闭包和元编程(metaprogramming)支持。2、语法与java相似3、支持函数式编程4、可以使用模板5、可直接在JV

2021-09-27 19:59:04 84

原创 4、Groovy 模板引擎实现原理分析

Groovy 模板引擎实现原理分析在深入学习了Groovy和认真与java进行比较分析其特点后,我发现了Groovy中我一个比较感兴趣的特点是实现了模板引擎的功能,groovy的SimpleTemplateEngine实现了模板功能,这节博客就让我们在Groovy源码的基础上深入分析一个Groovy是怎么实现模板引擎的。Groovy使用模板Template template = new SimpleTemplateEngine().createTemplate( new StringR

2021-09-24 15:16:49 844

原创 3、Groovy类加载体系

2、Groovy的ClassLoader体系上一篇博客分析了下Groovy是如何在JVM上运行的,这篇博客深入根据源码分析一下Groovy的类加载器。Java的ClassLoader顾名思义,Java的ClassLoader就是类的装载器,它使JVM可以动态的载入Java类,JVM并不需要知道从什么地方(本地文件、网络等)载入Java类,这些都由ClassLoader完成。可以说,ClassLoader是Class的命名空间。同一个名字的类可以由多个ClassLoader载入,由不同ClassLoa

2021-09-20 16:41:33 601

原创 2、Groovy编译原理

Groovy编译原理Groovy是在JVM编译的上的敏捷开发语言,其代码可以和java代码进行很好的结合,也可以用于拓展其现有代码上。我们在之前java的学习中可以了解到,java源文件通过编译器编译成字节码文件(分为两部分:常量池和方法字节码)而字节码文件再通过java虚拟机JVM编译成机器语言再运行。在Groovy的代码的运行过程中,我们发现不管是写的是groovy类还是groovy脚本,它们都作为java类在JVM中运行。在这篇博客中,我们来根据Groovy源码探讨下一个Groovy类是通过怎样的编

2021-09-20 16:10:48 302 1

山东大学面前对象实验打字游戏javaweb版

山东大学面向对象实验练字游戏javaweb版,做得感觉还看得下去,课设老师要求功能基本实现了,分数太少懒得添加太多功能优化了

2021-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除