![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 76
龙孚3拳
你知道的越多,不知道的越多
展开
-
基础知识必背
抽象类与接口==和equalsint和IntegerArrayList和LinkedListhashmap的jdk1.7和1.8区别HashMap、HashTable、ConcurrentHashMap区别TCP和UDP区别HTTP和HTTPS的区别状态码GET和POST区别String类常用方法MySQL调优Session 和 CookieSynchronized和locksynchronized锁的对象是方法的调用者静态方法,类一加载它就存在原创 2021-07-17 00:11:42 · 145 阅读 · 0 评论 -
设计模式和排序算法
设计模式代理模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用优点1.代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度;2.可以灵活地隐藏被代理对象的部分功能和服务,也增加额外的功能和服务。缺点1.由于使用了代理模式,因此程序的性能没有直接调用性能高;2.使用代理模式提高了代码的复杂度。静态代理静态代理其实就是在程序运行之前,提前写好被代理方法的代理类。在程序运行之前,class已经存在。父母(代理类)给孩子(被代理类)做饭,目的是完成孩子吃饭(代理方法原创 2021-03-19 10:22:20 · 963 阅读 · 0 评论 -
MyBatis总结
Mybatis动态SQL实现Mybatis提供了动态SQL,也就是可以根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容动态SQL标签if和where这个“where”标签会知道如果它包含的标签中有返回值的话,它就插入一个‘where’。此外,如果标签返回的内容是以AND 或OR 开头的,则它会剔除掉。<!--动态Sql : where / if--><select id="selectAll" resultType="com.whz.pojo.U原创 2020-11-23 09:31:10 · 172 阅读 · 0 评论 -
Redis笔记
文章目录Redis1.redis-benchmark性能测试2.基础知识3.Redis是单线程的4.五大数据类型Redis-KeyString(字符串)ListSet(集合)Hash(哈希)Zset(有序集合)5.三种特殊数据类型geospatial 地理位置Hyperloglog(基数计数)Bitmaps(位图)6.事务7.Jedis8.SpringBoot整合9.Redis.config详解10.Redis持久化RDB(Redis DataBase)AOF(Append Only File)11.Red原创 2020-11-16 20:45:47 · 340 阅读 · 0 评论 -
第三次面试
1.JDK1.8的新特性有哪些速度更快 – 红黑树代码更少 – Lambda强大的Stream API – Stream便于并行 – Parallel最大化减少空指针异常 – Optional2.实现多线程的几种方法3.数据结构4.MySQL数据库5.SSM项目有什么大坑,怎么解决的6.Spring的AOP一般用来干嘛7.如果将a注入b,b注入c,c注入a,系统会发生什么8.MySQL的左外连接的执行顺序9.JDK实现动态代理...原创 2020-10-24 16:42:14 · 435 阅读 · 0 评论 -
数据结构面试题总结
1.B树和B+树的区别B(B-)树一种二叉搜索树。除根节点外的所有非叶节点至少含有(M/2(向上取整)-1)个关键字,每个节点最多有M-1个关键字,并且以升序排列。所以M阶B树的除根节点外的所有非叶节点的关键字取值区间[M/2-1(向上取整),M-1]。优点:B树的每一个节点都包含key和value,因此经常访问的元素可能离根节点更近,因此访问也更迅速。B+树有n棵子树的非叶子结点中含有n个关键字(b树是n-1个),这些关键字不保存数据,只用来索引,所有数据都保存在叶子节点(b树是每个关键原创 2020-10-30 22:39:17 · 630 阅读 · 0 评论 -
MySql数据库面试知识总结
1. 数据库范式第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。如电话列可进行拆分—家庭电话、公司电话第二范式(2NF):首先是符合第一范式,另外包含两部分内容,一是表必须有主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分第三范式(3NF):首先是符合第二范式,另外非主键列必须直接依赖于主键,不能存在传递依赖。比如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话)这样一个表结构,就存在上述关系。 学号–> 所在院校 -原创 2020-10-26 12:11:39 · 383 阅读 · 1 评论 -
基本排序算法
如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式1.冒泡排序冒泡排序:比较两个相邻的元素,将值大的元素交换到右边public static void sort1(int[] arr){ int t; for (int i = 0; i <arr.length-1 ; i++) { for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1])原创 2020-10-24 09:57:48 · 134 阅读 · 0 评论 -
String、StringBuffer和StringBuild的区别
String、StringBuffer和StringBuild的区别转载 2020-10-22 22:44:52 · 183 阅读 · 0 评论 -
基本设计模式
单例模式:单例模式是一种常用的软件设计模式,在应用这个模式时,单例对象的类必须保证只有一个实例存在,整个系统只能使用一个对象实例。优点:不会频繁地创建和销毁对象,浪费系统资源。使用场景:IO 、数据库连接、Redis 连接...原创 2020-10-21 22:47:45 · 703 阅读 · 2 评论 -
基本排序算法
如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式1.冒泡排序比较两个相邻的元素,将值大的元素交换到右边public static void sort1(int[] arr){ int t; for (int i = 0; i <arr.length-1 ; i++) { for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){原创 2020-10-21 17:29:33 · 163 阅读 · 0 评论 -
JAVA数据类型,为什么要用包装类,而不是用基本数据类型
int是基本数据类型Integer是int的一个包装类(wrapper),他是类不是基本数据类型,他的内部其实包含一个int型的数据。为什么要用包装类?java语言是面向对象的,对象封装有很多好处,可以把数据和这些数据的方法结合在一起,比如parseInt()专门处理int类型的数据比如ArrayList集合类只能一类作为它的存储对象,所以必须把基本数据类型包装成类...原创 2020-10-21 15:14:50 · 880 阅读 · 0 评论 -
请求转发和重定向
请求转发只有一次请求;重定向2次请求请求转发地址栏不变;重定向地址栏发生改变请求转发是request的方法;重定向是response的方法请求转发可以通过request域来共享数据;重定向不能请求转发只能访问当前服务器下的资源;重定向可以访问其他站点的资源请求转发的地址是内部的;重定向的地址是绝对路径请求重定向:比如我们找一个A广告公司给设计名片,A明确告诉我们他们不会设计,就让我们找B公司,结果B公司给我设计好了,所以我们会对外宣称是B公司给我们设计的名片,(所以我们就相当于发送了两次次请.原创 2020-10-19 21:02:35 · 213 阅读 · 0 评论 -
JVM总结
JVM1.JVM体系系统2.类加载器作用:加载Class文件虚拟机自带的加载器启动类(根)加载器扩展类加载器应用程序(系统类)加载器双亲委派机制:安全类加载器收到加载类的请求将这个请求向上委托给父类加载器,一直向上委托,直到启动类加载器启动加载器检查是否能加载当前这个类(能加载就结束,使用当前的加载器,否则抛出异常,通知子类加载器加载)重复步骤33.沙箱安全机制沙箱是一个限制程序运行的环境。主要是限制系统资源的访问,系统资源包括:CPU、内存、文件系统、网络基本组原创 2020-10-15 11:50:14 · 250 阅读 · 0 评论 -
注解和反射
注解和反射1.注解1.常用内置注解@Override 重写@Deprecated 不推荐程序员使用,但是可以使用,或存在更好的方式@SuppressWarnings(“all”) 抑制编译时的警告信息2.元注解作用:负责注解其他的注解(4个标准的meta-annotation类型)@Target:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)@Retention:表示需要在什么级别保存该注释信息﹐用于描述注解的生命周期(SOURCE<CLASS <R原创 2020-10-14 10:52:53 · 149 阅读 · 0 评论 -
怎么让别人访问你的项目?Ngork(免费)
Ngork 内网穿透怎么让自己的项目让别人访问(免费)访问http://www.ngrok.cc/注册账号登陆(开通隧道)购买选择免费的开通完成选择下载软件下载完成,解压并运行找到自己的隧道id在启动工具里运行,回车可以根据这个地址访问了...原创 2020-10-14 10:14:00 · 206 阅读 · 0 评论 -
网络编程
网络编程计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:传播交流信息,数据交换,通信如何准确地定位网络上的一台主机,端口,定位到计算机上的某个资源找到主机,如何传输数据1.网络通信的要素如何实现网络的通信?通信双方的地址:ip端口号192.168.33.250:8080规则:网络通信协议TCP/IP参考模型:2原创 2020-10-14 08:54:26 · 226 阅读 · 0 评论 -
SpringBean的生命周期
Spring Bean的生命周期(1)实例化Bean:当有客户端请求一个未被初始化的bean时或者初始化bean的时候需要注入另一个尚未初始化的依赖时,BeanFactory会调用createBean进行初始化。ApplicationContext容器会在当容器启动结束后,通过获取BeanDefinition对象中的信息,实例化所有的bean。(2)依赖注入:实例化之后的对象会被封装在BeanWrapper中,然后Spring会根据BeanDefinition中的信息和BeanWrapper提供的设置属转载 2020-10-09 11:52:25 · 293 阅读 · 0 评论 -
Shiro整合
Shiro简介1.1什么是Shiro?Apache Shiro是一个Java的安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在javaSE环境,也可以用在JavaEE环境。Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。1.2有什么功能Authentication:身份认证、登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限,即判断用户能否进行什么操作,如:验证某个用户原创 2020-10-08 11:31:54 · 255 阅读 · 0 评论 -
扩展SpringMVC(SpringBoot)
MVC配置原理//如果我们要扩展Springmvc,官方建议我们这样去做@Configuration//配置类//@EnableWebMvc //导入了一个类 DelegatingWebMvcConfiguration.class:从容器中获取所有的webmvcconfig;public class MyConfig_02 implements WebMvcConfigurer { //视图跳转 @Override public void addViewControlle原创 2020-10-07 17:06:33 · 126 阅读 · 0 评论 -
SpringBoot整合
SpringBoot 整合JDBCapplication.ymlspring: datasource: username: root password: 123456 #加入时区报错就增加一个时区配置 serverTimezone=UTC url: jdbc:mysql://localhost:3306/mybats?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 driver-cl原创 2020-10-07 16:59:43 · 140 阅读 · 0 评论 -
springboot Web开发
Springboot Web开发自动装配springboot到底帮我们配置了什么?我们能不能进行修改?能修改哪些东西?能不能扩展xxxxAutoConfiguration:向容器中自动装配组件xxxxProperties:自动装配类,装配配置文件中自定义的一些内容要解决的问题导入静态资源首页jsp,模板引擎Thymeleaf装配扩展SpringMVC增删改查拦截器国际化静态资源在springboot,我们可以使用以下方式处理静态资源webjars loca原创 2020-09-27 21:18:50 · 79 阅读 · 0 评论 -
SpringBoot配置文件
SpringBoot配置文件及自动装配原理SpringApplication:推断应用的类型是普通的项目还是Web项目查找并加载所有可用初始化器,设置到initializers属性中找出所有的应用程序监听器,设置到listeners属性中推断并设置main方法的定义类,找到运行的主类1、配置文件SpringBoot使用一个全局的配置文件,配置文件名称是固定的pplication.properties○语法结构:key=valueapplication.yml○语法结构:k原创 2020-09-27 21:17:42 · 113 阅读 · 0 评论 -
JUC并发编程
JUC并发编程synchronized 和 Lock的区别Synchronized内置的Java关键字,Lock是一个Java类Synchronized无法判断获取锁的状态,Lock 可以判断是否获取到了锁Synchronized 会自动释放锁,lock必须要手动释放锁!如果不释放锁,死锁Synchronized 线程1(获得锁,阻塞)、线程2(等待,傻傻的等);Lock锁就不一定会等待下去;Synchronized可重入锁,不可以中断的,非公平;Lock,可重入锁,可以判断锁,非公平(可以自原创 2020-09-22 16:55:13 · 650 阅读 · 0 评论 -
Spring MVC工作原理
Spring MVC工作原理注册DispatcherServlet(请求分发器,前端控制器,核心)<!--注册DispatcherServlet--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-原创 2020-09-14 11:46:25 · 167 阅读 · 0 评论