自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试常见排序算法

通过递归将左侧部分排好序后,再递归排好右侧部分的顺序。当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。

2024-03-28 20:29:33 138

原创 MySQL各种多表查询

内连接基本与自然连接相同,不同之处在于自然连接要求是同名属性列的比较,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。自然连接是一种特殊的等值连接,他要求两个关系表中进行比较的必须是相同的属性列,无须添加连接条件,并且在结果中消除重复的属性列。cross join子句导致两个表的交叉乘积,该连接和两个表之间的笛卡尔积是一样的(去重后的)全外连接是在两表进行自然连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。多表等值连接的结果为多表的。

2024-03-28 10:07:43 247

原创 关于线程的一些面试题

悲观锁总是假设最坏的情况,认为共享资源每次被访问的时候就会出现问题(比如共享数据被修改),所以每次在获取资源操作的时候都会上锁,这样其他线程想拿到这个资源就会阻塞直到锁被上一个持有者释放。也就是说,共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。像 Java 中和等独占锁就是悲观锁思想的实现。// 需要同步的操作try {// 需要同步的操作高并发的场景下,激烈的锁竞争会造成线程阻塞,大量阻塞线程会导致系统的上下文切换,增加系统的性能开销。

2024-03-24 16:50:25 1011

原创 集合中的常见面试题

Java中的容器就是集合。在集合中分为两大接口:分别是Collection和Map。Collection接口不是顶级接口,它是IterableIterable接口表示可迭代的。也就是说Collection接口所有子接口和实现类都是可以通过Iterator迭代器进行迭代。在Collection接口下有三个子接口,分别是Queue、List、Set。Queue接口表示队列,Queue的子接口Deque表示双向队列。Deque的具体实现类ArrayDeque。

2024-03-24 10:58:22 427

原创 MySql优化及慢查询

A left join B,A表驱动B表,B left join A,B表驱动A表,inner join时,mySql会自动找出数据少的表作为驱动表。区分in和exists:子查询的数据量少可以用in,如果外层查询数据少,而内层查询的数据大,则用exists,id:select查询的序号,表示select操作表的顺序,id相同的按顺序走,不同的序号大的先执行。适用于between and或in等查询。对于联合索引来说,如果存在范围查询,比如between,>、<等条件时,会造成后面的索引字段失效,

2024-03-23 18:44:55 846

原创 JVM内存管理机制

如果一个类加载器收到了类加载委托,它并不会自己去加载,而是把这个给父类加载器去执行,如果父类加载器还存在父类加载器,则继续向上委托,依次递归,请求最终被委派到启动类加载器,如果父类加载器可以完成委托,则成功返回,如果不能完成委托,则子类加载器才会尝试自己去加载。程序运行时,随着对象数量的增加,JVM内存区使用率也在增加,如果使用率达到100%,程序将无法继续执行,必须进行垃圾回收,为了提高垃圾回收效率,JVM对内存进行区域进行划分。为什么要进行垃圾回收:如果只创建,不回收,会造成堆内存溢出(OOM)异常。

2024-03-23 13:46:45 784

原创 Selenium详解

CSS Selector 语法 天生就是浏览器用来选择元素的,selenium自然就可以使用它用在自动化中,去选择要操作的元素了。只要 CSS Selector 的语法是正确的, Selenium 就可以选择到该元素。如果一个元素具有多个属性,CSS选择器可以指定选择的元素要同时具有多个属性的限制。, CSS Selector 选择后代元素的语法是这样的(也支持多层)5.获取元素属性值(元素的get_attribute(‘属性名’))css 选择器支持通过任何属性来选择元素,语法是用一个方括号。

2024-03-20 11:33:18 726 1

原创 最长公共前缀

输入:strs = ["flower","flow","flight"]输入:strs = ["dog","racecar","car"]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。strs[i] 仅由小写英文字母组成。解释:输入不存在公共前缀。

2023-10-24 21:12:36 40

原创 罗马数字转整数

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。s 仅含字符 ('I', 'V', 'X', 'L', 'C', 'D', 'M')X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。解释: M = 1000, CM = 900, XC = 90, IV = 4.I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。输入: s = "IV"

2023-10-24 21:09:58 43

原创 回文数——刷题笔记

解释:从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释:从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。输入:x = -121。输入:x = 121。

2023-10-24 21:07:03 67

