- 博客(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
原创 整数反转
整数反转 { 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关注的人
RSS订阅