自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《三体-死神永生》

到了这部的时候,感觉宇宙真的很大,时间真的很漫长有倏忽而逝,有意义也没有意义。当时空观膨胀到如此大的时间,感觉它们也只是度过更快流速的一生而已。至于最后的结果,好坏,是非善恶似乎最后也没有什么意义。虽然听到很多不看好程心的声音,不过她也只是一个地球人类罢了。总之,很多时候相信自己的判读与原则吧,至于身后事情会怎样,不可预知。

2025-06-22 13:06:47 218

原创 《三体-黑暗深林》

后面仔细想想,真的如此,在这个宇宙中,在一个小家中,猜疑链有时候一层绕着一层,将人越缚越紧。想想什么时候,我们最容易和别人建立起亲密关系,大概是两小无猜的时候吧,说一句,我们一起玩吧,可能一辈子的友谊就开始了。可是为什么长大后,对于相信却越来越奢侈呢。感觉自己算是一个理性派吧,或者因为个人经历的种种,早也开始停止了幻想。但是如果一味地将自己锁在自己的安全密室中,也会错过外面的风景以及无限的可能。第一次意识到黑暗森林法则的时候,其实还是挺震撼的。所以呢,尝试通信吧。

2025-06-22 13:00:33 209

原创 《三体-地球往事》

那时候会想,这样或者那样,对于一个宏观的世界,究竟有什么影响呢?之前听谁说,三十左右的人就爱思考人生,可是思考多了又很容易滑向虚无主义。离开保护,走向社会后,有时候真的会觉得现实很荒诞,也觉得很容易被思潮淹没。有时候很容易被人煽动起情绪,遮蔽了做自己对这个世界的看法。三体买了很久,却一直束之高阁。直到2023年底,疫情就要解封的那个冬天,在老家,夜晚拥着火炉,读完了这部科幻系列的神作。无论怎样吧,还是要坚持自己,不要被事物蒙蔽了双眼。当然前提是要接受自己是有局限和受局限的,然后要享受自己的自由。

2025-06-22 12:52:08 237

原创 《刻意练习》

阅读这本书的时候,感觉这是一本讲方法论的书。感觉自己记忆力最好的时候,就是念高中的时候,那时候早读,沉得下心来,不急不躁,一篇篇古文、英语文章,都可以一节早自习背诵下来。自然也是收到过很多诸如聪明之类的表扬,但是个人感觉最重要的还是那时候能够心无旁骛,不急不躁,不想成与不成,一遍没记下来的地方,就再读几遍,直到记下来为止。读这本书的时候,会惊人的发现,曾经自己习以为常的方法,也是可以归纳的。读完这本书,其实最大的感触不是书中描绘的将你打造成的高效记忆的人,而是想唤醒曾经的自己,那时候的记忆,专注与学习。

2025-06-22 12:41:09 254

原创 zbar识别条形码

最近要从答题卡区域中识别出考生准考证号,也是小小踩了个坑,一度怀疑是不是zbar的问题,还去尝试TBar、quirc。不过还好下班前解决了,主要的代码也不长,主要也是参考已有的,记录一下,避免日后踩坑。

2025-06-22 12:28:23 253

原创 winform程序打包发布

- Application Folder右键添加文件,把需要的文件放进来(不过我是直接拷贝了在它上右键粘贴的,通过添加文件总是缺几个,还得去找了一个个添加),主要保证项目主输出(一般发布都是release下)的文件是全的,然后加进来,最好提前把测试生成的日志等没必要的文件清理删除。--最后检查seup项目->属性中的TargetPlatform项,和自己的发布程序还有目标机器一致(很重要,很多安装包生成过程中的错误就是因为这个),此处目标平台是x64机器,发布程序编译也是release x64。

2025-06-22 12:26:44 974

原创 C#—线程

加锁的目的就是避免不同线程访问相同的内存空间时造成冲突,加了static的count就是类共享的,不同的线程也不能同时访问和改值,不加static,count属于不同的对象,不同的线程访问和改值互不影响。

2024-04-17 10:51:22 185

原创 C#_枚举

C#新特性:可以指定枚举,可以指定具体的类型,但是还是只能是整数类型。

2024-04-15 22:03:08 257

原创 2.C#-贪吃蛇

贪吃蛇

2024-04-13 22:43:36 135

原创 C#—贪吃蛇

贪吃蛇

2024-04-13 22:35:16 148

原创 2.音乐播放器

就只放了一首歌,也比较简单,以后有时间可以扩展一下歌单。

2024-04-11 09:31:20 174

原创 1.音乐播放器

突然兴起,做的比较简单,大概做出来就是这样的:

2024-04-11 09:26:28 158

原创 C#_iTextSharp

在C#中对对pdf进行编辑,加密,模板打印等等都可以选择使用ITextSharp来实现。将一个功能从java版移植到C#中时用到了该功能,做个记录吧。

2024-04-08 17:10:31 221

原创 java_itextpdf

iText是著名的开源项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。刚好工作中用到了这个,做个记录吧;值得一说的是java的itextpdf在C#中也有一个对应的iTextSharp。

