首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客229127715号
获赞
290
粉丝
189
关注
4
看过 TA
185
首钢工学院
2019
Java
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客229127715号吗?
发布(4982)
评论
刷题
牛客229127715号
关注TA,不错过内容更新
关注
2021-06-22 20:20
首钢工学院 Java
如何在 Spring/Spring Boot 中做参数校验?
本文结合自己在项目中的实际使用经验,可以说文章介绍的内容很实用,不了解的朋友可以学习一下,后面可以立马实践到项目上去。 下面我会通过实例程序演示如何在 Java 程序中尤其是 Spring 程序中优雅地的进行参数验证。 基础设施搭建 相关依赖 如果开发普通 Java 程序的的话,你需要可能需要像下面这样依赖: <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator&...
0
点赞
评论
收藏
分享
2021-06-22 20:20
已编辑
首钢工学院 Java
Redis基础你掌握多少了?来查漏补缺?
Redis 是什么 Redis 是 开源,内存 中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串strings, 散列 hashes, 列表 lists, 集合 sets, 有序集合 sorted sets 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 还内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence)...
0
点赞
评论
收藏
分享
2021-06-22 20:19
已编辑
首钢工学院 Java
全面总结2019年Java面试知识,掌握这些你也能进大厂!
前言 2019年还有不到2个月的时间就结束了,这一年你收获了没?你成长了没?改变了没?年初给自己定下的目标实现了没? 本文档提供详细的目录,大家可以根据自己的实际需要选择自己薄弱的知识参考阅读。 Java 基础知识 重载和重写的区别 String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的? 自动装箱与拆箱 Java 中的异常处理 接口和抽象类的区别是什么 Object类的常见方法 获取用键盘输入常用的的两种方法 Java基础知识的资料由于篇幅限制,就不一一举例了,欢迎大家关注...
0
点赞
评论
收藏
分享
2021-06-22 20:19
首钢工学院 Java
Vue框架中常用的rules校验规则 看完是不是觉得很简单
前提 在 vue开发中,难免遇到各种表单校验,这里整理了网络上和自己平时高频率用到的一些校验方法。如果错误欢迎指出,后期不Git地址断补充更新。 Git地址 1、是否合法IP地址 export function validateIP(rule, value,callback) { if(value==''||value==undefined||value==null){ callback(); }else { const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d...
0
点赞
评论
收藏
分享
2021-06-22 20:18
已编辑
首钢工学院 Java
Mybatis源码分析—Mapper创建和Spring的管理
mapper 创建 因为mybatis可以脱离spring自己使用,所以mapper的bean创建是由mybatis完成的 创建方式,根据不同的mapper,方法都是对应与注解或者配置文件对应名称的方法,所以我们猜测使用的是spring的动态代理创建方式 我们自己实现mapper创建工厂代理类: public class MySessionFactoryProxy { public static Object getMapper(Class c){ Class[] classes = new Class[]{c}; //动态代理获取m...
0
点赞
评论
收藏
分享
2021-06-22 20:18
已编辑
首钢工学院 Java
被大厂面试官连环炮轰炸的ThreadLocal (吃透源码的每一个细节和设计原理)
引言 ThreadLocal 是面试过程中非常高频的一个类,这类的复杂程度绝对是可以带出一系列连环炮的面试轰炸。biu biu biu ~~~~. 一直觉得自己对这个类很了解了,但是直到去看源码,接二连三的技术浮出水面(弱引用,避免内存溢出的操作,开放地址法解决hash 冲突,各种内部类的复杂的关系),看到你怀疑人生,直到根据代码一步一步的画图才最终理解(所以本篇文章会有大量的图)。 这里也给大家一个启示,面对复杂的事情的时候,实在被问题绕晕了,就画图吧,借助图可以让问题可视化,便于理解。 WHAT ThreadLocal 是一个线程的本地变量,也就意味着这个变量是线程独有的,是不能与...
0
点赞
评论
收藏
分享
2021-06-22 20:17
首钢工学院 Java
Redis 的命令详解 - List 篇
LPUSH : 左端推入元素 起始版本 : 1.0.0 时间复杂度 : 添加一个元素为O(1),添加多个元素为O(N),N为要添加的元素个数。 将所有指定的值插入到存于 key 的列表的左端。如果 key 不存在,则在操作执行之前将其创建为空列表。如果key对应的value不是 list 类型时,则返回错误。 推入多个元素时,多个元素从左到右依次推入左端。例如,LPUSH mylist a b c 先推入a,结果为a。在推入b,结果为ba。最后推入c,结果为cba 语法 LPUSH key 元素1 [元素2 ...] 返回值 推入元素后列表的长度 历史 redis ...
0
点赞
评论
收藏
分享
2021-06-22 20:17
已编辑
首钢工学院 Java
Redis 的命令详解 - Hash 篇
Hash 命令详解 跟 Hash 相关的命令一共有 15 种,这里只介绍常用的。想查看全部命令请参考官网 说明 : 由于 reids 的 Hash 类型的格式如下,为了方便区分,里层的 key 我称呼为字段。 key :{key1 : value1,key2 : value2...} HSET : 添加 hash 类型的键值对 起始版本 : 2.0.0 时间复杂度 : 添加一个字段-值对为O(1),添加多个字段:值对为O(N),N为字段:值对的数量。 如果key不存在,则创建一个 hash。 如果key存在,则往 hash 中追加。 如果字段已经存在,则将...
0
点赞
评论
收藏
分享
2021-06-22 20:17
已编辑
首钢工学院 Java
Redis 的命令详解 - String 篇
SET : 添加一个键值对 起始版本:1.0.0 时间复杂度:O(1) 假设附加值很小,并且已经存在的值具有任意大小,则摊销时间复杂度为O(1),因为Redis使用的动态字符串库会使每个重新分配上的可用空间加倍。 SET 执行时,如果 key 已存在,无论其 value 是什么类型,value 都会被覆盖,先前与 key 关联的生存时间将被丢弃。 语法 SET key value [EX 秒|PX 毫秒] [NX|XX] 可选参数 从Redis 2.6.12开始,SET支持一下选项 EX 秒 : 设置生存时间,以秒为单位 PX 毫秒 : 设置生存时间,以毫秒为单位 ...
0
点赞
评论
收藏
分享
2021-06-22 20:16
已编辑
首钢工学院 Java
Redis 的命令详解 - Key 篇
Key 的命令详解 跟 key 相关的命令一共有 24 种,这里只介绍常用的。 KEYS : 查找 key 起始版本 : 1.0.0 时间复杂度 : O(N),其中N为数据库中密钥的数目。尽管操作的时间复杂度为O(N),但恒定时间却很短。例如,运行在入门级笔记本电脑上的Redis可以在40毫秒内扫描一百万个key。 注意:`KEYS` 命令,在生产环境中使用时要格外小心。在大型数据库上执行时,可能会影响性能。此命令用于调试和特殊操作,例如更改键空间布局。不要在常规应用程序代码中使用`KEYS`。如果您正在寻找一种在键空间的子集中查找键的方法,请考虑使用`SCAN`或`s...
0
点赞
评论
收藏
分享
2021-06-22 20:16
首钢工学院 Java
Redis 的命令详解 - SET 篇
SET 命令详解 跟 SET 相关的命令一共有 15 种,这里只介绍常用的 SADD : 添加成员 起始版本 : 1.0.0 时间复杂度 : O(N),N为要添加的成员的个数 如果key不存在,则在添加前先创建一个set,如果指定成员在set中已存在,该成员将被忽略。 语法 SADD key member1 [member2 ...] 返回值 已添加到集合中的成员数量,不包括已经存在的成员,如果key对应的value不是 set 类型,返回错误。 历史 redis 版本 >= 2.4 时,该命令可以接受多个member参数 SREM : 删除成员 ...
0
点赞
评论
收藏
分享
2021-06-22 20:16
已编辑
首钢工学院 Java
Redis 的命令详解 - Sorted Set 篇
Sorted Set 命令详解 跟 SET 相关的命令一共有 25 种,这里只介绍常用的 ZADD : 添加成员 起始版本 : 1.2.0 时间复杂度 : O(log(N)),其中N是有序集合中的元素数。 向有序集合(sorted set)中,添加 分数/成员(score/member)对,可以同时指定多个分数/成员(score/member)对。 分数值是一个带符号带双精度浮点型数字字符串。 如果指定的成员已经在有序集合中,则会更新改成员的分数(scrore)并更新到正确的排序位置。 如果key不存在,将会创建一个新的有序集合(sorted set)并将分数/成员...
0
点赞
评论
收藏
分享
2021-06-22 20:15
首钢工学院 Java
MyBatis开发入门学习
1. MyBatis简介 MyBatis本是Apache的一一个开源项目一iBatis, 2010 年这个项目由Apache Software Foundation迁移到了Google Code,并且改名为MyBatis。 MyBatis是-一个基于Java的持久层框架。MyBatis提供的持久层框架包括SQLMaps和Data Access Objects (DAO),它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs ( Plain Old Java Objects,普通...
0
点赞
评论
收藏
分享
2021-06-22 20:15
已编辑
首钢工学院 Java
2019年一线大厂JVM面试100问详细解析!
前言 JVM(Java虚拟机)简单来说就是运行Java代码的解释器,作为螺丝钉程序员JVM其实了解下就差不多啦,不懂JVM内部细节照样能写出优质的代码!但是一到造火箭、飞机的场景(面试)不懂JVM的你,会被面试官虐的体无完肤! 面对这一大波JVM面试题,你真的Hold的住吗? 描述一下 JVM 加载 Class 文件的原理机制? 在面试java工程师的时候,这道题经常被问到,故需特别注意。 Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因...
0
点赞
评论
收藏
分享
2021-06-22 20:15
已编辑
首钢工学院 Java
如何通过Nginx日志实时封禁风险IP
前言 本文分享了自动化采集、分析Nginx日志并实时封禁风险IP的方案及实践. 阅读这篇文章你能收获到: 日志采集方案. 风险IP评估的简单方案. IP封禁策略及方案. 阅读本文你需要: 熟悉编程. 熟悉常用Linux命令. 了解Docker. 背景 分析nginx访问日志时, 看到大量404的无效请求, URL都是随机的一些敏感词. 而且近期这些请求越来越频繁, 手动批量封禁了一些IP后, 很快就有新的IP进来. 因此萌生了通过自动化分析Nginx日志实时封禁IP的想法. 需求 序号 需求 备注 ...
0
点赞
评论
收藏
分享
1
5
6
7
8
9
333
关注他的用户也关注了:
牛客网
牛客企业服务