
笔试面试题
文章平均质量分 91
苏格拉没有 底
关注微信公众号:1024笔记;可免费领取海量学习资源和资料
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap和Hashtable的区别
作者平台:| 优快云:https://blog.youkuaiyun.com/qq_41153943(ID:苏格拉没有 底)| 掘金:https://juejin.cn/user/651387938290686(ID:jiangxia_1024)| 知乎:https://www.zhihu.com/people/1024-paper-96(ID:苏格拉没有底)| 微信公众号:1024笔记| 本文一共1170字,预计阅读8分钟。原创 2025-08-19 20:28:53 · 249 阅读 · 0 评论 -
面试题系列:java中的class到底是个什么东西?
java中的class到底是个什么东西?原创 2025-08-02 11:11:29 · 761 阅读 · 0 评论 -
面试题系列:一个 .java 源文件里究竟能塞几个类(非内部类)?有什么限制?
今天一起来分析一个经典的的基础面试题:「**一个 .java 源文件里究竟能塞几个类(非内部类)?有啥规矩?**」 别看它基础,可藏着Java语言设计的重要理念。搞明白了,代码组织、项目管理都更清晰。原创 2025-08-03 08:00:00 · 780 阅读 · 0 评论 -
面试题系列:静态变量和实例变量的区别
面试中被频繁问到却又容易混淆的概念:静态变量与实例变量的区别。原创 2025-08-02 10:52:14 · 667 阅读 · 0 评论 -
异步本质是不是就是多线程
异步编程和多线程是两个不同的概念,尽管它们都可以用来实现并发操作。但其背后的机制、适用场景以及实现方式各有不同。原创 2025-07-27 09:49:37 · 318 阅读 · 0 评论 -
Java异常处理详解:从理论到实战,轻松驾驭程序“意外”
作为Java开发者,处理异常是日常编码的核心技能。今天一起深入学习下Java异常体系。原创 2025-07-27 09:44:36 · 900 阅读 · 0 评论 -
如何使用Lambda表达式让你的代码直接起飞
在我们日常的编程中,很喜欢使用Lambda表达式,合理地使用过它不仅仅能大大的减少我们的代码量,而且能提高代码效率,让我们的代码飞起来!原创 2025-07-26 11:16:09 · 981 阅读 · 0 评论 -
Hutool:提升效率的万能工具库,让你的代码起飞
在Java开发中,经常需要处理字符串、日期、加密、网络请求等基础操作。以上这些事情,要么自己动手写代码,要么从零零碎碎的各个不同的地方去找各种零零散散的代码来改造成自己需要的样子。原创 2025-07-26 10:49:35 · 784 阅读 · 0 评论 -
一文搞懂Java反射
反射机制被称为Java的"元编程能力",Spring、MyBatis等主流框架底层都重度依赖它。本文将深入剖析反射的核心原理,并通过实战代码演示其强大威力!原创 2025-07-24 20:54:17 · 952 阅读 · 0 评论 -
MySQL数据库优化的几种方式(笔面试必问)
数据库优化不仅是笔面试中常问的知识点,在实际的开发应用中也会经常用到,如果有不正确的地方欢迎讨论指正!并且如果有其他更好的方法或者本文没有提及的地方,也欢迎交流讨论!原创 2022-07-02 11:47:24 · 2293 阅读 · 0 评论 -
一起学习SQL中各种join以及它们的区别
sql语句中的一些连接查询以及它们之间的区别,另外还有一种full join 表示全连接,但是mysql中不支持,可以使用左连接和右连接的合集进行表示。full join 表示的是左表和右表的并集,但是对于没有匹配的记录,则会以null表示。......原创 2022-07-01 20:27:43 · 1749 阅读 · 0 评论 -
Springboot处理请求参数的注解
在springboot中有几种处理url请求参数的注解,它们分别是:@PathVariable、@RequestHeader、@RequestParam、@MatrixVariable、@RequestBody,今天一起来学习下。原创 2022-05-22 12:11:30 · 2145 阅读 · 0 评论 -
从零开始学设计模式(二十二):命令模式(Command Pattern)
命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行了。主要的作用就是对请求发送者与接收者进行耦合,发送者与接收者之间没有直接引用关系,使得对象之间的调用关系更加灵活,发送请求的对原创 2022-05-14 14:13:43 · 302 阅读 · 0 评论 -
从零开始学设计模式(二十一):解释器模式(Interpreter Pattern)
抽象表达式是生成语法集合的关键,每个非终结符表达式解释一个最小的语法单元,然后通过递归的方式将这些语法单元组合成完整的文法,这就是解释器模式。解释器模式在实际的使用中比较少,因为它的维护和性能效率是比较复杂的问题,所以对于解释器模式了解即可。原创 2022-05-13 10:42:10 · 214 阅读 · 0 评论 -
从零开始学设计模式(二十):迭代器模式(Iterator Pattern)
迭代器模式主要是提供了一种访问一个容器对象中各个元素的方法,并且不会暴露该对象的内部细节。但是很多语言在实现容器的时候都提供了迭代器,所以可以一般采用语言提供的迭代器模式就可以了,不需要刻意的去实践迭代器模式。原创 2022-05-12 10:23:41 · 287 阅读 · 0 评论 -
从零开始学设计模式(十九):责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)又叫也叫职责链模式,指的是为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。它是一种对象行为型模式。原创 2022-05-11 10:32:33 · 213 阅读 · 0 评论 -
从零开始学设计模式(十八):状态模式(State Pattern)
状态模式(State Pattern)指的是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,在其内部状态改变时改变它的行为。状态模式是一种对象行为型模式。它和策略模式有一点很像,就是将一些复杂的逻辑放在一个专门的上下文类中进行处理。原创 2022-05-10 10:12:45 · 374 阅读 · 1 评论 -
从零开始学设计模式(十七): 备忘录模式(Memento Pattern)
**备忘录模式**(Memento Pattern)又叫快照模式,它指的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。它是一种对象行为型模式。原创 2022-05-09 10:20:04 · 384 阅读 · 0 评论 -
从零开始学设计模式(十六):策略模式(Strategy Pattern)
策略模式是一种简单并且常用的模式,它主要就一个算法抽象类或者接口封装算法、然后多个具体的算法实现类实现它的方法再被一个上下文类来包装一下。一般来说,策略模式不会单独使用,跟模版方法模式、工厂模式等混合使用的情况比较多。原创 2022-05-06 10:30:25 · 306 阅读 · 0 评论 -
从零开始学设计模式(十五):模版方法模式(Template Method Pattern)
模版方法模式(Template Method)定义一个操作中算法的框架,并且将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。原创 2022-05-05 12:03:59 · 184 阅读 · 0 评论 -
从零开始学设计模式(十四):中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)又被称为调停者模式。它定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。它是一种对象行为型模式。生活中最常见的例子就是租房中介是一种中介,如果我们想要租房可以通过中介和房东沟通,这时候其实并不需要知道对方是谁,也并不需要面对面,类似于电话、QQ、微信等等都是中介,能大大降低了沟通的复杂性。原创 2022-04-08 12:00:11 · 506 阅读 · 0 评论 -
从零开始学设计模式(十二):享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)指的是运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。原创 2022-01-13 20:02:20 · 229 阅读 · 0 评论 -
从零开始学设计模式(十一):组合模式(Composite Pattern)
组合模式又叫做部分-整体模式,它在树型结构(可以想象一下数据结构中的树)的问题中,模糊了简单元素和复杂元素的概念,客户端程序可以像处理简单元素一样来处理复杂元素,而使得客户端程序与复杂元素的内部结构进行解藕。原创 2022-01-11 20:58:02 · 223 阅读 · 0 评论 -
从零开始学设计模式(十): 桥接模式(Bridge Pattern)
桥接(Bridge)模式又称为柄体(Handle and Body)模式或接口(Interface)模式,它将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。原创 2022-01-10 21:16:57 · 194 阅读 · 0 评论 -
从零开始学设计模式(九):外观模式(Facade Pattern)
外观(Facade)模式又叫作门面模式,是一种为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部与其中子系统的通信必须通过一个统一的外观对象进行,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,使得这一子系统更加容易使用,提高了程序的可维护性。外观模式是一种对象结构型模式。原创 2022-01-05 22:05:32 · 344 阅读 · 0 评论 -
说说with(nolock)的使用
with(nolock)其实是表提示(表提示table hint指的是通过指定锁定方法、一个或多个索引、查询处理操作(如表扫描或索引查找)或其他选项,表提示可在数据操作语言 (DML) 语句执行期间覆盖查询优化器的默认行为。)中的一种。它等同于数据库的4种事务隔离级别中的READ UNCOMMITTED(读未提交)。原创 2022-01-04 21:47:09 · 2900 阅读 · 0 评论 -
从零开始学设计模式(八):装饰器模式(Decorator Pattern)
装饰器模式是继承关系的一个替代方案,在不必改变原类文件和原类使用的继承的情况 下,通过使用对象之间的关联关系来取代类之间的继承关系,从而能够动态的给一个对 象拓展一些额外的功能。它也是一种对象结构型模式。原创 2022-01-03 20:53:57 · 322 阅读 · 0 评论 -
从零开始学设计模式(七):代理模式(Proxy Pattern)
代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。它是一种对象结构型模式。原创 2021-12-30 19:54:46 · 315 阅读 · 0 评论 -
从零开始学设计模式(六):适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern)指的是把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。就好比你的苹果手机和安卓手机的耳机接口是不一样的,所以如果换了手机那么还得换耳机,但是可以通过一个转换接口能够使得一个耳机在安卓和苹果手机上都能够使用。所以适配器模式也是使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。原创 2021-12-27 19:59:17 · 213 阅读 · 0 评论 -
从零开始学设计模式(五):建造者模式(Builder Pattern)
建造者模式的定义就是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的对象。原创 2021-12-17 23:10:03 · 251 阅读 · 0 评论 -
Drop、Truncate和Delete究竟怎么删除
作者:江夏| 知乎:www.zhihu.com/people/1024…| GitHub:github.com/JiangXia-10…| 优快云:blog.youkuaiyun.com/qq_4115394…| 掘金:juejin.cn/user/651387…| 公众号:1024笔记本文大概2176字,读完共需25分钟前言在数据库种有三个对表中数据进行删除的语法,分别是Drop、Truncate和Delete。关于它们的区别和相同的地方也是在面试的过程中经常遇到的。平时也是用了就用了,哪个用的原创 2021-10-25 21:41:00 · 826 阅读 · 1 评论 -
Java正则表达式学习
作者的其他平台:| 优快云:https://blog.youkuaiyun.com/qq_41153943| 掘金:https://juejin.cn/user/651387938290686| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories 本文大概12688字读完共需25分钟01原创 2021-09-25 20:01:20 · 636 阅读 · 0 评论 -
分布式缓存中间件Redis入门
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| 优快云:https://blog.youkuaiyun.com/qq_41153943 | 掘金:https://juejin.cn/user/651387938290686本文大概9281字建议阅读23分钟 1、Redis介绍1、什么是Redis?Red原创 2021-07-18 12:53:10 · 271 阅读 · 0 评论 -
聊聊Spring中IOC的基本原理
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| 博客地址:https://blog.youkuaiyun.com/qq_41153943 本文大概5091字建议阅读13分钟在我们学习spring和面试的过程中,有一个核心的内容就叫做IOC原创 2021-07-17 11:54:42 · 359 阅读 · 0 评论 -
聊聊Spring中的AOP(笔面试必备)
| 作者:江夏| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories| 博客地址:https://blog.youkuaiyun.com/qq_41153943 本文大概10288字读完共需10分钟我们在使用Spring框架的过程中,其实就是为了使用IOC和AO原创 2021-07-16 20:30:24 · 519 阅读 · 0 评论 -
Java注解(Annotation)的基本原理以及实现自定义注解
在我们使用springboot的时候我们知道因为注解的存在,使得我们的开发变得格外的方便、快捷。之前的文章Spring常用注解大全,值得你的收藏!!!对于spring中各类注解也进行过介绍。然而注解也并不是因为spring框架的兴起才出现的,而是很早就已经在java中被使用。Java 注解(Annotation)又称 Java 标注,是从 Jdk1.5 开始被添加到 Java中 的。Java 中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编原创 2021-07-14 22:45:22 · 2225 阅读 · 3 评论 -
MySQL日志必知必会
part 1在日常的开发中,我们都会习惯记录日志,通过日志我们可以记录程序在何时何种情况发生过何种事情,有助于我们快速地定位bug和修复bug。在任何一种数据库中,也有着各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事情。在MySQL中,有着四种不同的日志,它们分别是错误日志,二进制日志(也叫BINLOG日志),查询日志以及慢日志。今天这篇文章就来说说,MySQL的这四种常用的日志!part 2一、错误日志错误日志是MySQL中最为重要的日志之一,它主要记录原创 2021-03-29 09:10:15 · 206 阅读 · 0 评论 -
js判断浏览器类型是pc端还是手机端进行样式自适应
最近公司有个页面需要做pc端和手机端的页面自适应,即手机打开是指定的样式,pc打开则是pc指定的样式,样式是前端ui已经设计好了的。所以这里需要通过Navigator userAgent 属性判断浏览器的类型。userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。比如:edge浏览器chrome浏览器:所以只需要写一个函数function isComputerOrPhone() { var sUserAgent = navigator.原创 2020-09-13 21:09:01 · 1275 阅读 · 0 评论 -
sql如何对某一个重复字段只取其第一个数据
最近需要写个存储过程对一些数据进行处理,需求类似于这样的:有一个张表(order)记录的是用户购买商品的数据,字段为用户id,用户购买商品的名称,购买时间,这样的话里面的用户id和商品名称肯定就会有重复数据,那么对重复的数据只需要取其第一条记录即可。那么这时候就可以对其使用下面的函数对数据进行分组排序ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)上面的函数表示根据COL1字段对数据进行分组,在分组内部再根据 COL2字段进行排序,而此函数计算的原创 2020-09-13 16:01:29 · 10728 阅读 · 0 评论 -
jQuery:选择器使用详解
1都说不会前端的测试不是一个好的后端开发。最近维护一个老的项目,其中的前端代码使用到了JQuery,由于自己以前对前端的了解并不是很多,没有系统的学习,都是遇到了问题才学习一下, 所以这次对Jquery进行了一次学习。jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,能够大大提高开发效率。js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里即可。而使用jQuery较多的就是进行DOM操作,其中就涉及到了选择器的使用。所以这篇文章就整理一下,JQ原创 2020-08-25 22:35:55 · 1200 阅读 · 0 评论