自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shiro 权限管理入门之认证与授权,阿里P7大牛亲自讲解

Shiro 是一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序—从最小的移动应用程序到最大的web和企业应用程序。简单来说,Shiro 是 apache 旗下一个 开源框架,它将软件系统的安全认证相关的功能抽取出来,实现 用户身份认证,权限授权、加密、会话管理 等功能,组成了一个 通用的安全认证框架。[]()Shiro 的核心架构=====================================

2021-09-09 17:43:30 252

原创 Servlet(一,熬夜整理华为最新Java笔试题

5.再次访问服务器时,客户端请求中就携带着之前保存的Cookie中保存的值,服务器就根据Cookie就能够知道客户端的身份是什么了。在HttpServletRequest中也可以获取到Cookie的值,getCookies 获取所有的Cookie中的键值对。在HttpServletResponse中,addCookie方法,往响应中设置Cookie键值对Cookies 过期时间 有时候保存在浏览器中的用户信息和密码过一段时间就要重新登录,通过setMaxAge 方法给Cookie设置过期时间,浏览器拿

2021-09-09 17:41:52 169

原创 Serverless 极致弹性解构在线游戏行业痛点,你有过迷茫吗

如上图,当客户把战斗结算迁移到函数计算上后,明显可以看到, 即使 TPS 在日常峰谷呈 90° 直线上升,但是 Latency 延时仍然基本稳定在 200~300 毫秒之间,,充分保证了用户的玩家体验。在这个场景中,函数计算的核心价值是:弹性高可用:百毫秒级伸缩扩容,无需预留任何资源。CI/CD 和版本灰度能力:每当游戏策划有新想法时,战斗结算函数必然会更新,可以通过直接给这个函数设置版本和别名,从而非常安全地灰度到下一个版本的战斗结算函数。这是游戏场景里非常经典的例子,将 CPU 密集

2021-09-09 17:40:19 465

原创 RocketMQ(浅谈异步,字节跳动三场技术面+HR面

RocketMQ 是一个 队列模型 的消息中间件,具有高性能、高可靠、高实时、分布式 的特点。它是一个采用 Java 语言开发的分布式的消息系统,由阿里巴巴团队开发,在2016年底贡献给 Apache ,成为了 Apache 的一个顶级项目。 在阿里内部, RocketMQ 很好地服务了集团大大小小上千个应用,在每年的双十一当天,更有不可思议的万亿级消息通过 RocketMQ 流转。废话不多说,想要了解 RocketMQ 历史的同学可以自己去搜寻资料。听完上面的介绍,你只要知道RocketMQ 很快、很牛

2021-09-09 17:38:46 329

原创 Redis缓存:淘汰机制,深入理解Nginx及使用Nginx实现负载均衡

* volatile-random ,在设置过期时间的键值对中随机删除* volatile-ttl ,在设置过期时间的键值对,基于过期时间的先后进行删除,越早过期的越先被删除。* volatile-lru , 基于LRU(Least Recently Used) 算法筛选设置了过期时间的键值对, 最近最少使用的原则来筛选数据* volatile-lfu ,使用 LFU( Least Frequently Used ) 算法选择设置了过期时间的键值对, 使用频率最少的键值对,来筛选数据。

2021-09-09 17:37:07 153

原创 Redis知识体系总结(2021版,掌握这套精编Java高级面试题解析

为了克服上述问题,java web项目通常会引入NoSQL技术,这是一种基于内存的数据库,并且提供一定的持久化功能。Redis和MongoDB是当前使用最广泛的NoSQL, 而就Redis技术而言,它的性能十分优越,可以支持每秒十几万的读写操作,其性能远超数据库,并且还支持集群、。分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,更让人欣慰的是它还支持一定的事务能力,这保证了高并发的场景下数据的安全和一致性。3、Redis为何能解决高并发问题Redis是基于内存的,内

2021-09-09 17:35:26 141

原创 亦直问JVM,百度笔试题百度校招面试经验

* [6.10.3 OOM种类](about:blank#6103_OOM_334) * [6.10.4 逃逸分析](about:blank#6104__364) * [6.10.5 可达性](about:blank#6105__375) * [6.10.6 JVM何时需要调优?](about:blank#6106_JVM_387) * [6.10.7 JVM性能检测工具](about:blank#6107_JVM_397) * ...

2021-09-08 17:42:06 164

原创 互联网高频面试题:Redis灵魂14问,Java技术面试常见问题

allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的).allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。这个应该没人使用吧!###8.redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)很多时候我们需要持久化数据也就是将内存中的数据写入到硬盘里面,大部分原因是为了之后重用数据(比.

2021-09-08 17:40:32 128

原创 互联网高频面试题:Redis灵魂14问(1),spring视频教程百度云

Redis中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间。作为一个缓存数据库, 这是非常实用的。如我们一般项目中的 token 或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。我们 set key 的时候,都可以给一个 expire time,就是过期时间,通过过期时间我们可以指定这个 key 可以存活的时间。如果假设你设置了一批 key 只能存活1个小时,那么接下来1小时后,red

2021-09-08 17:39:03 85

原创 二面高德Java岗,Java开发社招面试经验

**面试官:**不出意外的话,应该是没有了…面试官把我问得晕头转向,很显然,高德的二面还是挂了。还是老老实实的恶补原理吧。回来之后把这些题目做了一个分类并整理出答案(强迫症的我狂补知识)分为redis缓存,高并发,分布式,微服务,源码,并发等,接下来分享一下我的高德面经和一些我的学习笔记,完整版笔记可以【点赞+关注】后,点击这里:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU获取!关于Spring源码面试真题:什么是spring框架?spring框架有哪些主要

2021-09-08 17:35:48 531

原创 二面美团,作为Java开发程序员

常见 Set 的实现有哪些?TreeSet 对存入对数据有什么要求呢?HashSet 的底层实现呢?TreeSet 底层源码有看过吗?HashSet 是不是线程安全的?为什么不是线程安全的?Java 中有哪些线程安全的 Map?HashTable 你了解过吗?如何保证线程安全问题?synchronized、lockvolatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因happens before 原理cas 操作lock 和 s.

2021-09-08 17:34:06 116

原创 二叉树的各种算法面试题及答案解析,被大佬问到自闭

public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }} 计算树的结点数量(递归)树的结点数量等于左子树加上右字数的数量+1public class Solution { public int sumOfNod.

2021-09-08 17:32:37 87

原创 【Redis 3,2021Java笔试真题

而且还支持指定syslog设备,值可以是USER或LOCAL0-LOCAL7。具体可以参考syslog服务本身的用法。syslog-facility local0对于redis来说,可以设置其数据库的总数量,假如你希望一个redis包含16个数据库,那么设置如下:databases 16这16个数据库的编号将是0到15。默认的数据库是编号为0的数据库。用户可以使用select <DBid>来选择相应的数据库。三、快照----快照,主要...

2021-09-06 18:34:14 204

原创 【Python,迄今为止讲解的最详细的一篇

普通二维码带图片的艺术二维码动态二维码好了,接下来就是看如何使用两行代码生成你的专属二维码了。在Python中生成二维码需要调用MYQR第三方库,这个库可以说是专门为二维码量身打造的了,调用该模块的run函数就可以直接生成想要的二维码,.普通二维码========================================================================生成普通二维码只需要在run中给words参数传入要生成二维码的链接即可,比如我们要将360浏览器

2021-09-06 18:32:32 63

原创 【python实战,这份1307页Java面试全套真题解析

selenium是爬虫常用的一款自动化测试插件,它不用于传统爬虫基于网络协议,而是相当于人的自动化操作所以不会被察觉到ip,适当使用也不会对服务器造成压力,但却能大大提高效率。浏览器驱动seleium的使用需要浏览器驱动的支持,谷歌浏览器的下载镜像如下,对照浏览器版本下载。http://chromedriver.storage.googleapis.com/index.html获取粉丝列表1.打开主页,F122.将链接在浏览器打开,得到粉丝的json串。3.简单处理一下json串,

2021-09-06 18:30:44 56

原创 【python实战】还是单身,深入linux内核架构与原理

去网上找一段晚安故事,选择一个声音,讲给她听。教程一条随后更新,想尝鲜的朋友微信搜【一条IT】2.视频下载器女生总是喜欢看剧又舍不得买会员,你大显身手的时候就到了,什么?可不是让你花钱充会员用爬虫呀!python爬虫|各种网站视频下载方法3.音乐下载器不用我多说了吧,有电影就有音乐。import requestsurl="http://play.taihe.com/data/music/songlink"print("请输入音乐id")loadid=input()da.

2021-09-06 18:29:05 138

原创 【python实战(1),分享我的6点面试经验

步骤分析该程序实现的逻辑可以具化为:遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者。实现问题的关键就变成了????如何判断两个文件是否相同?在这里我们可以使用filecmp模块,来看看官方的介绍文档:filecmp.cmp(f1, f2, shallow=True)比较名为f1和f2的文件,如果它们似乎相等则返回True,否则返回False如果shallow为真,那么具有相同os.stat()签名的文件将会被认为是相等的。否

2021-09-06 18:27:15 68

原创 【Python(1),Java常见排序算法面试题

这个模块的作用和os.open()有几分相似,os.open()是打开一个文件或文件夹,如果没有则创建;zipfile.ZipFile()的作用则是打开一个压缩包文件,如果没有则创建一个该压缩包文件,同时与os.open()相同的地方还有:在函数的参数里面都要加‘w’或‘a’,也就是进行相应的写操作。如下边这个代码:zipfile.ZipFile(‘Text.zip’, ‘w’) #以写模式打开Text.zip文件,若Text.zip文件不存在则创建该文件 ``二、Zipfile下的wri

2021-09-06 18:25:33 39

原创 【OpenYurt 深度解析,Java编程教程视频

实现一个缓存数据的反向代理,第一想法就是从 response.Body 中读取数据,然后分别返回给请求 client 和本地的 Cache 模块。伪代码如下:func HandleResponse(rw http.ResponseWriter, resp *http.Response) { bodyBytes, _ := ioutil.ReadAll(resp.Body) go func() { // cache response o

2021-09-06 18:23:57 115

原创 sql中还在傻傻的手动添加创建人、创建时间,Java进阶之光

@Around("daoUpdate()")public Object doDaoUpdate(ProceedingJoinPoint pjp) throws Throwable { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (attributes == null) { return

2021-09-05 20:11:14 128

原创 Spring高级注解-Day3,linux运维视频教程全集

}}UserServiceImpl.java@Component//表明当前类是一个切面类@Aspectpublic class LogUtil {//用于配置当前方法是一个前置通知@Before("execution(* com.example.service.impl.*.saveUser(..))")public void printLog(){ System.out.println("打印日志");}}LogUtil.java

2021-09-05 20:09:25 42

原创 Spring经典面试题,帮你整理好了!,涨知识

令人困惑的性质 - 总是喜欢使用明确的装配,因为自动装配不太精确。24、你用过哪些重要的 Spring 注解?@Controller - 用于 Spring MVC 项目中的控制器类。@Service - 用于服务类。@RequestMapping - 用于在控制器处理程序方法中配置 URI 映射。@ResponseBody - 用于发送 Object 作为响应,通常用于发送 XML 或 JSON 数据作为响应。@PathVariable - 用于将动态值从 URI 映射到处理程序方法参数。

2021-09-05 20:06:23 51

原创 Spring经典面试题,帮你整理好了!(1),Java技术图谱

3、Spring Framework 有哪些不同的功能?轻量级 - Spring 在代码量和透明度方面都很轻便。IOC - 控制反转AOP - 面向切面编程可以将应用业务逻辑和系统服务分离,以实现高内聚。容器 - Spring 负责创建和管理对象(Bean)的生命周期和配置。MVC - 对 web 应用提供了高度可配置性,其他框架的集成也十分方便。事务管理 - 提供了用于事务管理的通用抽象层。Spring 的事务支持也可用于容器较少的环境。JDBC 异常 - Spring 的 JDBC 抽象

2021-09-05 20:04:43 38

原创 Spring系列:自动注入,【面试总结】

<bean id="" class="" autowire="byType|byName|constructor|default" />byteName:按照名称进行注入byType:按类型进行注入constructor:按照构造方法进行注入default:默认注入方式下面我们详解每种注入方式的用法。按照名称进行注入(byName)用法autowire设置为byName<bean id="" class="X类" autowire="byName"

2021-09-05 20:03:09 120

原创 【数据库实验,mysql数据库笔试题

INSERT INTO flight VALUES (‘F002’, ‘扬州’, ‘苏州’, ‘2012-12-13’, ‘12:20’, ‘15:50’, ‘20’, ‘99’, ‘5’, ‘1’, ‘振宇有限公司’);INSERT INTO flight VALUES (‘F003’, ‘扬州’, ‘北京’, ‘2012-12-13’, ‘12:20’, ‘17:50’, ‘4’, ‘99’, ‘5’, ‘1’, ‘振宇有限公司’);INSERT INTO flight VALUES (‘F004’

2021-09-03 19:16:47 123

原创 【实习之T100开发】T100 基础架构,我想谈谈关于Java面试那些事

qry:所有开窗作业lng:多语言inc:全局变量wss:集成erp下各个模组文件夹(a开头的是 标准模组,如aao、axm、aim…)4gl:源程序,编译后产生42m,再经过链接产生42r4fd:源画面,编译后产生42fsch:数据表4rp:凭证报表的主程序fr:帆软报表dzx:设计资料基本环境变量基本执行 Shellr.d 可以在任意目录下执行,r.dg 必须在 模组/4gl 目录下执行,r.d 不成功就用 r.d..

2021-09-03 19:13:25 203

原创 【学懂23种设计模式,linux网络编程书籍

二、实例例:把220V的交流电压转化为20V的直流电压,用于手机充电。[]()1、源电压类(SourceVoltage)public class SourceVoltage { public int sourceMethod() { return 220; }} []()2、目标电压接口(TargetVoltage)public interface TargetVoltage { int targetMethod();}

2021-09-03 19:11:41 62

原创 【多线程,springcloud架构图及讲解

b.start();}}线程类task.javapackage cn.liuhaihua;public class Task implements Runnable{ private String one; private int count; private Con con; public Task(String one,int count,Con con){ this.one = one;

2021-09-03 19:09:59 347

原创 JavaWeb快速入门--Servlet(1,大厂架构师经验分享

关于ServletServlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。当客户机将请求信息发送到服务器时,服务器可以将请求信息发送给Servlet,并让Servlet进行响应。通过这个方式,Servlet可以实现许多功能:1.创建并返回一个基于客户请求实质的、动态内容的完整HTML页面;2.创建可嵌入到现有HTML页面中的HTML片段3.读取客户端发送过来的隐藏数据

2021-09-02 21:27:10 53

原创 JavaWeb快速入门--MVC&EL&JSTL,字节跳动算法工程师总结

在JSP页面中,如果我们想要访问JavaBean中的对象,我们会用到<jsp:getProperty>动作标记,通过使用EL表达式可以简化这个过程。我们只需要使用${域名称.对象名称.属性名称}或${对象名称.属性名称}即可。而想要获取List集合时采用${域名称.键名[索引]},获取Map集合时使用:${域名称.键名.key名称}。隐式对象: EL表达式功能强大之处在于它能访问session、cookie、表单等对象,在它其中共包含11个隐式对象| 隐式对象 | 说明 || — | —

2021-09-02 21:25:22 91

空空如也

空空如也

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

TA关注的人

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