自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (9)
  • 收藏
  • 关注

原创 面试题-史上最全人事面试宝典

人事面试宝典

2017-05-08 21:27:40 32935 2

原创 GitHub上最火的Android开源项目持续更新中.....

GitHub上最火的Android开源项目持续更新中…..

2017-04-21 13:35:21 1596 1

原创 SpringBoot启动方式

springboot的启动经过了一些一系列的处理,我们先看看整体过程的流程图SpringBoot的启动方式@EnableAutoConfiguration 作用开启自动装配,帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot,并创建对应配置类的Bean,并把该Bean实体交给IoC容器进行管理。新建文件 IndexController.java@ComponentScan() 注解作用。

2023-09-17 22:55:45 552

原创 Spring Cloud面试题

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

2023-09-08 19:41:39 193

原创 Spring Boot面试题

Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯Java 方法。因此它有助于避免使用 XML 配置。使用 JavaConfig 的优点在于:(1)面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean 方法等。(2)减少或消除 XML 配置。基于依赖注入原则的外化配置的好处已被证明。

2023-09-08 18:37:17 800 1

原创 Spring MVC面试题

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

2023-09-08 17:06:13 304

原创 Spring 面试题

控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。控制反转IoC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:依赖注入和依赖查找。

2023-09-08 16:46:06 281 1

原创 50道基础数据结构面试题

在本文中,将分享一些常见的编程面试问题,这些问题来自于不同经验水平的程序员,囊括从刚大学毕业的人到具有一到两年经验的程序员。编码面试主要包括数据结构和基于算法的问题,以及一些诸如如何在不使用临时变量的情况下交换两个整数这样的逻辑问题?我认为将编程面试问题划分到不同的主题区域是很有帮助的。我在面试中经常看到的主题区域是数组、链表、字符串、二叉树,以及源于算法的问题(例如字符串算法,排序算法,如 quicksort 或基数排序,以及其他杂项),这就是你能在这篇文章中找到主要内容。

2023-09-08 15:55:57 974

原创 面试求职-面试注意事项

面试是找工作过程中最重要的一个环节,因为面试成功,你才有可能得到一份工作。求职面试技巧有哪些呢?首先,我们来看看面试注意事项。

2023-09-08 15:51:02 1101

原创 面试求职-经典面试问题

思路:1、这是面试的必考题目。2、介绍内容要与个人简历相一致。3、表述方式上尽量口语化。4、要切中要害,不谈无关、无用的内容。5、条理要清晰,层次要分明。6、事先最好以文字的形式写好背熟。

2023-09-08 15:37:00 859

原创 面试求职-如何自我介绍

在自我介绍时,时间必须控制在3分钟左右,这样的效果最好,平时拿手机录时间即可。在正式面试前,我们可以对着镜子背诵多次,以便观察自己的脸部表情。另外,人在紧张的时候语速会不自觉的加快。所以在正式面试的自我介绍中,要时刻提醒自己"放慢语速"讲的再好,如果hr听不清楚,也没意义对吧那么,自我介绍具体要怎么说,我下面会讲我认为,自我介绍最大的作用在于「吸引hr注意」以及「增加hr对自己的好感」。上文讲到,自我介绍最好在三分钟左右,三分钟字数也就几百字,如何在几百字之间能做到这两点呢?

2023-09-08 15:17:03 82

原创 面试求职-简历编写技巧

一、用对专业的简历模板二、找到和自身匹配的岗位三、分析岗位要求,并使自己的简历一一对应四、将简历各部分内容进行组合主要提到了几个原则:STAR、数据、对比希望这几步,能帮助你写出更优秀的个人简历,拿到一个棒棒的Offer。

2023-09-08 14:59:31 787

原创 Netty编程面试题

Netty 的接收和发送 ByteBuffer 采用 DIRECT BUFFERS,使用堆外直接内存进行 Socket 读写,不需要进行字节缓冲区的二次拷贝。如果使用传统的堆内存(HEAP BUFFERS)进行 Socket 读写,JVM 会将堆内存 Buffer 拷贝一份到直接内存中,然后才写入 Socket 中。相比于堆外直接内存,消息在发送过程中多了一次缓冲区的内存拷贝。