2024-04-08 17:06:10 175

原创 C#的可空类型

在不增加引用类型开销的情况下,num仍然是一个struct值类型。//这里会在调用前检查str的值,如果为空,不会调用方法,且右边表达式的结果为null;总结:对于值类型,后台会使用一个Nullable<T>的类型,但是对于引用类型,关联一个Nullable的特性做检测。可以将正常的字面值和不可空类型的值复制给可控值类型的变量,通过Value属性来访问它的值。num是可空的int,可以被赋值为null,可以调用HasValue来检查他是否被赋值。有两种方法来处理,?

2024-04-03 16:12:30 271

原创 C#的几个关键字

2.常量值必须在编译时能计算出来,因此不能用变量给其初始化,多用字面值。如果需要用变量初始化,就必须使用只读字段。var:类型推断的关键字,可以用来声明变量。根据赋值语句右侧的类型来推导被赋值的对象的类型。new:用来声明和初始化变量,在C#9后也可以一定程度上作类型推断。3.常量总算隐式静态的,所以不必明面标记static。左侧已经知道了变量的类型,就不用在赋值语句右侧重复指定类型。1.常量必须在声明时初始化,而且一经初始化,其值不可更改。const:定义常量的关键字。

2024-04-03 15:49:47 258

原创 C#的switch语句

在C#8以后的一种方便的新写法,根据不同的输入情况,返回对应情况下的值,本质上只能算作一条语句。当然case部分的内容还支持更复杂一些的逻辑。

2024-04-03 15:32:14 296

原创 C#的switch和模式匹配

在C#的switch雨季中不能删除不同case的break来实现fall through,不过对于常量模式的case语句,可以使用goto语句实现。对于类型模式和关系模式,暂时还没有成。

2024-04-03 15:08:35 489

原创 顶级语句(新特性)

根据提供的信息,C# 9.0 需要 Visual Studio 2019 版本 16.8 或更高版本才能运行。这意味着,如果你想要在 Visual Studio 中使用 C# 9.0 的新特性,你需要确保你的开发环境至少是 Visual Studio 2019 的 16.8 版本。感觉C#9.0后心拓展的这个功能,有点类似于脚本,不需要复杂的结构就可以直接书写代码内容。嗯,感觉和C语言比少了一个自己写main函数的过程,对于小型的样例程序应该会比较有用处吧。

2024-04-02 11:15:37 304

原创 扉页-晚熟的人

马上就要到清明节啦,晚樱即将开过,漫长的雨季。感觉三月是不是大家都普遍性的忙碌啊,晚归的次数明显变多了诶。后面还是得多抽点时间扩展自己的知识面,当然也得多动手啦。

2024-04-02 11:06:18 130

原创 java-输出流的两种常见操作

【代码】java-输出流的两种常见操作。

2023-12-01 16:31:06 442

原创 java-输入流的两种常见操作

【代码】java-输入流的两种常见操作。

2023-12-01 15:53:15 407

原创 java_双括号初始化

在构建匿名内部类的时候,可以用双括号构建一个初始化对象的代码块。

2023-11-30 14:15:45 438

原创 java_内部类

局部内部类不能用访问修饰符修饰,作用域就在声明这个局部内部类的块中。第二个有点就是可以访问作用域存在的这个块的局部变量,这些变量属于事实最终变量,实际上算是在生成局部内部类是形成了一个拷贝一样的字段,及时局部变量出来作用域,局部内部类里还是可以用。使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类有外部类的引用,就可以将这个内部类声明为static类型。1.只要内部类不需要访问外部类对象,一般就应该声明为静态内部类。2.与常规内部类不同,静态内部类可以有静态字段和方法。

2023-11-30 14:01:45 430

原创 java_内部类

内部类转换的.class文件和外部类在一块,用美元符号$分隔,outerclass$innerclass.clss。所以给类命名时,最好不要用到$符号,保留给系统使用。

2023-11-30 10:44:56 407

原创 java_内部类

2.内部类方法可以访问定义这些方法的作用域中的数据,包括私有数据(内部类的对象会有一个隐式引用,指向实例化这个对象的外部类对象,通过这个引用(指针),内部类可以访问外部对象的全部状态,权限等于this,这个是默认的,编译器会修改所有内部类的构造器,添加一个对应外部类引用的参数,当构建内部类对象时,就会吧this指针传进来)1.内部类中声明的所有静态字段必须是final类型,并初始化编译一个常量。1.内部类可以对同一个包中的其它类隐藏。2.内部类不能有static方法。就是内部类最好不要有静态的成员。

2023-11-30 10:31:53 438

原创 java_lambda表达式

版权声明:本文为优快云博主「尘觉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。语法格式五:若 Lambda 体中只有一条语句, return 和 大括号都可以省略不写。语法格式四:有两个以上的参数,有返回值,并且 Lambda 体中有多条语句。-> 左边:lambda 形参列表的参数类型可以省略(类型推断);语法格式六:Lambda 表达式的参数列表的数据类型可以省略不写,语法格式三:若只有一个参数,小括号可以省略不写。语法格式二:有一个参数,并且无返回值。

