- 博客(373)
- 资源 (21)
- 收藏
- 关注
原创 再一篇相当中肯的文字
靠理想滋养人生,靠现实养育生活。公司新年第一次全体会议,大家的期待中也有公司今年对员工福利待遇的目标是什么。在公司蒸蒸日上的事业发展中,员工能够分享到多少真正的实惠,员工利益与公司发展是否能够挂上钩。职位目标量化——寻找努力的方向在去年的劳动协议签订中,被告知职位与工资挂钩的说法(“……这是工资调整的唯一途径”)。那如何努力能够得到职位的晋升呢?职位的要求是什么,如何量化考核的呢?员工...
2020-02-12 10:11:21
1712
4
转载 那些出现在电影中的程序代码
高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言? 一、《钢铁侠》,c语言电影《钢铁侠》 最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C
2015-07-13 15:29:11
20317
原创 Java:String.startsWith 方法
System.out.println("从索引6开始是否以 'world' 开始: " + startsWithWorldAt7);System.out.println("字符串是否以 'world' 开始: " + startsWithWorld);boolean startsWith(String prefix, int toffset):从指定的索引位置开始检查字符串是否以指定的前缀开始。System.out.println("字符串是否以 'hel' 开始: " + startsWithHel);
2025-12-25 15:45:09
292
原创 Java:Assert.isTrue()
2、与Java原生断言的区别: Assert.isTrue() 是Spring工具类提供的方法,依赖框架而非语言关键字;1、基本用法与目的: 该方法通常位于 org.springframework.util.Assert 类中,其核心作用是在代码执行时验证前置条件、参数合法性等,确保程序内部状态正确。异常类型:工具类抛出 IllegalArgumentException,原生断言抛出 AssertionError。使用场景:工具类方法更适用于生产环境的参数校验,原生断言侧重于开发调试。
2025-12-24 15:18:58
148
原创 Delphi:重命名单元
使用IDE的重构工具:Delphi IDE提供了重构工具,如“重命名符号”功能(快捷键通常是Shift+F6),这可以帮助自动更新所有引用。使用Delphi的“查找”功能(通常可以通过快捷键Ctrl+Shift+F打开),搜索整个项目中对旧单元的引用。返回之前搜索到的所有引用位置,并更新它们以反映新的单元名称。避免在多个地方同时进行重命名:最好先在一个地方完成重命名,然后编译并测试整个项目,以确保没有遗漏任何引用。打开重命名后的单元文件,在文件的顶部更新unit声明以匹配新的文件名。
2025-12-24 14:55:23
263
原创 invalid base64 length
遇到“invalid base64 length”错误时,首先检查Base64字符串的长度是否为4的倍数,并根据需要调整字符串长度。其次,确保数据在处理过程中没有被截断或损坏,并且编码和解码过程保持一致。这些步骤通常可以解决大部分由长度问题引起的Base64错误。如果你在处理过程中遇到其他问题,可能需要进一步检查数据的完整性和处理逻辑的正确性。
2025-12-24 10:54:57
424
原创 C#:记录日志
有多种方式可以实现日志记录,包括使用.NET内置的日志类库(如System.Diagnostics命名空间中的Trace和TraceSource类),或者使用第三方库如log4net、NLog、Serilog等。// 对于文件输出需要此命名空间。Trace.TraceWarning("这是一个警告日志");Trace.TraceError("这是一个错误日志");Trace.WriteLine("这是一个信息日志");log.Error("这是一个错误日志");log.Error("这是一个错误日志");
2025-12-23 15:49:35
349
原创 Java:“object is not declare class”
在Java中,如果遇到“object is not declare class”这样的错误,通常是因为在代码中使用了某个对象,但没有正确地声明或者初始化这个对象。确保类文件(.class文件)或者项目设置包含了正确的类路径,这样编译器和运行时环境才能找到这个类。如果尝试访问一个包私有(package-private)或者受保护的(protected)成员,但是没有从正确的包或者子类中访问,这也可能导致问题。检查类名是否拼写正确,以及是否已经正确导入了所需的类。// 确保someMethod()是可访问的。
2025-12-23 15:16:39
297
原创 Oracle:判断一个字符串出现次数
REGEXP_INSTR(SUBSTR('hello world hello', REGEXP_INSTR('hello world hello', 'hello') + LENGTH('hello')), 'hello') > 0 THEN '出现两次'INSTR(SUBSTR('hello world hello', INSTR('hello world hello', 'hello') + LENGTH('hello')), 'hello') > 0 THEN '出现两次'ELSE '不是两次'
2025-12-23 12:57:25
435
原创 PLSQL:候选字段选择
Tips:字段按照类型、类型命名,以dt为前缀,代表时间类型字段,以flag为前缀,代表各类标记标识。以code为前缀,代表各类编码;以id为前缀代表各表主键;以name为前缀,代表对应编码的名称。字段名称按照规则命名,便于字段过滤和查找。候选菜单,选择【all】,录入所有字段。过滤字段名称,【all】所有前缀字段。
2025-12-23 10:58:30
603
原创 Java:字段默认值
在Java中,字段(也称为属性或成员变量)可以有默认值,这些默认值通常是基于字段声明的类型。对于基本数据类型(如intdoublechar等),默认值是零或者零值,而对于对象类型(如类、数组等),默认值是null。
2025-12-23 10:47:45
196
原创 Oracle:字段为值列表
NULL 值处理:字段值为 NULL 时,IN 和 LIKE 操作不会匹配,需显式使用 IS NULL 或 IS NOT NULL 判断。在Oracle数据库中,当字段值存储为逗号分隔的字符串(即值列表)时,常见的操作包括将该列表转换为多行结果、查询包含特定值的记录,或处理值列表的匹配。性能考虑:对逗号分隔字段进行拆分或模糊匹配可能影响性能,建议在高频查询字段上创建函数索引或使用物化视图。重复值:拆分字段时,DISTINCT 可去重,但需注意其对查询效率的影响。
2025-12-22 15:11:26
425
原创 Oracel:Field IN Field
如果你想要检查一个字段(列)中的值是否存在于另一个表的字段中,你可以使用EXISTS子查询。在Oracle数据库中,如果想在一个查询中比较一个字段(列)的值是否存在于另一个字段(列)的值中,可以使用IN操作符。如果目的是找出两个表中某些列的共有值,可以使用INTERSECT操作符。另一种方法是使用JOIN来达到相同的效果。但是,直接使用IN操作符将一个字段用在另一个字段上是不支持的。方法4:使用MINUS(如果需要找出第一个表中独有的值)方法5:使用NOT EXISTS来找出不在第二个表中的值。
2025-12-22 14:53:48
278
原创 Java:Method.invoke()
在Java反射调用过程中,开发者常遇到异常。该错误是反射调用方法时,Method.invoke()的第一个参数(对象实例)与目标方法所属的类不匹配,导致无法完成方法调用。
2025-12-19 10:51:52
589
原创 Java:object is not an instance of declaring class
在编程中遇到“object is not an instance of declaring class”这样的错误通常指的是某个对象没有被正确地实例化为其声明的类的一个实例。例如,如果你定义了一个类 MyClass,在创建对象时必须使用 MyClass 而不是 myclass 或其他拼写错误。检查代码上下文:查看引发错误的代码行及其周围的代码,确认所有类和对象的定义和使用都是正确的。如果你的类在一个不同的包中,确保你在创建对象时使用了正确的包名。确保你的类文件被正确地编译并位于你的项目或类路径中。
2025-12-19 10:38:21
322
原创 Oracle SQL 中,& 字符
在 Oracle SQL 中,& 字符作为替代变量的标志,会导致查询时提示输入值。替代方案:SET DEFINE *;优势:性能优于字符串拆分,且兼容 SQL*Plus 和 PL/SQL。在当前会话内有效,需重新开启会话后重置。语法:'前缀' || CHR(38) || '后缀'语法:'前缀' || '&' || '后缀'命令:SET DEFINE OFF;注意:效率最低,需两次字符串连接。2. 使用 CHR(38) 替换。1. 关闭替代变量功能。3. 字符串拆分。
2025-12-19 10:01:53
364
原创 Oracle:拼音码
如果你有权限和资源,可以考虑使用Oracle Text来创建全文索引,但这通常用于文本搜索,而不是直接转换拼音或五笔码。在Oracle数据库中,如果想获取汉字的拼音码或者五笔码,你需要依赖于一些外部的工具或者编写自定义的函数,因为Oracle数据库本身并不直接存储汉字的拼音或五笔码。你可以使用PL/SQL调用外部的程序或脚本,例如使用Python脚本处理汉字到拼音或五笔码的转换,然后将结果返回给Oracle。创建一个Python脚本,例如get_pinyin.py,使用pypinyin库来获取汉字的拼音。
2025-12-17 10:18:08
427
原创 Oracle:前五个字符
在Oracle数据库中,获取字符串的前五个字符可以通过使用SUBSTR函数来实现。这将会返回employees表中每个员工名字的前五个字符,并将这个结果列命名为first_five_chars。这里,your_column是想要提取前五个字符的列名,your_table是包含该列的表名。start_position 是你想要开始提取的位置(从1开始计数)。string 是你想要从中提取子字符串的原始字符串。length 是你想要提取的字符数量。
2025-12-17 10:16:46
406
原创 Oracle:五笔码
在Oracle数据库中,如果你想根据五笔码(一种中文输入法技术,主要用于汉字输入)来查询数据,通常你需要先将五笔码转换为对应的汉字,然后使用这些汉字进行查询。Oracle数据库本身并不直接支持通过五笔码查询,因为它是基于汉字的数据库,而不是基于五笔码。在应用层(如Java, Python等)处理五笔码到汉字的转换,然后将转换后的汉字传递给Oracle数据库进行查询。你可以创建一个PL/SQL函数,该函数接收五笔码作为输入,并返回对应的汉字。这通常需要有一个包含五笔码到汉字映射的表或视图。
2025-12-17 10:15:48
361
原创 Spring:@Autowired注解的实现原理
注解通过Spring的依赖注入机制实现自动装配,其核心原理基于Bean后置处理器(BeanPostProcessor),具体流程如下:
2025-12-17 08:31:16
401
原创 C#:List<string>类型的集合转换成用逗号分隔的字符串
/ 添加最后一个元素,因为没有在Aggregate中处理最后一个元素的情况。string.Join方法是最直接和常用的方法之一,它允许你指定一个分隔符,并将集合中的元素连接成一个字符串。
2025-12-16 12:47:31
796
原创 Eclipse 中 SVN 操作指南
右键文件 → Team → Show History... → 选择版本 → Replace With → This Revision。在 Eclipse 中打开 SVN Repositories 视图 → 右键空白处 → New → 输入服务器地址 → 完成。如需更详细操作,请参考官方文档或社区教程。出现冲突时 → 右键冲突文件 → Team → Edit Conflict... → 手动解决 → 保存。在项目或文件上右键 → Team → Commit... → 输入日志 → 点击 Commit。
2025-12-16 12:45:56
853
原创 内部服务错误500
在处理Web开发或API调用时,遇到“内部服务错误500”通常意味着服务器遇到了一个意外情况,阻止了它完成对请求的处理。JSON解析错误:当服务器尝试解析JSON数据,但输入的数据不完整或格式不正确时,可能会遇到这种错误。确保所有服务器软件和依赖库都是最新的,有时候错误是由已知的bug引起的,而这些bug在新版本中可能已经被修复。确保发送到服务器的数据是有效的JSON格式。服务器端代码错误:服务器端的代码可能存在bug,比如试图访问未定义的属性或方法,或者在处理请求时抛出了异常。
2025-12-16 12:44:46
317
原创 C#:string.IndexOf
在 C# 中,字符串(string)的 IndexOf 方法用于查找子字符串在原始字符串中的位置。这里,IndexOf 方法返回子字符串 "World" 在原始字符串中的起始位置的索引,即 7。// 从索引7开始搜索(即"World"后面的位置)// 搜索的范围长度。字符串的索引是从 0 开始的,这意味着第一个字符的索引是 0,第二个字符的索引是 1。// 开始搜索的位置。3、查找子字符串的指定位置之后第一次出现的位置。2、 查找子字符串的最后一次出现的位置。查找子字符串的第一次出现的位置。
2025-12-12 16:11:45
450
原创 Java: FATAL ERROR: processing of -javaagent failed
在使用 Java 程序时,遇到 FATAL ERROR: processing of -javaagent failed 这样的错误通常意味着在尝试使用 -javaagent 参数来加载一个 Java Agent 时发生了问题。-javaagent 参数用于在 JVM 启动时加载一个 Java Agent,这种 Agent 可以用来监视、诊断或修改应用程序的行为。如果 Java Agent 中定义了 premain 方法,确保这个方法正确无误,并且符合 Java Agent API 的要求。
2025-12-12 11:48:11
264
原创 Java:serialVersionUID
版本控制:反序列化时,JVM 会检查存储的 serialVersionUID 与当前类的 serialVersionUID 是否一致。在序列化时,serialVersionUID 会被写入序列化数据;值的选择:serialVersionUID 可以是任意 long 值(通常为正整数),建议使用有意义的数字(如基于类名或时间戳生成),以增强可读性。版本管理:类结构变更时(如添加/删除字段),更新 serialVersionUID(例如从 1L 改为 2L),以明确版本变化。// 显式声明版本号。
2025-12-11 11:08:42
404
原创 Java:SuperClass
在子类中,使用@Override注解(虽然这不是强制的,但强烈推荐使用,因为它可以帮助编译器检查你是否正确地覆盖了方法)来声明你想要覆盖的方法。在Java中,当有一个类继承自另一个类,并且想要快速地为子类增加覆盖(override)的方法,遵循以下步骤。假设我们有一个Animal类和一个Dog类,我们想要在Dog类中覆盖Animal类的makeSound()方法。IDE将自动生成这些方法的框架代码在你的子类中。一旦你在子类中覆盖了方法,你就可以创建子类的实例并调用这个方法,它将执行子类中定义的版本。
2025-12-11 11:07:02
226
原创 SHA1校验文件
SHA1是一种哈希算法,通过计算文件的哈希值(160位散列码)来验证文件完整性。文件内容的任何改动(哪怕一个字节)都会导致。OpenHashTab:安装后右键文件 → 属性 → 查看SHA1值。下载文件后,计算SHA1值并与官方提供的校验值对比。若一致,文件完整无误。7-Zip:解压时自动进行CRC校验(间接验证完整性)Get-FileHash 文件名 -Algorithm SHA1。SHA1已存在安全漏洞,建议优先使用SHA256。不一致:说明文件已被篡改或损坏。一致:说明文件未被修改。
2025-12-10 12:03:58
145
原创 Jackson:忽略字段被序列化
如果你确实想通过 SerializationFeature 来控制,可以考虑使用 WRITE_DATES_AS_TIMESTAMPS 等特征,但这与控制空值输出不直接相关。对于空值控制,建议使用前述的方法。在使用 Jackson 库进行 JSON 序列化时,有时可能会遇到输出中包含很多不必要的空值(例如,"key": null)的情况,尤其是在处理可选字段或者使用了某些特定的序列化策略时。你可以使用 @JsonInclude 注解来指定哪些值应该被包含在 JSON 输出中。
2025-12-10 10:43:59
440
原创 Jackson:SerializationFeature
在Java中,使用Jackson库进行序列化时,SerializationFeature是一个非常重要的类,它允许你控制序列化的行为。当设置为true时,枚举类型会被序列化为它们的字符串表示(即调用toString()方法)。当设置为true时,输出的JSON会被格式化,每个层级缩进,使JSON更易读。当设置为true时,枚举类型会被序列化为它们的索引位置(即ordinal)。当设置为true时,如果序列化的对象没有任何可序列化的属性,则会抛出异常。当设置为true时,日期会被序列化为时间戳(即毫秒值)。
2025-12-10 10:26:46
349
原创 Java:Jackson库序列化对象
如果你的类中包含日期类型,Jackson可能无法直接序列化这些日期,这时你可以使用@JsonFormat注解来指定日期的格式。在Java中,使用Jackson库来序列化对象为JSON字符串。Jackson是一个非常流行的JSON处理库,它提供了一系列的功能来处理JSON数据。确保所有的字段都是公开的或者有相应的getter方法,以便Jackson能够访问它们。首先,确保你的项目中已经添加了Jackson的依赖。以上就是使用Jackson库将Java对象序列化为JSON字符串的基本方法。
2025-12-10 10:21:18
350
原创 Java:字段顺序保持不变
例如,你可以用它来确保属性名的一致性,同时使用@JsonPropertyOrder来控制顺序。在Java中,将对象转换为JSON字符串时,默认情况下,字段的顺序可能会因为Java对象的内部表示(比如HashMap的无序特性)而变得不确定。最简单和最直接的方法是使用@JsonPropertyOrder注解,它允许你直接在类级别指定字段的序列化顺序。这种方法简单且易于维护。这个注解可以应用于类上,用来指定字段的顺序。如果需要更复杂的控制,比如根据某些运行时条件来决定字段的顺序,可以创建一个自定义的序列化器。
2025-12-10 09:17:40
375
原创 Java:类(Class)的构造函数(Constructor)
在Java中,类(Class)的构造函数(Constructor)是一种特殊的方法,它的名称与类名完全相同,并且它没有返回类型(即不返回任何值)。// 使用第一个构造函数创建对象。如果你不定义任何构造函数,Java编译器会自动为你生成一个默认的无参构造函数。// 第二个构造函数,带三个参数,新增了address属性。// 第一个构造函数,带两个参数。// 带参数的构造函数。(2)带参数的构造函数。
2025-12-10 09:13:43
418
原创 Oracle:计算小数年龄
首选方法:使用 months_between(sysdate, birth_date) / 12 直接得到小数年龄,这是Oracle中最标准的做法。在Oracle数据库中,计算小数年龄(即精确到小数点后的年龄,考虑月份和天数)可以通过日期函数实现。注意:如果出生日期的月份和日期尚未到来(如当前是3月,生日是4月),此方法会自动向下取整,符合年龄计算逻辑。关键函数:months_between 是核心,它自动处理日期计算的复杂性(如不同月份的天数差异)。sysdate 获取当前系统日期。
2025-12-09 15:41:59
488
原创 Oracle:Replace
这个例子中,[abc]是一个字符类,匹配任何一个列出的字符('a'、'b'或'c'),而管道符(|)在这里用来分隔不同的替换模式是不正确的。如果你想一次性替换多个字符,你可以使用正则表达式的管道符(|)来分隔不同的字符。在这个例子中,我们首先将所有的'a'替换为空字符串,然后将结果中的所有'b'也替换为空字符串。在Oracle数据库中,如果你想使用REPLACE函数来将多个字符替换为空字符串,你可以通过嵌套REPLACE函数或者使用正则表达式来实现。方法2:使用正则表达式(Oracle 10g及以上版本)
2025-12-09 15:37:10
292
原创 Java:类的前20个字段转换为Json
for (Map.Entry<String, JsonElement> entry : sortedJson.entrySet()) { // 遍历Map中的字段并添加到新的JsonObject中,直到达到20个字段为止。// 创建一个新的JsonObject来存储前20个字段的JsonElement对象。// 输出结果JSON对象,只包含前20个字段。if (jsonNode.size() < 20) { // 只添加前20个字段。if (count < 20) { // 只添加前20个字段。
2025-12-09 14:09:06
375
原创 Java:解码Base64字符串为字节数组
/ 例如,编码后的"Hello World!// 例如,编码后的"Hello World!如果你需要将解码后的字节数组转换为字节流(例如,InputStream),你可以使用ByteArrayInputStream类。// 示例:读取并打印InputStream的内容(可选)// 将字节数组转换为InputStream。// 假设这是你的Base64编码的字符串。// 假设这是你的Base64编码的字符串。// 使用Base64解码为字节数组。// 使用Base64解码。// 输出解码后的字节数组。
2025-12-09 13:58:35
373
原创 Java:Foreach语法糖
如果你需要在foreach循环中提前退出循环,你应该使用一个普通的for循环或者使用迭代器(Iterator)。注意,上面的anyMatch示例并不会真正提前终止流,因为anyMatch会在找到第一个匹配项后停止,但这并不影响已经处理过的元素。如果你需要完全控制何时停止处理流中的元素,你应该使用传统的循环或迭代器。.limit(list.indexOf("b") + 1) // 限制流到"b"元素出现的位置(或更少)// 打印到"b"为止的元素。// 当元素等于"b"时跳出循环。1、使用普通for循环。
2025-12-09 13:55:51
252
原创 C#:foreach
在上面的代码中,即使numbers是一个空的List<int>,foreach循环也会正常执行,并且在尝试打印任何元素之前结束循环。在C#中,在foreach循环中使用List,通常不需要显式地检查List是否为空,因为在尝试遍历一个空的List时,foreach循环会安全地处理这种情况,不会抛出异常。这种方式提供了额外的控制,特别是在处理可能为null的集合时,或者在你想在循环之前执行一些特定操作时非常有用。然而,对于普通的遍历操作,直接使用foreach是更简洁和常见的方法。
2025-12-08 15:40:35
233
原创 在C#中,string和String
string:C#语言的关键字,是System.String的别名。String:.NET Framework中的类名(System.String),在C#中直接使用时需注意命名空间冲突。功能等价:string和String在功能上无差异,但string更符合C#语法规范。性能优化:频繁修改字符串时,优先使用StringBuilder。优先使用string:符合C#语法风格,代码更简洁易读。
2025-12-08 14:38:09
314
WinXP支持TLS-1.2
2025-03-17
ASN1_BER_DER_编码子集入门指南
2010-06-03
元数据的多角度透视——元数据的知识
2010-09-27
09-MapInfo-whitebook
2010-05-18
MapBasic中文参考手册
2010-05-25
TD-SCDMA网络优化指导书_第2分册指导原则
2010-05-26
基于mapx的网格维数算法设计与实现
2010-05-18
iOS技术框架及特性介绍
2011-07-13
VSS 使用手册(中文版)
2010-06-07
ASN.1探索《ASN.1 Communication between Heterogeneous Systems》
2010-06-03
VML系列教程
2012-04-20
openScale配置_Flex开源客户端
2010-10-19
flex企业开发介绍及应用
2010-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