2023-09-07 22:00:03 203

原创 Jvm基础面试题

CMS 是英文 Concurrent Mark-Sweep 的简称,是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动 JVM 的参数加上“-XX:+UseConcMarkSweepGC”来指定使用 CMS 垃圾回收器。

2023-09-07 15:46:51 613

原创 Java并发编程面试题

Callable 接口类似于 Runnable,从名字就可以看出来了,但是 Runnable 不会返回结果,并且无法抛出返回结果的异常,而 Callable 功能更强大一些,被线程执行后,可以返回值,这个返回值可以被 Future 拿到,也就是说,Future 可以拿到异步执行任务的返回值。Future 接口表示异步任务,是一个可能还没有完成的异步任务的结果。所以说 Callable用于产生结果,Future 用于获取结果。FutureTask 表示一个异步运算的任务。

2023-09-07 11:14:21 370

原创 Java异常面试题

综上所述,当你抛出或捕获异常的时候,有很多不同的情况需要考虑,而且大部分事情都是为了改善代码的可读性或者 API 的可用性。异常不仅仅是一个错误控制机制,也是一个通信媒介。因此,为了和同事更好的合作,一个团队必须要制定出一个最佳实践和规则,只有这样,团队成员才能理解这些通用概念,同时在工作中使用它。

2023-09-06 11:15:07 100

原创 mysql建表考虑那些,怎么建

2.注意字段类型的选择,对于日期类型,如果是时分秒选择datatime,如果是只记录年月日使用date类型,对于字符类型的选择,固定长度字段选择char,不固定的选择varchar,varchar比char节省空间,但是效率没有char高。在进行MySQL数据库建表时需要考虑多方面因素,合理设计数据库结构、表字段类型及长度,以及注意字段约束和索引的设置,这样可以保证数据的质量和查询效率。在建表前,需要进行数据库设计,包括确定数据库的名称、表的数量、表之间的关系等,这是建表的前提。

2023-09-05 11:14:43 398

原创 Java集合容器面试题

用于存储数据的容器。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。集合接口的具体实现,是重用性很高的数据结构。在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。

2023-09-05 09:45:40 105

原创 网络编程面试题

HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,非常的慢。

2023-09-04 20:25:34 306

原创 Java基础知识面试题

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。

2023-09-04 19:20:28 142

原创 408考研-数据结构算法-双链表

双向链表跟链表差不多,只是它每个结点都含有两个链——一个指向下一结点,另一个指向前一结点。此外,它还能直接访问第一个和最后一个结点。单链表只能向后操作,不可以向前操作。为了向前、向后操作方便,可以给每个元素附加两个指针域,一个存储前一个元素的地址,另一个存储下一个元素的地址。这种链表称为双向链表,如图从图中可以看出,双向链表每个节点包含3个域:数据域和两个指针域。两个指针域分别存储前后两个元素节点的地址,即前驱和后继,因此指针指向的类型也是节点类型。

2023-09-01 19:20:58 443

原创 408考研-数据结构算法-单链表

线性表的顺序存储结构。它是有缺点的,最大的缺点就是插入和删除时需要移动大量元素,这显然就需要耗费时间。能不能想办法解决呢?要解决这个问题,我们就得考虑一下导致这个问题的原因。为什么当插入和删除时,就要移动大量元素,仔细分析后,发现原因就在于相邻两元素的存储位置也具有邻居关系。它们编号是1,2,3,…,n,它们在内存中的位置也是挨着的,中间没有空隙,当然就无法快速介入,而删除后,当中就会留出空隙,自然需要弥补。问题就出在这里。

2023-08-31 16:10:33 139

原创 408考研-数据结构算法-顺序表

关于算法的内容就是这些。很多时候,计算一样东西并不只有一种方法,换种算法可能会极大地影响程序的性能。同时你还应意识到,世界上并没有哪种适用于所有场景的数据结构或者算法。你不能因为有序数组能使用二分查找就永远只用有序数组。在经常插入而很少查找的情况下,显然插入迅速的常规数组会是更好的选择。如之前所述,比较算法的方式就是比较各自的步数。

