自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 书生大模型全链路开源体系

1月23日:发布了InternLM2-Math,这是首个同时支持形式化数学语言及解题过程评价的开源模型。5月24日:开源了InternLM2-Math-Plus,刷新了开源数学模型的性能上限。6月4日:开源了InternLM2-WQX,一个200亿参数量的模型,在2024年高考中取得了接近GPT-4o的成绩。7月6日:InternLM-7B模型开源,并且提供免费商用,同时发布了全链条开源工具体系。9月27日:开源了书生·浦语灵笔(InternLM-XComposer),这是首个支持图文混合创作的大模型。

2024-08-23 21:12:56 216

原创 入门岛第2关Python基础知识

3: step into: 进入函数或者方法。如果当行代码存在函数或者方法时,进入代码该函数或者方法。如果当行代码没有函数或者方法,则等价于step over。实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。2: step over:跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。4: step out:退出函数或者方法, 返回上一层。1: continue: 继续运行到下一个断点。6: stop:终止debug。

2024-08-12 23:40:00 302

原创 书生训练营入门岛第一关作业

端口映射并运行helloworld配置ssh

2024-08-12 23:03:58 129

原创 vue3+element实现一个公告面板

首先,确保你的项目使用的是 Vue 3。如果你还未创建项目,可以使用 Vue CLI 或 Vite 创建一个新项目。使用 Vue 3 的组合式 API,你可以创建一个公告栏组件。这里利用 Element Plus 的。在 Vue 3 中,通常在。

2024-05-16 23:25:34 958

原创 vue强制刷新组件

在Vue中强制刷新一个组件,通常不是一个推荐的做法,因为Vue的响应式系统设计就是为了自动处理依赖的更新。通过切换一个标志位的真假值来挂载或卸载组件,可以实现组件的重新渲染。可以通过重新设置组件的数据来触发更新。这可以通过将数据重置为初始值或新值来实现。发生变化时,Vue会销毁旧组件并创建一个新组件,从而实现重新渲染。只会影响实例本身和插入插槽内容的子组件,但不会使组件内的子组件重新渲染。这是Vue实例方法,用于强制Vue实例重新渲染。到一个数据属性并在需要时更新这个属性来完成。最常见的方法是改变组件的。

2024-05-07 17:10:31 571 1

原创 ImportError: cannot import name ‘TypeAliasType‘ from ‘typing_extensions‘问题的解决

typing_extensions 是一个 Python 库,它提供了在当前或较旧的 Python 版本中不可用的额外类型提示(type hints)和类型相关的功能。这个库是为了向后兼容而设计的,使得开发者能在旧版本的 Python 中使用最新的类型系统特性,而这些特性原本只在最新的 Python 版本中可用。Type Hints:在 Python 3.5 引入类型提示后,随着 Python 的进一步发展,不断有新的类型提示功能被添加到标准库 typing 中。替换成你的 Conda 环境名称。

2024-05-01 20:53:17 2645 1

原创 Java静态绑定和动态绑定

Java支持两种类型的绑定:静态绑定(也称为早期绑定)和动态绑定(也称为晚期绑定或虚拟调用)。编译器知道对象的类型以及被调用的方法,因此它能够将一个方法调用与方法体链接起来。动态绑定通过在对象的方法区存储一个指向方法的指针(在Java中称为虚拟方法表)来实现,运行时会根据这个指针来调用正确的方法。由于方法调用在编译时就已经确定,运行时不需要花费时间去查找应该调用的方法。方法展示了动态绑定,因为它是在运行时根据对象的实际类型调用的方法。方法是静态的,展示了静态绑定,它的调用在编译时就已经确定。

2024-04-19 19:27:00 380

原创 jvm内存结构

在Java 8中,永久代(PermGen,早期JVM中方法区的一种实现)被完全移除,取而代之的是元空间(Metaspace)。元空间主要存储类的元数据,它从本地内存中分配空间,而Java堆和方法区的其他部分仍然存在于虚拟机内存中。在Java虚拟机(JVM)中,方法区(Method Area)是一个特殊的内存区域,主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等。:包括字段和方法的信息,如字段的名称、类型、修饰符以及方法的名称、返回类型、参数、修饰符等。也叫永久代,用于存储。

2024-04-19 18:04:57 398

原创 Java类加载

