- 博客(18)
- 收藏
- 关注
原创 面试必备-反射
Java反射机制 反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。 反射机制提供的功能: 运行时判断任意一个对象所属类。 运行时构造任意一个类的对象。 运行时获取任意一个类的成员变量和方法。 运行时调用任意一个对象的方法。 生成代理类 Java中反射的实现 通过类名调用class属性得到该类的Class对象 Class&l
2020-11-18 21:04:04
265
2
原创 面试必备-常用设计模式
设计模式的三种类型 创建型模式:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。 结构型模式:适配器模式、装饰者模式、代理模式、桥接模式、组合模式、外观模式、享元模式。 行为型模式:观察者模式、策略模式、模版方法模式、命令模式、迭代器模式、中介者模式、备忘录模式、解释器模式、状态模式、职责链模式、访问者模式。 常用设计模式 单例模式(Singleton Pattern)(最常问的设计模式) 单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使
2020-11-18 11:58:50
834
1
原创 面试必备-线程状态
Java中线程的生命周期 创建:新创建了一个线程对象。 就绪:线程对象创建后,调用了该对象的 start() 方法,该状态的线程位于可运行线程池中,等待被线程调度选中,获取 cpu 的使用权 。 运行:可运行状态的线程获得了 cpu 时间片 ,执行程序代码。 阻塞:阻塞状态是指线程因为某种原因放弃了 cpu 使用权,也即让出了 cpu ,线程暂时停止运行。 死亡:线程执行结束,或者因为异常退出 run() 方法,则该线程结束生命周期。 线程的创建: 线程创建方法 线程的状态转换 创建 > 就绪:t
2020-11-16 20:08:17
235
1
原创 面试必备-线程创建方法
线程创建方法 (1)继承Thread类创建线程 (2)实现Runnable接口创建线程 (3)使用Callable和Future创建线程 (4)使用线程池例如用Executor框架 方法一:继承Thread类创建线程 public class MyThread1 extends Thread{ public void run(){ System.out.println(Thread.currentThread().getName() + "线程被调用"); } } pub
2020-11-13 19:17:09
214
1
原创 Apache Shiro框架
Shiro简介 (1)Shiro 是什么? Apache Shiro是一个强大且易用的Java安全框架/权限框架 本质:预先定义好的权限代码(过滤器,RBAC模型设计,JSP标签等) (2)Shiro有什么用? 执行身份验证、授权(查询有什么权限)、密码学(md5,sha1)和会话管理 (3)Shiro有什么特点? 常见的权限框架有apache Shiro ,与spring Security等 Apache Shiro: 好处:设计简单,配置简单 弊端:和Spring结合,需要整合;功能没有spring S
2020-11-12 20:02:46
360
1
原创 面试必备-OSI七层网络模型和TCP/IP五层网络模型
OSI体系结构 层数 OSI七层网络模型 TCP/IP五层网络模型 对应网络协议 7 应用层 应用层 HTTP、TFTP、FTP、NFS、WAIS、SMTP 6 表示层 应用层 Telnet、Rlogin、SNMP、Gopher 5 会话层 应用层 SMTP、DNS 4 传输层 传输层 TCP、UDP 3 网络层 网络层 IP、ICMP、UUCP、ARP、RARP、AKP 2 数据链路层 数据链路层 FDDI、Ethernet、Arpanet、PDN、SLIP、PPP
2020-11-12 11:10:39
972
原创 面试必备-Cookie和Session
共同点 cookie和session都是用来跟踪浏览器用户身份的会话方式。 Cookie的工作原理 (1)浏览器端第一次发送请求到服务器端 (2)服务器端创建Cookie,该Cookie中包含用户的信息,然后将该Cookie发送到浏览器端 (3)浏览器端再次访问服务器端时会携带服务器端创建的Cookie (4)服务器端通过Cookie中携带的数据区分不同的用户 Session的工作原理 (1)浏览器端第一次发送请求到服务器端,服务器端创建一个Session,同时会创建一个特殊的Cookie(name为JSE
2020-11-12 09:37:29
363
原创 面试必备-Java集合框架
Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息。 数组和集合的区别: (1)数组长度不可变化而且无法保存具有映射关系的数据;集合类用于保存数量不确定的数据,以及保存具有映射关系的数据。 (2)数组元素既可以是基本类型的值,也可以是对象;集合只能保存对象。 Java集合类主要由两个接口Collection和Map。 Collection接口派生出来的常用集合有: (主要)ArrayList、LinkedList (次要)HashSet、TreeSet、Vector(过去式) Ma
2020-11-12 00:42:56
4803
9
转载 saas-export项目—RBAC权限模型
RBAC权限模型引入 (1)如何设计用户权限 普通的用户权限设计 三个表搞定(用户表,权限表,用户权限表) 在这里插入图片描述 (2)有什么特点? 》1 租户增加,选成会大量的冗余数据! 》2 添加或者删除权限不方便 建议使用RBAC权限模型 RBAC权限模型介绍 (1)什么是RBAC权限模型? RBAC 是基于角色的访问控制(Role-Based Access Control ) (2)RBAC权限模型有什么特点? 》》1 先给角色设置权限 》》2 再给用户分配角色 》》3 最后用户得到这些角色的权限
2020-11-02 08:53:22
201
原创 操作系统-java实现进程调度
Java实现操作系统进程调度问题 进程调度方式 (1)非抢占式 一旦处理机分配给某进程后,不管它运行多久让他一直运行下去,不会因为时钟中断等原因而抢占正在运行的处理机。直到该进程完成,自愿放弃处理机,或阻塞时 非抢占式算法有:先来先服务(FCFS)、短作业优先调度算法(SJ( P )F)、高优先权优先调度算法 (2)抢占式 允许调度程序根据某种原则去暂停某个正在执行的进程。抢占调度方式有一定原则,主要有以下几条: 优先权原则 短作业优先原则 时间片原则 抢占式算法有:时间片轮转算法、多级反馈队列调度算
2020-10-30 20:23:45
4388
1
原创 saas-export项目—修改回显
打开编辑界面 OrderController @RequestMapping(path="/toUpdate",method ={ RequestMethod.GET, RequestMethod.POST}) public String toUpdate(Model model, String orderId){ l.info("toUpdate orderId="+orderId); return "system/order/order-update"; }
2020-10-29 19:39:38
219
原创 如何跳出当前的多重嵌套循环?
在最外层循环前加label 标识 然后用break:label 方法即可跳出多重循环 label : for(int i = 0 ; i < 10 ; i ++){ for(int j = 0 ; j < 10 ; j++){ if( i == 2){ break label; } } }
2020-10-27 15:36:24
225
1
原创 AdminLTE入门
下载文件并解压 解压zip文件得到 创建新工程 添加依赖 pom.xml <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <
2020-10-23 17:32:10
274
原创 父子工程搭建
创建父项目 创建父项目,new project ,不要勾选 添加依赖 pom.xml <properties> <junit.version>4.12</junit.version> <spring.version>5.2.9.RELEASE</spring.version> <pagehelper.version>5.1.8</pagehelper.version>
2020-10-23 17:19:58
194
原创 Spring整合Mybatis
Spring整合Mybatis 在pom.xml文件中添加依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> 写好bean类与数据库对应的实体(或用mybatis生成) 在dao层写出对应
2020-10-16 09:42:34
131
原创 List去重操作
List去重 利用HashSet不能添加重复数据的特性来去重 创建 HashSet 对象 (set) , 把 list 放入 set 中 调用 list.clear() ,清空 list 再把 set 的数据全部放入 list 中 代码如下: HashSet<String> set = new HashSet<>(list); list.clear(); list.addAll(set); return list; 利用 contains 方法,避免出现重复数据 创建新 Li
2020-09-23 10:45:13
312
原创 SQL优化
SQL优化-索引索引的优势和劣势索引的分类和索引命令语句索引分类基本语法判断是否适合建索引适合建立索引的情况不适合建立索引的情况性能分析MySql Query OptimizerMySql 常见瓶颈EXPLAIN(查看执行计划)如何使用?包含信息 索引的优势和劣势 索引简单来说是排好序的数据结构,所以它能大幅度的提高查询效率,降低数据排序的成本,降低数据库的IO成本。 但是索引也同样占用很大空间,通常是以索引文件的形式存储在磁盘上,并且更新数据的同时得更新相应的索引。 总的来说:索引能提高查询效率,但降低更
2020-09-09 09:34:36
1968
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