自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA面试题 第六弹

而在面向切面编程中,我们将一个个的对象某些类似的方面横向抽成一个切面,对这个切面进行一些如权限控制、事物管理,记录日志等公用操作处理的过程就是面向切面编程的思想。而在 spring 开发模式中,spring 容器使用了工厂模式为我们创建了所需要的对象,不需要我们自己创建了,直接调用spring 提供的对象就可以了,这是控制反转的思想。依赖注入(DI),spring 使用 javaBean 对象的 set 方法或者带参数的构造方法为我们在创建所需对象时将其属性自动设置所需要的值的过程,就是依赖注入的思想。

2024-08-02 11:06:19 749 4

原创 JAVA面试题 第五弹

该算法的基本思路就是通过一些被称为引用链(GC Roots)的对象作为起点,从这些节点开始向下搜索,搜索走过的路径被称为(Reference Chain),当一个对象到GC Roots没有任何引用链相连时(即从GC Roots节点到该节点不可达),则证明该对象是不可用的。在java中可以作为GC Roots的对象有以下几种:虚拟机栈中引用的对象、方法区类静态属性引用的对象、方法区常量池引用的对象、本地方法栈JNI引用的对象。第一:降低资源消耗。集合类中有对对象的引用,使用完后未清空,使得JVM不能回收。

2024-08-01 15:17:52 579

原创 乐观锁与悲观锁

操作员 B 完成了操作,也将版本号( version=1 )试图向数据库提交数据( balance=$80 ),但此时比对数据库记录版本时发现,操作员 B 提交的数据版本号为 1 ,数据库记录当前版本也为 2 ,不满足 “ 提交版本必须等于当前版本才能执行更新 “ 的乐观锁策略,因此,操作员 B 的提交被驳回。但是,如果冲突频繁发生(写占比非常多的情况),会频繁失败和重试(悲观锁的开销是固定的),这样同样会非常影响性能,导致 CPU 飙升。CAS 是一个原子操作,底层依赖于一条 CPU 的原子指令。

2024-08-01 09:54:11 482

原创 JAVA面试题 第四弹

上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的 Security 的含义,比如:通过 GET 提交数据,用户名和密码将明文出现在 URL 上,因为(1)登录页面有可能被浏览器缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用 GET 提交数据还可能会造成 Cross-site request forgery 攻击。在存储的数据量方面:session 能够存储任意的java 对象,cookie 只能存储 String 类型的对象。

2024-07-31 10:42:03 540

原创 JAVA面试题 第三弹

HashMap是线程不安全的,HashTable是线程安全的,其中的方法是Synchronized,在多线程并发的情况下,可以直接使用HashTable,但是使用HashMap时必须自己增加同步处理。通过hash碰撞,让HashMap不断产生碰撞,那么相同的key的位置的链表就会不断增长,当对这个Hashmap的相应位置进行查询的时候,就会循环遍历这个超级大的链表,性能就会下降,所以改用红黑树。红黑树 JDK8使用红黑树来替代超过8个节点的链表,主要是查询性能的提升,从原来的O(n)到O(logn)。

2024-07-30 09:07:12 596

原创 Java中的四种访问权限

要理解protected权限,就需要了解继承,因为这个权限处理的就是继承相关的概念,继承而来的子类可以访问public、protected。1、包访问权限: 没有任何修饰符的权限就是包访问权限,意味着当前包的所有类都可以访问这个成员,如表中所示,对于本包之外的类,这个成员就变成了private,访问不了。2、public: 被public修饰的成员对任意一个类都是可用的,任何一个类都可以访问到,通过操作该类的对象随意访问public成员。所谓访问权限,指的就是本类中的成员变量、成员方法对其他类的可见性。

2024-07-30 09:03:06 906

原创 JAVA面试题 第二弹

修饰方法时,也同样只能使用,不能在子类中被重写。void wait(long timeout)--->导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll()方法,或者超过指定的时间量。String 类中有native关键字修饰的调用系统级别的本地方法,调用了操作系统的 API,如果方法可以重写,可能被植入恶意代码,破坏程序。void wait()--->导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

2024-07-29 09:47:10 669

原创 前端常用的4种请求方式

URL全称是资源描述符,可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE可以理解为就对应着对这个资源的查,改,增,删4个操作。总的来说,PUT和DELETE请求是对资源进行修改和删除的操作,而POST和GET请求则是对资源进行添加和查询的操作。此外,PUT和GET请求是幂等的,而POST和DELETE请求不是幂等的。POST请求:用于向指定资源提交数据,数据被包含在请求体中。GET请求是幂等的,即多次执行同一个GET请求所产生的结果都是相同的。

2024-07-29 09:43:57 482

原创 网页代码报错大集合

416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段。417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求。205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件。505——服务器不支持或拒绝支请求头中指定的HTTP版本。206——服务器已经完成了部分用户的GET请求。305——请求的资源必须从服务器指定的地址得到。414——请求的资源URL长于服务器允许的长度。

2024-07-26 13:42:11 1132

原创 JAVA面试题 第一弹

浅拷贝是指,只会拷贝基本数据类型的值,以及实例对象的引用地址,并不会复制一份引用地址所指向的对象,也就是浅拷贝出来的对象,内部的类属性指向的是同一个对象。深拷贝是指,既会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,深拷贝出来的对象,内部的类执行指向的不是同一个对象。而int则是直接存储数据值。深拷贝和浅拷贝就是指对象的拷贝,一个对象中存在两种类型的属性,一种是基本数据类型,一种是实例对象的引用。封装:封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