2023-08-30 14:51:27 345

原创 408考研-数据结构算法

线性表,从名字上你就能感觉到,是具有像线一样的性质的表。一个班级的小朋友,一个跟着一个排着队,有一个打头,有一个收尾,当中的小朋友每一个都知道他前面一个是谁,他后面一个是谁,这样如同有一根线把他们串联起来了。就可以称之为线性表。线性表(List):零个或多个数据元素的有限序列。

2023-08-29 17:49:16 553

原创 ThreadLocal

多线程访问同一个共享变量很容易出现并发问题,特别是当多个线程对同一个共享变量进行写入操作时。ThreadLocal 是JDK 包提供的,它提供了线程本地变量,也就是如果你创建了一个ThreadLocal 变量,那么访问这个变量的每个线程都会有这个变量的一个本地副本。当多个线程操作这个变量时,实际操作的是自己本地内存里面的变量,从而避免了线程安全问题。

2023-08-24 15:36:39 76

原创 全网最全ArrayList底层原理实现

1. ArrayList集合底层数据结构1. ArrayList集合介绍ArrayList是实现了List接口的动态数组,所谓动态数组就是他的大小是可变的。实现了所有可选列表操作,并允许包括Null在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量是10。默认初始容量为10。随着ArrayList中元素的增加,它的容量也会不断的自动增长。在每次添加元素时,Arra

2023-08-23 19:38:05 1974

原创 分布式锁实现方式

现实生活中,当我们需要保护一样东西的时候,就会使用锁。例如门锁,车锁等等。很多时候可能许多人会共用这些资源,就会有很多个钥匙。但是有些时候我们希望使用的时候是独自不受打扰的,那么就会在使用的时候从里面反锁,等使用完了再从里面解锁。这样其他人就可以继续使用了。锁 单进程的系统中,存在多线程同时操作一个公共变量,此时需要加锁对变量进行同步操作,保证多线程的操作线性执行消除并发修改。解决的是单进程中的多线程并发问题。

2023-08-19 14:28:21 2136

原创 常见面试场景题

总之,面对业务量大幅提升的情况,综合考虑系统的性能、资源、架构等各个方面,采取一系列综合措施,以确保系统能够稳定、高效地应对挑战。

2023-08-18 18:17:12 520

原创 主存储器结构

主存储器由许多存储单元组成,每个存储单元包含多个存储元,每个存储元存储1位二进制代码0或1,故存储单元可存储一串二进制代码,称这串代码为存储字,而这串代码的位数称为存储字长,存储字长一般是一个字节(8位)或字节的偶数倍。这个图只显示了存储单元,里面的存储元件忽略不看的话,图中的小方格就是存储单元了,外面最大的矩形就是我们的存储体,存储单元中的数字就是地址了。存储单元表示存储二进制代码的容器,一个存储单元可以存储一连串的二进制代码,这串二进制代码被称为一个存储字,代码的位数为存储字长。

2023-08-15 20:52:38 1174

原创 计算机组成部分

运算器就是计算机逻辑大脑,它负责所有的计算,运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU),它对应的计算机硬件部分也是CPU。存储器,顾名思义就是存储程序和数据的,计算机要想自动执行,必须先把程序和需要的数据提前存储到计算机内部,以供计算机自动执行,这个内部存储就是计算机的存储器。控制器就是计算机的大脑,控制计算机的各个功能,所以他非常强大,当然对应的硬件也是非常贵的,它对应的硬件就是我们常说的CPU,也叫中央处理器。

2023-08-15 14:26:58 192

原创 MySQL和Redis如何保证数据一致性

数据一致”一般指的是:缓存中有数据,缓存的数据值=数据库中的值。但根据缓存中是有数据为依据,则“一致”可以包含两种情况:1)缓存中有数据,缓存的数据值=数据库中的值。2)缓存中本没有数据,数据库中的值=最新值(有请求查询数据库时,会将数据写入缓存,则变为上面的“一致”状态)。“数据不一致”:缓存的数据值≠数据库中的值;缓存或者数据库中存在旧值,导致其他线程读到旧数据。一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。

