- 博客(88)
- 收藏
- 关注
原创 瓴岳科技2026届校园招聘开始啦~
https://www.nowcoder.com/share/jump/3732858091754050872165
2025-08-01 20:25:01
328
原创 JavaScript碎碎念
它对待null和undefined的方式类似,当一个值既不是null也不是undefined时,将其称为“已定义的”第一个非运算将该值转化为布尔类型并取反,第二个非运算再次取反。最后我们就得到了一个任意值到布尔值的转化。空值合并运算符(nullish coalescing operator)的写法为两个问号。时使用默认值,也就是说,当该值确实未知或未被设置时,就可以使用。● 如果a不是已定义的,则结果为b。● 如果a是已定义的,则结果为a。运算符相同的方式使用,优先级相同。如果只想在变量的值为。
2024-05-15 12:00:50
435
原创 python的一些库
刷leetcode碰到很多可以直接用python本身提供的一些库和结构,感觉有必要汇总一下,之前列过一次数据结构,太基础还是不够用。随时更新一下吧,常看常新。
2024-05-06 21:36:51
526
1
原创 208. 实现 Trie (前缀树)
此时 children[0]\textit{children}[0]children[0] 对应小写字母 aaa,children[1]\textit{children}[1]children[1] 对应小写字母 bbb,…链接:https://leetcode.cn/problems/implement-trie-prefix-tree/solutions/717239/shi-xian-trie-qian-zhui-shu-by-leetcode-ti500/我们从字典树的根开始,插入字符串。
2024-02-25 15:30:14
809
原创 React学习——快速上手
可以“自上而下”地构建组件,从层次结构中较高的组件开始构建,也可以“自下而上”地从较低的组件开始构建。在更简单的例子中,自上而下通常更容易,而在较大的项目中,自下而上更容易。3、如果找不到适合拥有状态的组件,创建一个仅用于保存状态的新组件,并将其添加到公共父组件上方的层次结构中的某个位置。确定应用的最小状态数据后,需要确定哪个组件负责更改此状态,或者哪个组件拥有该状态。特点:单向数据流,数据从顶级组件向向树底部的组件。3、查找 UI 状态的最小但完整的表示形式。添加父组件到子组件的方法,在父组件更新数据。
2024-02-22 18:12:26
926
原创 Java学习——设计模式——行为型模式2
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,涉及算法与对象间职责的分配。又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。1、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。
2024-01-07 19:00:10
1368
原创 Java学习——设计模式——行为型模式1
行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分配行为,后者采用组合或聚合在对象间分配行为。行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,涉及算法与对象间职责的分配。定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。属于对象行为模式,通过堆算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象堆这些算法进行管理。
2024-01-05 16:34:28
1184
原创 Java学习——设计模式——结构型模式1
动态代理与静态代理相比,最大的好处是接口中声明的所有方法都被转移到调用处理器一个集中的方法中处理,这样,在接口方法数量比较多的时候,可以进行灵活处理,而不需要像静态代理那样每一个方法进行中转。Java中提供了一个动态代理类Proxy,Proxy并不是上面的代理对象的类,而是提供了一个创建代理对象的静态方法来获取代理对象。为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。ProxyFactory不是代理模式中所说的代理类,而代理类是程序在运行过程中动态的内存中生产的类。
2023-12-29 21:21:57
1461
原创 Java学习——设计模式——创建型模式2
在开发中常用的使用方式,就是当一个类构造器需要传入很多参数时,如果创建这个类的实例,代码的可读性会非常差,而且很容易引入错误,此时就可以利用建造者模式进行重构。工厂方法模式注重整体对象的创建方式,而建造者模式注重的是部件构造过程,意在通过一步一步地精确构造创建出一个复杂的对象。:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型,仍指向原有属性所指向的对象的内存地址。缺点:所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间的差异性很大,不适合使用建造者模式。
2023-12-29 18:57:02
1008
原创 Java学习——设计模式——创建型模式1
枚举类实现单例模式是激励推荐的单例实现模式,因为枚举类型是线程安全的,并且只会装载一次,设计者充分的利用了枚举的这个特性来实现单例模式,枚举的写法非常简单,而且枚举类型是所用单例实现中唯一一种不会被破坏的单例实现模式。优点:封装了创建对象的过程,可以通过参数直接获取对象,把对象的创建和业务逻辑层分开,避免修改客户代码,实现新产品直接修改工厂类,不需要在原代码种修改。抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。
2023-12-28 22:45:40
1028
原创 Java学习——设计模式——介绍
设计模式design patterns,指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可用性。1995年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了23个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。
2023-12-27 21:33:16
1074
原创 Java基础回顾——JDBC
Java为关系数据库定义了一套标准的访问接口:JDBC(Java Database Connectivity)JDBC是Java程序访问数据库的标准接口各数据库厂商使用相同的接口,Java代码不需要针对数据库分别开发Java程序编译期仅依赖java.sql包,不依赖具体数据库的jar包可随时替换底层数据库,访问数据库的Java代码基本不变。
2023-12-25 21:44:59
925
原创 Java基础回顾——多线程
计算机中,一个任务称为一个进程,某些进程内部还需要同时执行多个子任务,子任务称为线程。一个进程可以包含一个或多个线程,但至少会有一个线程操作系统调度的最小单位是线程,Windows和Linux都采用抢占式多任务,如何调度线程由操作系统决定创建进程的开销大,但进程稳定性高,一个进程崩溃不会影响其他进程任何一个线程崩溃会直接导致整个进程崩溃,线程间通信快Java程序实际上是JVM进程,JVM进程用一个主线程来执行main()方法,在main()方法内部,可以启动多个线程。
2023-12-25 19:45:04
1205
原创 Java基础回顾——注解
注解Annotation:是放在Java源码的类、方法、字段、参数前的一种特殊注释注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”。作用1、编译器使用的注解不会被编译进入.class文件,在编译后就被编译器扔掉了例子:@Override:让编译器检查该方法是否正确地实现了覆写;@SuppressWarnings:告诉编译器忽略此处代码产生的警告。2、由工具处理.class文件使用的注解。
2023-12-20 15:10:49
922
原创 Java基础回顾——反射
反射reflection,是指在程序运行期间可以拿到一个对象的所有信息。正常情况下获取一个对象信息,需要import该类,反射可以在对某个实例一无所知的情况下,调用其方法。
2023-12-20 11:57:24
1001
原创 Java基础回顾——异常处理
一些错误是用户造成的(类型输入错误),一些错误的随机出现(网络终端、内存耗尽。。。),并且永远不可能避免获取失败信息:1、约定错误码2、异常处理机制Java内置了一套异常处理机制,使用异常来表示错误异常是一种class,可以在任何地方抛出,但只需要在上层捕获,这样就和方法调用分离了Error表示严重错误,程序对此一般无能为力Exception是运行时错误,可以被捕获并处理;Exception分为两大类:1、RuntimeException以及它的子类。
2023-12-19 21:52:44
986
原创 Ubuntu安装pyenv,配置虚拟环境
注意:使用 pyenv 管理 Python,必须是用 pyenv 安装的 Python 才行,系统以前有的,需要重新用 pyenv 安装;使用 pip 安装第三方模块时会安装到 ~/.pyenv/versions/xxx 下,不会和系统模块发生冲突;使用 pip 安装模块后,可能需要执行 pyenv rehash 更新数据库。1、安装完python 之后,创建虚拟环境。pyenv可以管理不同的python版本。6、删除指定的python版本。1、安装pyenv的依赖库。7、安装python。
2023-10-26 19:08:50
3747
原创 执行autoreconf -fi的过程报错
大多数m4文件都在/usr/share/aclocal/目录下,但实际上configure的默认aclocal路径为/usr/local/share/aclocal,那么可以有两种方法,搜了很多方法,更新apt,安装libtool之类的都试过了,没啥用,因为本身安装的都有了并且版本都是最新的,都支持要求的版本。.m4文件都拷贝到usr/local/share/aclocal/目录下。结果再次执行autoreconf -fi就成功了。第一,将/usr/share/aclocal/下的。
2023-10-23 21:06:27
825
原创 missing-semester————2
最大的不同就是前者在文件中设置的变量对当前shell是可见的,而后者设置的变量对当前shell是不可见的。要知道./xxx.sh和sh xxx.sh都是在当前shell的子shell中执行的,子shell中的变量不会影响父shell,而source是把文件中的命令都读出来一个个执行,所有的变量其实就是在父shell中设置的。因此,创建命令流程(pipelines)、将结果保存到文件、从标准输入中读取输入,这些都是 shell 脚本中的原生操作,这让它比通用的脚本语言更易用。完整的上一条命令,包括参数。
2023-07-08 22:20:26
765
原创 missing-semester————1
表示身份不是root用户表示当前所在位置是"home"输入命令,会被shell解析上述执行date程序,打印出了当前的日期和时间。
2023-07-08 11:55:36
350
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