某些高度定义的场景比如从特定的网络位置加载类,或者从加密文件中加载类继承类,并重写其findClass方法。继承类:创建一个新类,继承自。重写findClass方法:在这个方法中,你需要定义如何查找类。如果类在你的搜索范围内(比如,你的文件系统中的一个特定目录),你需要读取类的字节码,然后调用方法来定义这个类。(可选)重写loadClass方法:在某些复杂的场景下,如果你想完全控制类的加载过程,可以重写loadClass方法。但是这样做时需要非常小心,以避免破坏双亲委派模型。try {

2024-04-19 17:45:57 1121

原创 JMM的组成和它的作用

JMM是一种抽象的概念,旨在定义程序中变量的访问规则,以及在并发的情况下如何和何时可以看到其他线程引起的变化,JMM是为了帮助开发者了解多线程程序的内存可见性,原子性,有序性问题。

2024-04-19 16:40:23 275

原创 有大批量的数据导入到数据库,规则是数据库相同的就update没有就insert怎么做效率快

理此类具有条件的 “upsert”(更新或插入)操作时,您想要最小化对数据库的访问次数并使用高效的SQL逻辑。

2024-04-02 22:59:55 659

原创 spring security

sqlapplication.ymlredis序列化器响应结果实体类jwt工具类Redis工具类webUtilsUser类二,认证2.2 原理2.2.1 完整流程SpringSecurity就是一个过滤器链,内部提供各种功能的过滤器UsernamePasswordAuthentionFilter: 负责处理登陆页面填写账号密码后登录的请求ExceptionTranslationFilter: 负责处理过滤器链中的抛出的和FilterSecurityIntercept

2024-03-01 23:36:42 1491 2

原创 Spring GateWay

路由过滤器可用于修改进入的HTTP请求和返回的HTTP响应,路由过滤器只能指定路由进行使用。Spring Cloud Gateway 内置了多种路由过滤器,他们都由GatewayFilter的工厂类来产生生命周期,only Twoprepost种类,Only Two。

2024-02-07 21:58:41 3330

原创 Java的非阻塞同步

所以只能靠硬件来完成。当执行操作时,只有当 V 的值等于 A,才将 V 的值更新为 B。随着硬件指令集的发展,我们可以使用基于冲突检测的乐观并发策略: 先进行操作,如果没有其它线程争用共享数据,那操作就成功了,否则采取补偿措施(不断地重试,直到成功为止)。通过这种方式,硬件级的原子操作确保了即使在高度并发的场况下,每次检查和修改账户余额的操作都是不可分割的,从而避免了数据不一致的问题。结果是,两个操作都认为账户A有足够的余额进行转账,可能导致账户A的余额变成负值,这在现实世界是不可接受的。

2024-01-26 16:43:15 411

原创 idea的git reset current branch to here操作详解

【代码】idea的git reset current branch to here操作详解。

2024-01-22 11:17:11 2981

原创 数据库的设计模式

数据库的设计模式常用于处理特定类型的数据和需求。

2024-01-18 20:27:24 887

原创 数据库建模之EAV模型

EAV 模型是一种常用来处理可扩展属性集的数据库设计方法。在这个模型中,你将数据存储在三个主要的列中:实体(Entity)、属性(Attribute)和值(Value)。表设计Entity表: 存储实体的基本信息。Attribute表: 存储可能的属性名称。Value表: 存储实体的属性值,通常包括对 Entity 表和 Attribute 表的外键引用。优点非常灵活,可以轻松添加或删除属性。缺点查询复杂,性能问题,数据完整性维护困难。

2024-01-18 20:09:50 1282

原创 windows和linux实时监控文本内容的命令

tail命令是一个用于在Linux和Unix系统中查看文件末尾内容的命令。它通常用于实时监控日志文件的更新,以及查看文件的最新内容。选项可以实时监控文件的更新,当文件内容发生变化时,会自动显示最新的内容。选项可以不显示文件名,只显示文件内容。选项可以显示指定字节数的内容,例如。选项可以显示指定行数的内容,例如。将显示文件的最后100个字节。将显示文件的最后20行内容。

2024-01-18 10:13:50 697

原创 git切换到另一分支更改也会随之过去

一次的修改如果没有 commit如果切换到另一分支就会把修改带到另一个分支。这时可以使用 git stash。

2024-01-15 20:40:10 825

原创 git将一个远程分支的部分修改提交到另一个远程分支

首先,确保您在您的本地机器上切换到了目标分支(即您想要应用修改的分支)。例如,想将修改应用到。这个命令可以选择特定的提交(commit)从一个分支应用到另一个分支。找到您想要的提交,并复制它的提交哈希(commit hash)。将一个远程分支的部分修改提交到另一个远程分支,可以使用。在另一个分支上,找出想要应用的特定提交。过程中出现冲突,需要解决这些冲突。或者,如果决定不进行。

2024-01-15 19:28:14 898

原创 Java泛型的继承和通配符

super Type的使用主要是为了提高在泛型编程中对集合的写入操作的灵活性和安全性。它允许你在泛型方法或类中指定参数类型可以是特定类型的任何超类型,这在设计具有广泛兼容性的API、处理多态集合的写入操作,以及实现符合PECS原则的代码时尤其有用。通过这种方式,你可以编写出更加灵活、更具适应性的泛型代码。?在消费此对象的时候,可以将此Type引用各种子类类型(我能往你里面随便装) 消费者而?中可以用Type类型及其去接受Type类型(我总有一个装你) 生产者。

2024-01-15 18:46:01 1236

原创 模板方法模式

模板方法(Template Method)模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。AbstractClass是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。

2024-01-10 16:27:28 569

原创 原型模式

原型模式(Prototype),用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象"原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。

2024-01-10 16:03:53 667

原创 开放-封闭原则

开放-封闭原则,是说软件实体(类、模块、函数等)应该可以扩展,但是不可修改,一旦软件实体发布,其源代码就不应该被修改来改变其行为。这有助于减少因修改既有功能而引入新错误的风险。举一个简单的例子,假设有一个绘图程序,它可以绘制不同种类的形状。如果遵循开放封闭原则,我们应该设计一个基本的形状类(如Shape),然后为每种具体的形状创建继承自Shape的子类(如CircleSquare等)。当需要添加新形状时,我们只需添加一个新的子类而不需要修改现有的类。

2024-01-09 11:30:10 391

原创 自定义注解+AOP

链接## 创建注解Retention;Target;这个注解名为 MyCustomAnnotation,它可以标注在方法上,具有一个可选的字符串值。

2023-11-23 16:08:07 144

原创 Java反射机制

同样,调用非public的Constructor时,必须首先通过setAccessible(true)设置允许访问。但setAccessible(true)也可能会失败。小结。

2023-11-23 13:54:27 92

原创 java面试题

继承hashmap,重新put和remove等修改方法和重写迭代器,collectors工具类里面有readonly的map包装类。

2023-10-21 17:20:01 161

原创 共享模型之管程

1、共享带来的问题线程出现问题的根本原因是因为线程上下文切换,导致线程里的指令没有执行完就切换执行其它线程了,下面举一个例子 Test13.java static int count = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(()->{ for (int i = 1;i<5000;i++)

2023-10-18 21:22:09 185

原创 java线程

使用继承方式的好处是方便传参,你可以在子类里面添加成员变量,通过set方法设置参数或者通过构造函数进行传递,而如果使用Runnable方式,则只能使用主线程里面被声明为final的变量。不好的地方是Java不支持多继承,如果继承了Thread类,那么子类不能再继承其他类,而Runable则没有这个限制。前两种方式都没办法拿到任务的返回结果,但是Futuretask方式可以。

2023-10-17 21:56:10 192

原创 NIO教程

面向缓冲区基于通道的在java.nio包下以及子包下有三大核心 **Channel(通道),Buffer(缓冲区),Selector(选择器)如果通道里面没有数据就会去做其他事情不会去等待通道(Channel):由java.nio.channels包定义的, Channel表示I0源与目标打开的连接。Channel类似于传统的“流"。只不过Channel本身不能直接访问数据,channel只能与Buffer进行交互。通道可以同时进行读写,而流只能读或者只能写通道可以实现异步读写数据。

2023-10-14 23:43:20 496

原创 JVM内存结构

Program Counter Register程序计数器(寄存器)可以看做是当前线程所执行的字节码的行号指示器,字节码解释器的工作时就是通过改变这个计数器的值来选取下一条执行的字节码指令特点线程私有的(因为每个线程执行的程序是不一样的)不会内存溢出每个线程运行时需要的内存,成为虚拟机栈每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈,对于着当前正在执行的方法栈的默认大小问题垃圾回收是否涉及栈内存?

2023-10-06 15:23:14 298

原创 redis基础

Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常用数据类型字符串string哈希 hash列表 list集合 set有序集合 sorted setRedisTemplate可以接收任意Object作为值写入Redis:只不过写入前会把Object序列化为字节形式,默认是采用JDK序列化,得到的结果是这样的:可读性差内存占用较大一般来说序列化string类型用String序列化器,用对象类型的时候用JSON序列化器@Bean。

2023-10-04 16:28:42 46

原创 第11章‘数据库设计规范

关于数据表的设计,有三个范式要遵循。(1)第一范式(1NF),确保每列保持原子性数据库的每一列都是不可分割的原子数据项,不可再分的最小数据单元,而不能是集合、数组、记录等非原子数据项。(2)第二范式(2NF),确保每列都和主键完全依赖尤其在复合主键的情况下,非主键部分不应该依赖于部分主键。(3)第三范式(3NF)确保每列都和主键列直接相关,而不是间接相关范式的优点:数据的标准化有利于消除数据库的数据冗余,第三范式(3nf)通常被认为是性能,拓展性,和数据完整性方面达到了最好的平衡。

2023-10-03 09:59:09 53

原创 第12章_数据库其它调优策略

磁盘的I/O能力,也就是它的寻道能力,目前的SCSI高速旋转的是72oo转/分钟,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv (page view)在150w,这样的一般的配置就无法满足这样的需求了。如果用的是MySQL,我们还可以根据不同表的使用需求,选择不同的存储引擎。:表示索引缓冲区的大小。不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“更快”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的。

2023-10-03 09:58:24 56

原创 第17章_其他数据库日志

中继日志只在主从服务器架构的从服务器上存在。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主从服务器的数据同步。搭建好主从服务器之后,中继日志默认会保存在从服务器的数据目录下。文件名的格式是:从服务器名 -relay-bin.序号。中继日志还有一个索引文件:`` 从服务器名 -relay-

2023-10-03 09:51:52 59

原创 第16章_多版本并发控制

对历史快照的管理行为就是由ReadView来体现的(哪些可见,哪些不可见)在MVcC机制中,多个事务对同一个行记录进行更新会产生多个历史快照,这些历史快照保存在Undo Log里。如果一个事务想要查询这个行记录,需要读取哪个版本的行记录呢?这时就需要用到ReadView了,它帮我们解决了行的可见性问题。ReadView就是事务A在使用MVcc机制进行快照读操作时产生的读视图。当事务启动时,会生成数据库系统当前的一个快照,InnoDB为每个事务构造了一个数组,用来记录并维护系统当前活跃事务。

2023-10-02 14:43:00 52

原创 第14章_MySQL事务日志

这个和磁盘的扇区有关,机械磁盘默认的扇区就是512字节,如果你要写入的数据大于512字节,那么要写入的扇区肯定不止一个,这时就要涉及到盘片的转动,找到下一个扇区,假设现在需要写入两个扇区A和B,如果扇区A写入成功,而扇区B写入失败,那么就会出现非原子性的写入,而如果每次只写入和扇区的大小一样的512字节,那么每次的写入都是原子性的。假设一个事务,对表做10万行的记录插入,在这个过程中,一直不断的往redo log顺序记录,而bin log不会记录,直到这个事务提交,才会一次写入到bin log文件中。

2023-10-01 11:03:02 286

原创 第13章_事务基础知识

事务是数据库区别于文件系统的重要特征之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。

2023-09-30 17:22:51 279

原创 第13章_事务基础知识

事务是数据库区别于文件系统的重要特征之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。

2023-09-30 17:19:42 234

原创 第12章_数据库其它调优策略

磁盘的I/O能力,也就是它的寻道能力,目前的SCSI高速旋转的是72oo转/分钟,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv (page view)在150w,这样的一般的配置就无法满足这样的需求了。如果用的是MySQL,我们还可以根据不同表的使用需求,选择不同的存储引擎。:表示索引缓冲区的大小。不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“更快”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的。

2023-09-30 09:12:22 41

空空如也

空空如也

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

TA关注的人

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