2023-08-15 11:40:24 2881 2

原创 Redis缓存雪崩、击穿、穿透?

缓存异常会面临的三个问题:缓存雪崩、击穿和穿透。其中,缓存雪崩和缓存击穿主要原因是数据不在缓存中,而导致大量请求访问了数据库,数据库压力骤增,容易引发一系列连锁反应,导致系统奔溃。不过,一旦数据被重新加载回缓存,应用又可以从缓存快速读取数据,不再继续访问数据库,数据库的压力也会瞬间降下来。因此,缓存雪崩和缓存击穿应对的方案比较类似。而缓存穿透主要原因是数据既不在缓存也不在数据库中。因此,缓存穿透与缓存雪崩、击穿应对的方案不太一样。

2023-08-13 11:06:34 169

原创 如何设计订单号生成

我猜想可能是user id,后来我验证了下,一定程度上是的,比如我的ID后4位是1190,订单的后4位是9910,由此看来,淘宝订单后4位是将user id后4位简单处理过的。至于现在都是16位?我查询了2011年的淘宝订单,发现是14位的,并不是该简友说的12/13位,但由14位扩充到16位,应该很大一部分原因是业务增长的原因。简而言之,订单号是用来标记/查询订单(查询的时候可能更关注于物流单号)用的,一般会在订单有支付/售后/异常问题的时候会用到,也就是说订单号主要是拿给客服/运营/开发部门用的。

2023-08-12 16:33:01 899

原创 布隆过滤器

布隆过滤器 (Bloom Filter)是由 Burton Howard Bloom 于 1970 年提出,我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时常用的的 List、Map、Set 等数据结构,它占用空间更少并且效率更高,但是缺点是其返回的结果是概率性的,而不是非常准确的。理论情况下添加到集合中的元素越多,误报的可能性就越大。而且,存放在布隆过滤器的数据不容易删除。

2023-08-12 11:53:53 225

原创 thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片

转载自: 转载thymeleaf中img标签问题<img class="layui-nav-img" th:src="${(user.avatarUrl != null && !#strings.isEmpty(user.avatarUrl)) ? '/asset/avatar/'+user.avatarUrl : '/asset/avatar/head_portrait2.png'}"/> <span th:text="${user.name

2021-11-03 16:52:08 2231

原创 @JsonView使用

在实际生产项目中,在某一些请求返回的JSON中,我们并不希望返回某些字段。而在另一些请求中需要返回某些字段。直白点,根据不同的同求返回不同的json数据例如:在查询列表请求中,不返回password字段在获取用户详情中,返回password字段用户类public class User { // @JsonView的使用步骤 // 1.使用接口来声明多个视图 // 2.在值对象的get方法或属性上指定视图 // 3.在Controller的方法上指定视图

2021-09-16 15:51:26 377

原创 Android系统定制和源码开发以及源码编译

Android系统定制和源码开发以及源码编译

2017-06-29 12:33:30 7387 8

原创 android面试题-Service中弹出Dialog

android面试题-Service中弹出Dialog

2017-05-25 22:41:03 1004

原创 Android面试题-SharedPreferences源码分析

Android面试题-SharedPreferences源码分析

2017-05-25 18:14:57 751

原创 TextSwitcher实现文字上下翻牌效果

TextSwitcher实现文字上下翻牌效果

2017-05-24 20:33:13 787

Android画廊效果

Android画廊效果-Gallery和ViewPager不同实现

2016-11-13

Retrofit使用入门

retrofit的入门使用

2016-11-04

RecyclerView下拉刷新滚动加载

RecyclerView和谷歌自带下拉刷新demo

2015-06-27

android 帧动画

帧动画 Frame Animation Frame Animation Frame Animation

2013-08-17

电视关闭的动画效果

电视关闭的动画效果

2013-08-15

gson文档源码jar包

gson最新版文档源码jar包

2013-07-31

百度定位SDK得到经纬度

百度定位SDK得到经纬度

2013-07-08

Android应用缓存机制

Android应用缓存机制

2013-07-05

拼音4j的jar包

拼音4j的jar包

2013-07-05

空空如也

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

TA关注的人

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