自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【暑期实训】【5-3】Object和Objects的关系

没有关系。ObjectObject是所有类的基类,在JVM层添加了锁、垃圾回收等的支持。方法:equals:判断两个对象是否相等hashCode:计算对象的哈希值toString:将对象转换为字符串getClass:获取对象的类clone:克隆对象wait:当前线程在对象上等待notify:唤醒一个在对象上等待的线程notifyAll:唤醒全部在对象上等待的线程finalize:(已废弃)对象被垃圾回收时的回调函数ObjectsObjects是很多对象相关的工具类。方法:

2021-07-30 18:58:58 105

原创 【暑期实训】【5-2】Java正则表达式(二)

捕获匹配正则表达式可以用于从一个字符串中提取出符合某种格式的内容。有时候我们需要知道这段内容里面的某个内容,可以使用捕获匹配。例如,Java\d+\.\d+可以匹配Java1.8,但我们如果要知道版本号,这里就可以使用捕获匹配。捕获匹配使用括号()实现。括号中的内容将会被捕获并编号,第一个括号是1,第二个是2,以此类推。因此,Java(\d+\.\d+)可以在匹配Java1.8的同时,获取版本号1.8。在捕获后,还可以使用\1、\2等来重新使用之前匹配的结果。例如,([a-z])0\1将匹配a0a、

2021-07-30 18:44:14 138

原创 【暑期实训】【5-1】Java正则表达式(一)

简述正则表达式是一种模式,可以检查字符串是否是一种模式,或者从字符串中找出符合该模式的内容。正则表达式可以使用大多数字符来描述,它们都将匹配它本身。例如,正则表达式a将匹配字符串a,正则表达式abc将匹配字符串abc。尽管这看起来就是在判断字符串是否相等,但在引入了元字符后将会变得完全不一样。元字符元字符指的是有特殊含义的字符。字符含义\转义?匹配前面的内容零次或一次+匹配前面的内容一次或多次*匹配前面的内容零次、一次或多次^匹配行首$

2021-07-30 18:29:50 152

原创 【暑期实训】【4-3】C++的“注解”

注解是Java中的功能,C++并没有注解。但可以通过其他方式支持注解。通过 __attribute__ 实现__attribute__是GUN的一个特色,它可以设置函数属性、变量属性和类型属性。如果你的C++最终通过GUN编译,可以使用该方法实现类似注解的效果。例如,__attribute__((noreturn))表示函数不会返回,编译器会忽略掉函数最后没有返回值的情况;__attribute__((const))表示方法多次调用返回值相同,编译器会优化掉多余的函数调用。通过宏定义实现另一种方式

2021-07-25 14:53:38 1296

原创 【暑期实训】【4-2】Java注解(二)

通过反射使用注解要让注解有作用,最简单的方式是通过反射使用注解。第一步:创建注解类@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface MyAnnotation { String value() default "";}第二步:使用注解@MyAnnotation("Hello")public class TestClass {}第三步:编写方法public static voi

2021-07-25 14:43:43 61

原创 【暑期实训】【4-1】Java注解(一)

简述从Java5开始,Java开始支持注解。注解可以标注在类、方法、参数、变量声明等位置,用于告知编译器或某些类更多的信息。内置注解java.langOverride:标注在方法上,提示编译器该方法是重写自父类或接口的方法。如果父类或接口中没有签名一致的方法时,会报编译错误。Deprecated:标注在类、属性、方法等位置,提示编译器指定内容已经过时,不推荐使用。当使用了被Deprecated标注的内容时,编译器会报警告。SuppressWarnings:标注在类、属性、方法等位置,提示编译器

2021-07-25 14:36:58 57

原创 【暑期实训】【3-3】各种语言的lambda表达式

JavaJava从JDK8开始支持lambda表达式,它可以取代部分匿名内部类的编写。Java中的lambda表达式依赖于接口,并且要求接口只能有一个未实现的方法。例如,接口java.lang.Runnable只有一个未实现的方法run(),可以用lambda表达式,而接口java.lang.Clonable没有未实现的方法,因此不能用lambda表达式。由于Java的lambda表达式从匿名内部类演化而来,因此它依然可以访问作用域内final(或实际效果为final)的变量(但依然不可修改)。

2021-07-18 17:22:28 216

原创 【暑期实训】【3-2】词法分析