原创 无重复字符的最长子串——滑动窗口

请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。3.end-start+1获得当前子串长度,与ans比较得最长子串。解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。输入: s = "abcabcbb"输入: s = "pwwkew"输入: s = "bbbbb"

2023-10-24 20:57:59 31

原创 两数相加——返回链表问题

使用预先指针的目的在于链表初始化时无可用节点值,而且链表构造过程需要指针移动,进而会导致头指针丢失,无法返回结果。3.如果两个链表全部遍历完之后,进位为1,则在新链表后再新加一个节点参数为1(这一步一定不能忘记,不要以为遍历完了结果链表就出来了,而忽略了最后一个进位)。给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。1.如果两个链表不一样长,可在短的一个后面补0,如987 + 23 = 987 + 023 = 1010。

2023-10-24 20:44:28 14

原创 两数之和——HashMap解法

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2023-10-24 20:21:06 50

原创 Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run (default-cli) on project

Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run (default-cli) on project

2023-08-14 11:14:12 46

原创 java.sql.SQLException: No suitable driver found for jdbc:mysql:

mysql5.5版本以后的要手动关闭ssl协议。

2023-07-21 18:59:16 141 1

原创 Java异常机制

异常指程序运行过程中出现的非正常现象,例如除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为。异常类定义中包含了该类异常的信息和对异常进行处理的方法。在执行一个方法时,如果发生异常,则这个方法生成,停止当前执行路径,并把异常对象提交给JRE。JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。

2023-04-17 21:07:13 93

原创 内部类分类

适合那种只需要使用一次的类。比如:键盘监听操作等等。在安卓开发、awt、swing开发中常见。非静态内部类可以直接访问外部类的成员,但是外部类不能直接访问非静态内部类成员。匿名内部类没有构造方法。定义在方法内部的,作用域只限于本方法,称为局部内部类。非静态内部类不能有静态方法、静态属性和静态初始化块。\1. 外部类中定义内部类:new Inner()。外部类属性:外部类名.this.变量名。局部内部类在实际开发中应用很少。内部类属性:this.变量名。匿名内部类没有访问修饰符。

2023-03-29 12:21:48 41

原创 supper关键字

若是构造方法的第一行没有调用super(...)或者this(...);那么Java默认都会调用super(),含义是调用父类的无参数构造方法。先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。依次上溯每个父类,查看每个父类中是否有h,直到Object。静态初始化块调用顺序,与构造方法调用顺序一样,不再重复。上面步骤,只要找到h变量,则这个过程终止。属性/方法查找顺序:(比如:查找变量h)

2023-03-26 12:47:23 58

原创 继承和组合

比如:Student is a Person这个逻辑没问题,但是:Student has a Person就有问题了。这时候,显然继承关系比较合适。再比如:笔记本和芯片的关系显然是has-a关系,使用组合更好。is -a关系建议使用继承,has-a关系建议使用组合。继承只能有一个父类,但是组合可以有多个属性。

2023-03-25 15:21:26 33

原创 final关键字

final void study(){}(重写和重载没有关系)一旦赋了初值,就不能被重新赋值。比如:Math、String等。

2023-03-25 15:05:33 28

原创 static关键字

静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效。静态变量(类变量)、静态方法(类方法):static声明的属性或方法。在static方法中不可直接访问非static的成员。,被该类的所有实例共享,在类载入时被初始化。“类名.类变量/方法”来调用。static变量只有一份。

2023-03-24 10:18:48 51

原创 this关键字

this()调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。分配对象空间,并将对象初始化为0或null;this不能用于static方法中。构造方法中,this总是指向。this是作为普通方法的“普通方法中,this总是。执行属性值的显示初始化;返回对象地址给相关变量;”,由系统传入到方法中。指向调用该方法的对象。

2023-03-24 09:45:02 28

原创 Java虚拟机内存模型初识

Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。

2023-03-23 20:19:06 79

原创 Java—面向对象理解继承、多态、抽象类、接口

Java—面向对象理解继承、多态、抽象类、接口

2022-11-01 22:21:28 192

原创 Java—修饰符

Java—修饰符

2022-10-30 23:25:10 100

原创 数据结构—多项式加法的链式实现(C语言)

数据结构—多项式加法的链式实现(C语言)

2022-10-25 21:29:29 1297 2

空空如也

空空如也

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

TA关注的人

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