2024-07-25 14:34:05 439

原创 JAVA每日一题2024.7.25

【代码】JAVA每日一题2024.7.25。

2024-07-25 08:51:07 288

原创 JAVA每日一题2024.7.24

【代码】JAVA每日一题2024.7.24。

2024-07-24 14:55:37 174

原创 Python vue 前端面试题 第三弹

如果是浏览器这个是自身的机制,他会根据你的url来判断,如果你url是相同的那他就会自己缓存下来。insertBefore(插入节点,被插节点) 最后一个参数不指定,默认插在元素的后面,与appendChild()作用相同,指定了就插值这个节点前面。如果你的后台资源不是一样的,不想缓存。离线缓存是:H5提供了离线使用的功能,让应用程序可以获取本地的网站内容,提高网站的性能,增加用户的体验。备注:离线存储是通过manifest文件来管理的,需要服务器端的支持,不同的服务器开启支持的方式也是不同的。

2024-07-24 08:57:42 253

原创 Python vue 前端面试题 第二弹

js通过原型链模拟实现面向对象,比如通过实例化一个构造函数可以给每个对象挂载自己专属的属性,通过给类的prototype上赋方法是所有对象所共有的方法。:JS中内层函数可以访问外层函数的变量,外层函数无法操作内存函数的变量的特性。样式的调整会引起重绘,比如字体颜色、背景色调整等Dom的变动会引起重排,比如定位改动、元素宽高调整。:内层函数引用外层函数变量,内层函数占用内存。变量长期驻扎在内存中,不会被内存回收机制回收,即延长变量的生命周期;:无法自动销户,就及时手动回收,使用后将函数的引用赋null。

2024-07-24 08:54:11 337

原创 JAVA每日一题2024.7.23

很简单的一道小题,涉及到贪心算法。

2024-07-23 13:45:16 520

原创 SpringBoot面试题 第三弹

即url/{id}这种形式。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping: 映射请求,只能接收的对应的请求。主要是Spring Boot的启动类上的核心注解SpringBootApplication注解主配置类,有了这个主配置。②@EnableAutoConfiguration: 打开自动配置的功能,也可以关闭某个自动配置的选项, 例。@Component,@Service,@Controller,@Repository: 将类注入容器。

2024-07-23 10:00:24 514

原创 SpringBoot面试题 第二弹

跨域可以在前端通过 JSONP 来解决,但是 JSONP 只可以发送 GET 请求,无法发送其他类型的请求,在 RESTful 风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (CORS,Crossorigin resource sharing) 来解决跨域问题。后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在\BOOTINF\classes 目录下才是我们的代码,因此无法被直接引用。普通的 jar 包,解压。1、SpringBoot如何实现打包。

2024-07-23 08:40:55 513

原创 SpringBoot面试题

跨域可以在前端通过 JSONP 来解决,但是 JSONP 只可以发送 GET 请求,无法发送其他类型的请求,在 RESTful 风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (CORS,Cross-origin resource sharing) 来解决跨域问题。Spring Boot 推荐使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通过 @ImportResource 注解可以引入一个 XML 配置。2. Spring Boot 有哪些优点?

2024-07-22 14:35:31 483

原创 VUE2如何升级VUE3

sudo npm cache clean -f //清除nodejs的缓存。npm uninstall vue-cli -g //全局卸载vue2.0。npm install @vue/cli -g //全局安装vue3.0。sudo npm install -g n //使用npm安装n模块。npm view node versions //查看node的版本。sudo n 15.0.0 //升级到指定版本也可用做切换版本。node -v //查看node版本。vue -V //查看VUE版本。

2024-07-22 10:52:48 362

原创 VUE2与VUE3的区别

vue2是采用ES5的object.definePropert()对数据进行劫持,结合发布订阅和观察者模式进行的。vue3是采用ES6的Proxy的数据代理来对数据进行代理,修复了v2中对象和数组的属性添加修改的问题。,新的合成型api能让我们使用方法来分割,相比于旧的api使用属性来分组,这样代码会更加简便和整洁。在v2中如果同时使用v-for 和 v-if 那么v-for的优先级是高于 v-if 的。vue2中使用new Vue()的方式,来创建实例。4、v-if和v-for优先级。

2024-07-22 10:46:51 496

原创 Python vue 前端面试题

vue 实例已经完成了数据观测,属性和方法的计算(比如props、methods、data、computed和watch此时已经拿得到),未挂载到DOM,不能访问到el属性,el属性,ref属性内容为空数组常用于简单的ajax请求,页面的初始化。也就是模板中的HTML渲染到HTML页面中,此时可以通过DOM API获取到DOM节点,$ref属性可以访问常用于获取VNode信息和操作,ajax请求,mounted只会执行一次。此时,组件实例刚刚创建,还未进行数据观测和事件配置,拿不到任何数据。

2024-07-19 13:24:50 635

原创 Postgresql如何获取表结构

【代码】Postgresql如何获取表结构。

2024-07-18 15:11:34 337

什么是深拷贝、浅拷贝,什么是引用拷贝

什么是深拷贝、浅拷贝,什么是引用拷贝。

2024-07-22

反射的概念、反射的条件、什么是反射

反射的概念

2024-07-22

成员变量和局部变量之间的区别

成员变量和局部变量之间的区别

2024-07-22

空空如也

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

TA关注的人

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