- 博客(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#_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_内部类
局部内部类不能用访问修饰符修饰,作用域就在声明这个局部内部类的块中。第二个有点就是可以访问作用域存在的这个块的局部变量,这些变量属于事实最终变量,实际上算是在生成局部内部类是形成了一个拷贝一样的字段,及时局部变量出来作用域,局部内部类里还是可以用。使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类有外部类的引用,就可以将这个内部类声明为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-方法引用
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.A*算法
先说一下想法,收先肯定要画一个类似于棋盘的东西,然后需要几个按钮,设置起始位置、设置障碍物、开始寻路、清空地图,所以需要在一个pannel里至少分出两块,一个交互区域,一个地图显示区域。集成第一个内容上去吧,不然都是架子,空荡荡的;关于A*算法的原理网上有很多啦,也有很多升级版,我就写一个最基本的吧,完成最短路径的计算就行了。然后就是算法的内容,肯定还是需要交互,然后吧坐标点返回出来,所以还需要写一个算法类。主要可能就是这些,至于Point等这些辅助类,有需要的话就自己设计一下。
2023-11-24 13:42:49
1023
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