概述词法分析是编译器的第一个步骤。词法分析是编译器中与源文件打交道的唯一模块。一般来说,词法分析负责读取原始文件,识别原始文件中的每个“单词”,清除空白字符和注释。为了让编译器在检查到错误时能正确报告错误位置,词法分析器还要记录每个单词在源文件的位置。实现方式由于大多数情况下都可以将语言用正则文法描述,因此可以使用自动机方式实现词法分析器。IO优化词法分析器是一个词一个词地处理的,但不能每次只从io设备中取一个词,因为这太影响效率了。词法分析器应当构造一个合适的io缓冲区,以便加快编译速度。

2021-07-17 17:04:44 269

原创 【暑期实训】【3-1】有限自动状态机

概念有限状态自动机是一种模型。它的内部有多种状态,并在给定的输入下,会切换到另外的状态。定义有限状态自动机是一个五元组:M=(Q, Σ, δ, q0, F),其中:Q:所有状态的非空有限集合。∀q∈Q,q是M的一个状态。Σ:输入字母表。即所有输入必须在这个字母表中。δ:状态转移函数。规定了状态机在某种状态时,接受到特定的输入时会跳转到哪个(或哪些)状态。q0:M的开始状态。F:M的接收状态。当有限自动状态机运行到这一状态时,表示之前的输入是可接受的。F可以是一组状态,但必须被Q包含。当状

2021-07-15 15:17:52 582

原创 【暑期实训】【2-3】ThreadLocal

概述ThreadLocal是线程级变量,它的作用域是一个线程。对于不同的线程,认为是不同的变量。使用ThreadLocalThreadLocal有两种创建方式,一种是直接创建ThreadLocal的实例,另一种是使用ThreadLocal.withInitial()方法创建一个带初始值的实例。ThreadLocal<String> threadLocal1 = new ThreadLocal<>();ThreadLocal<String> threadLocal

2021-07-11 15:06:01 121

原创 【暑期实训】【2-2】Gradle

概述gradle使用groovy语言描述,可以轻松访问ANT和JavaClass。project和task是gradle的两个重要概念。task是构建过程的一个步骤,它可以有一个或多个依赖。定义tasktask hello { doFirst { println 'Hello First' } doLast { println 'Hello Last' }}一个任务中可以有多个部分。doFirst和doLast表示在这个任务开头或末尾插入新的部分。hello.doLast {

2021-07-08 09:49:02 55

原创 【项目实训】【2-1】ClassLoader

概述ClassLoader是Java中的一个类,可以加载类字节码文件并将其转化为Class对象。默认情况下,系统有三个ClassLoader,分别是BootstrapClassLoader、ExtensionClassLoader和AppClassLoader。BootstrapClassLoader启动类加载器,用于加载rt.jar中的类,由c++实现。在Java中表现为null。ExtensionClassLoader扩展类加载器,用于加载jre/lib中的类。AppClassLoader

2021-07-07 14:07:57 144

原创 【暑期实训】【1-3】Java NIO

读文件FileChannel fileChannel = FileChannel.open(Path.of("file.txt"), StandardOpenOption.READ);ByteBuffer buffer = ByteBuffer.allocate(1024 * 32);int size = fileChannel.read(buffer);fileChannel.close();写文件FileChannel fileChannel = FileChannel.open(Path

2021-07-04 12:15:58 70

原创 【暑期实训】【1-2】Junit

后端单元测试计划使用Junit完成。依赖后端使用SpringBoot构建,因此已经依赖Junit测试库。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>

2021-07-01 14:59:17 90

原创 【暑期实训】【1-1】分工

暑期实训开工,我被分到了测试组。之前对软件测试的了解还只停留在软件测试这门课上,因此还需要重新了解一下软件测试的知识。针对后端测试,有Junit、Postman、JMeter等工具。这次实训计划使用这些工具进行测试。...

2021-06-28 17:49:45 104 2

原创 Vuforia Target 自定义图片目标

目标在官方的android示例项目的基础上,修改图片目标,替换为自定义图片步骤在 Target Manager 中添加新的数据库,并在数据库中添加新的目标下载数据库(Download Database)将下载的内容解压到官方示例项目中的 ImageTargets 文件夹在AppController.cpp文件中找到 mCurrentDataSet = loadAndActivateDataSet("StonesAndClips.xml"); (717行),将后面的文件改为自己的文件重新编译,

2021-03-20 09:29:26 228

转载 【Android Studio】解决不支持Lambda表达式问题

修改build.gradle(Module)顶部添加代码:apply plugin: 'me.tatarka.retrolambda'在android中添加以下代码:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8...

2018-09-27 19:41:24 2883 1

空空如也

空空如也

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

TA关注的人

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