自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shiro框架-面试篇

Shiro框架-面试篇1、什么是Shiro?Shiro是一个权限管理的安全框架,可以帮助我们完成认证、授权、加密、会话管理、Web集成和缓存等。2、三个核心组件:(1)Subject,当前操作用户。(2)SecurityManager,最核心的组件,是Shiro框架的控制器,通过它来管理内部组件实例,并提供安全管理的各种服务。(3)Realm,定义了访问数据的方式,用来连接不同的数据源,是Shiro与引用安全数据间的桥梁。3、Shiro主要的四个组件:(1)SecurityManager,典

2020-11-16 17:22:06 712

原创 Redis、Redis缓存-面试篇

Redis-面试篇1、Redis是一个基于内存的高性能key-value数据库,支持丰富的数据类型:string、list、set、zset(sorted set,有序集合)、hash。2、最适合Redis的场景有哪些?(1)会话缓存(2)全页缓存(3)队列(4)排行榜/计数器(5)发布/订阅3、为什么redis需要把所有数据都放到内存中去?Redis为了达到最快的读写速度将数据都读取到内存中,并通过异步的方式将数据写入磁盘。(在内存越来越便宜的时代,redis将越来越受欢迎)4、Red

2020-11-15 21:24:14 216

原创 MQ消息队列-面试篇