2023-11-29 19:22:35 412

原创 java_数组引用

数组引用的语法格式是。

2023-11-29 19:18:11 432

原创 java_构造器引用

它与函数式接口相结合,自动与函数式接口中方法兼容,可以把构造器引用赋值给定义的方法,但。构造器引用的语法格式是。

2023-11-29 19:16:19 474

原创 java-方法引用

1.方法引用的访问符(::),和C++的域访问符好像是一样的,从类里面直接获取方法的引用,用来取代函数接口中的虚函数的函数体的 意思,我感觉,如下面,本来虚函数也是要实现println的函数的内容,就直接将println函数丢进去,根据能推导就可以省略省略的原则,printstring的函数体内容和println的函数体的内容是一样的,都是将s输出到窗口上。myMethod2:通过对象去访问类的成员函数;meMethod3:通过类名访问成员函数,报错了= =myMethod:通过类名访问类的静态方法。

2023-11-29 19:01:34 374

原创 java-Consumer接口

首先做一个操作,然后再做一个操作,实现组合。而这个方法就是 Consumer 接口中的 default 方法 andThen。Consumer 接口中包含抽象方法 void accept(T t) ,意为消费一个指定泛型的数据。如果一个方法的参数和返回值全都是 Consumer 类型,那么就可以实现效果:消费数据的时候,就是先接受参数“Hello”,然后再把“Hello”返回。

2023-11-28 20:15:20 374

原创 java-Supplier接口

T指定了返回类型,类型推导。至于get里面实现什么内容,可以根据自己需要来写。注意如果有参数的时候,lambda表达式的参数和所在的函数的局部变量的参数名称不能冲突。接口仅包含一个无参的方法: T get()。用来获取一个泛型参数指定类型的对象数据。java.util.Function.Supplier<T> 标准的函数式接口。传入lambda表达式的局部变量的值也不能改变。

2023-11-28 20:02:20 748

转载 java-常用的函数式接口

java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get()。java.util.function.Function<T,R> 接口用来根据一个类型的数据得到另一个类型的数据,前者称为。然后再做一个操作,实现组合。Function 接口中最主要的抽象方法为: R apply(T t) ,根据类型 T 的参数获取类型 R 的结果。数组当中有多条 “ 姓名 + 性别 ” 的信息如下,请通过 Predicate 接口的拼装将符合要求的字符串筛选到。

2023-11-28 17:55:55 127

原创 java-函数式编程

这个接口的抽象函数,是没有参数的,所以lanbda表达式->的左边是();上面执行这个log函数的时候,实参到形参的过程一定会完成三个字符串的拼接工作,但是如果lever不是1级的,那拼接的msg也用不上,相当于做了无用功,直观感受就是浪费性能。首先是传递参数,会验证level这个判断,而lanbda表达式的内容只有在需要的时候,才会用到,也就是调用。上面的博客讲的很清楚哈,但是我还是想自己敲一下,印象深刻一些,所以算是炒现饭啦。的时候,需要这个接口的实现的对象的时候,才会传递进去。

2023-11-28 17:53:02 404

原创 Java -函数式接口

上面的doSomething方法需要一个MyfunctionInterface的参数,但是接口是不能实例化的,肯定要传实现该接口的子类的对象进去,但是利用匿名内部类的方式,我们可以实例化一个这样的对象,相当于他的子类的对象吧,在其中实现了它的抽象方法。我的理解是,因为接口只有一个待实现的方法,所以写lambda表达式的时候很好匹配上,传进来的代码块就是待实现的这个抽象方法的具体执行方式。主要是要看到lambda表达式,要先了解什么是函数式接口。

2023-11-28 17:29:11 385

原创 4.4 A*算法——运行结果

随便点起点和终点,然后设置黑色的障碍物,看看寻路的结果吧;其实不一定是唯一的,但是会选代价最小的其中一条。

2023-11-24 15:01:54 492

原创 4.3A*算法——算法内容

【代码】4.3A*算法——算法内容。

2023-11-24 14:59:35 403

原创 4.2A*算法——绘制地图的界面

就是把每次计算出来的结果绘制出来,算是对算法每一步的结果的一个可视化吧。

2023-11-24 14:58:25 403

原创 4.1 A*算法

主要的功能界面:就是定义地图绘制的位置,按钮等控件的位置,然后吧界面稍微调的和谐一点。

2023-11-24 14:56:24 360

原创 4.A*算法

先说一下想法,收先肯定要画一个类似于棋盘的东西,然后需要几个按钮,设置起始位置、设置障碍物、开始寻路、清空地图,所以需要在一个pannel里至少分出两块,一个交互区域,一个地图显示区域。集成第一个内容上去吧,不然都是架子,空荡荡的;关于A*算法的原理网上有很多啦,也有很多升级版,我就写一个最基本的吧,完成最短路径的计算就行了。然后就是算法的内容,肯定还是需要交互,然后吧坐标点返回出来,所以还需要写一个算法类。主要可能就是这些,至于Point等这些辅助类,有需要的话就自己设计一下。

2023-11-24 13:42:49 1023

空空如也

空空如也

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

TA关注的人

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