MQ消息队列-面试篇1、什么是消息队列?消息队列是一种可以存储消息的容器,当我们需要消息的时候可以取出消息供自己使用,并且是有顺序的。2、为什么要使用消息队列?简单而言就6个字:解耦、异步、削峰(1)解耦(2)异步(3)削峰3、消息队列由哪些角色组成?(1)生产者,负责产生消息(2)消费者,负责消费消息(3)消息代理,负责存储消息和转发消息。其中,转发消息分为推送和拉取两种方式。拉取(pull),是指消费者主动从消息代理处获取消息。 无数据积压问题,但是不及时。推送(push

2020-11-15 21:23:28 305

原创 TCP/IP-面试篇

TCP/IP-面试篇1、OSI七层模型,开放互连系统参考模型。应用层 为应用程序提供服务 实现的协议有 HTTP、HTTPS、FTP、SMTP表示层 数据格式转化、数据加密会话层 建立、管理和维护会话传输层 负责进程间的通信 TCP、UDP网络层 IP选址和路由选择,解决跨网络的主机通信问题 IP 路由器、交换机数据链路层 提供介质访问和链路管理,解决相邻主机通信问题 ARP 网桥、网卡物理层 透明地传输比特流 应用的设备有 中继器、集线器、双

2020-11-15 21:19:30 1347

原创 Linux系统及常用指令-面试篇

Linux系统及常用指令-面试篇1、Linux定义:一个多用户多任务并且支持多线程多cpu的操作系统,拥有良好的用户界面,支持多种处理器架构,移植方便。相比windows而言,它开放源代码。2、Shell定义:一个命令行解释工具,它将用户输入的命令转化为Linux内核能够理解的语言,是用户使用Linux系统的桥梁。Linux常用命令:1、列出指定目录:ls2、创建目录:mkdir3、切换目录:cd4、查看当前路径:pw5、查看当前进程:ps6、终止进程:kill7、执行退出:exit8

2020-11-15 21:18:39 137

原创 设计模式-面试篇

设计模式-面试篇1、什么是设计模式?设计模式是程序员用来解决特定设计问题的尝试和测试的方法。设计模式是代码可用性的延伸。2、请列举出在JDK中几个常用的设计模式?(1)单例模式,用于Runtime、Calendar等类中。(Runtime类:查看或控制虚拟机的状态和行为)(Calendar类:提供了很方便的不同日期格式的转换方法)(2)工厂模式,用于各种不可变的类,如Boolean类的静态工厂方法Boolean.valueOf(String),可以直接返回布尔类型的值,不需要开辟内存空间。(

2020-11-15 21:16:17 230

原创 面向对象编程-面试篇

面向对象编程什么是面向对象思想?面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装到对象之中,让对象去实现具体功能细节。特点:1、将复杂的事情简单化。2、面向对象将以前过程中的执行者,转变为了指挥者。3、面向对象是符合现在人思考习惯的一种思想。面向对象的三大特征:封装、继承、多态1、封装:隐藏对象的属性和实现细节,对外仅提供公共方法对其访问。好处是将变化隔离,便于使用,提高了代码的复用性和安全性。2、继承:提高代码复用性;继承是多态的前提。3、

2020-11-15 21:14:52 1029

原创 前端知识-面试篇

前端知识JavaScript定义:JavaScript是一种解释型脚本语言,目的是能够在客户端的网页中增加动态效果和交互能力,实现了用户与网页之间的一种实时的、动态的交互关系。jQuery定义:jQuery是JavaScript的一个库,对JavaScript进行了封装,可用于简化事件处理,HTML文档遍历,Ajax交互和动画,以便快速开发网站。Ajax定义:Ajax是一门技术,它提供了异步更新的机制,实现了页面的局部刷新。JavaScript、jQuery、Ajax之间的关系:jQuery

2020-11-15 21:13:19 142

转载 java后台提示信息弹出框

1 public static void main(String[] args) {2   //不带图标3   Toolkit.getDefaultToolkit().beep();4   JOptionPane.showMessageDialog(null, “信息”, “标题”, JOptionPane.PLAIN_MESSAGE);5   //带 ?图标6   JOptionPane.showMessageDialog(null, “信息”, “标题”, JOptionPane.QUESTI

2020-11-06 09:32:38 3271

原创 验证回文串

验证回文串package algorithm;/** * 验证回文串 我的思路:先计算出字符串中字母和数字字符的数量,重新组成字符串,大写换为小写,分成前后字符串,后面逆序,然后比较前后字符串是否相同 * * @author Unique-cong * */public class algorithm_7 { /** * 我的解法:题目是做出来了,但是耗时太久 * * @param s * @return */ public boolean isPalind

2020-09-15 20:39:10 272

原创 有效的字母异位词

有效的字母异位词解:package algorithm;import java.util.Arrays;import java.util.HashMap;/** * 有效的字母异位词 * * @author Unique-cong * */public class algorithm_6 { /** * 我的思路:将两个字符串存入hashmap中,统计每个字符出现的次数,然后将两个haspmap进行比较即可。 * 执行用时:19 ms * 内存消耗:40.4

2020-09-14 23:02:16 154

原创 字符串中的第一个唯一字符

字符串中的第一个唯一字符package algorithm;import java.util.HashMap;/** * 字符串中的第一个唯一字符 * 解题思路:遍历字符串,把每个字符出现的次数记录到HashMap中,第二次遍历字符串,最先找出值为1的字符的索引,即为题解 * @author 周聪 * */public class algorithm_5 { public int firstUniqChar(String s) { HashMap<Cha

2020-09-14 19:55:23 552

原创 整数反转

整数反转![在这里插入图片描述](https://img-blog.csdnimg.cn/20200912173235671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE4Mjc1MA==,size_16,color_FFFFFF,t_70#pic_cent解答:package algorithm;impor

2020-09-12 17:34:49 130

原创 反转字符串

反转字符串package algorithm;import java.util.Scanner;/** * 反转字符串 * @author 周聪 * */public class algorithm_3 { public String reverseString(char[] s) { int start = 0; int end = s.length - 1; while (start < end) { char tmp = s[start]; s[

2020-09-12 15:50:50 135

原创 反转字符串 II

反转字符串 II方法 1:暴力我们直接翻转每个 2k 字符块。每个块开始于 2k 的倍数,也就是 0, 2k, 4k, 6k, …。需要注意的一件是:如果没有足够的字符,我们并不需要翻转这个块。为了翻转从 i 到 j 的字符块,我们可以交换位于 i++ 和 j-- 的字符。解答:package algorithm;import java.util.Scanner;/** * 反转字符串 II * @author 周聪 * */public class algorithm_2

2020-09-12 11:19:19 259

原创 反转字符串中的单词 III

反转字符串中的单词 III解答:package algorithm;import java.util.Scanner;/** * 反转字符串中的单词 III * @author 周聪 * */public class algorithm_1 { public String reverseWords(String s) { StringBuilder sb = new StringBuilder(); int length = s.length

2020-09-11 20:14:35 134

原创 String、StringBuffer、StringBuilder类的区别

String、StringBuffer、StringBuilder类的区别String 的值 是不可变的,不能被修改。所以这会导致每次对String的操作都会生成新的String对象,不仅效率低下还浪费大量的内存空间。StringBuffer与StringBuilder则能够被多次修改,并且不产生新的未使用对象,节省内存空间。而StringBuffer与StringBuilder的区别则是,StringBuilder 线程不安全,属于单线程操作字符串。StringBuffer线程安全,属于多线程操作

2020-09-11 19:30:15 110

空空如也

空空如也

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

TA关注的人

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