
知识点
@Eleven
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱,加油!
展开
-
war和jar
1、Spring Boot内嵌了各种 Servlet 容器,Tomcat、Jetty等,所以不需要打成 war 包部署到容器中,Spring Boot 只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个 jar(是与平台无关的文件格式) war:一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动To...转载 2020-11-03 20:18:55 · 175 阅读 · 0 评论 -
http GET 和 POST 请求的优缺点和误区 --前端优化
这是一个系列,记录我前端开发常用的代码,小常识,有些是参考网上代码,(讲的可能有点烂,求不要打脸,嘤嘤嘤~~)送给那些需要的人。 Get和Post在面试中一般都会问到,一般的区别: (1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中) (2)post发送的数据更大(get有url长度限制) (3)post能发送更多的数据类型(get只能发送ASCII字符) (4)post比get慢 (5)post用于修改和写入数据,get一般用于搜索排序和.转载 2020-11-03 20:04:14 · 818 阅读 · 0 评论 -
Restful风格和http的关系
原创 2020-11-03 17:05:24 · 1119 阅读 · 0 评论 -
java定时器碰到异常,停止了,有没有什么处理方案?
这要根据你的业务特性分析。1、如果异常不影响业务,可以跳过继续;2、如果异常影响业务了,建议存到一个异常日志表里,后续人工介入,或者另外一个job处理异常信息。原创 2020-10-22 18:34:53 · 1690 阅读 · 0 评论 -
分析https网页加载http资源导致的页面报错原因及其解决方案
https网页加载http资源导致的页面报错及解决方案 https是当下的网站的主流趋势,甚至像苹果这样的大公司,则完全要求用户必须使用https地址。 然而对于以前http链接来说,我们往往就存在一个兼容性问题,因为你不可能一下就全部切换过去,应该在很长一段时间内,https与http将共存。 https与http共存的场景有如: 1. app已经发布出去,其调用接口的地址为http的,那么这是必须兼容的。 2. app中嵌入...转载 2020-10-12 10:58:43 · 4074 阅读 · 1 评论 -
springMvc执行流程
一个请求匹配前端控制器 DispatcherServlet 的请求映射路径(在 web.xml中指定), WEB 容器将该请求转交给 DispatcherServlet 处理DispatcherServlet 接收到请求后, 将根据 请求信息 交给 处理器映射器 (HandlerMapping)HandlerMapping 根据用户的url请求 查找匹配该url的 Handler,并返回一个执行链D...原创 2020-09-20 11:47:07 · 137 阅读 · 0 评论 -
jdbc连接数据库5个步骤?
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.ResultSet; 4 import java.sql.SQLException; 5 import java.sql.Statement; 6 7 public class connectionMysql { 8 9 public static void main(String[] args) {10 .转载 2020-09-16 19:29:28 · 3298 阅读 · 0 评论 -
数据库最大连接数?
1、数据库默认的最大连接数?最大默认连接数:1002、查询数据库最大连接数 show variables like '%max_connections%';3、修改数据库最大连接数 set GLOBAL max_connections = 1000;基本上设置最大链接数为1000就足够了!...原创 2020-09-16 17:08:30 · 6569 阅读 · 0 评论 -
事务的四大特性
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行原创 2020-09-16 16:48:20 · 342 阅读 · 0 评论 -
数据库的三大范式
数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设原创 2020-09-16 15:45:55 · 1530 阅读 · 0 评论 -
cookie 和session 的区别?
cookie 和session 的区别:1、cookie数据存放在客户的浏览du器上,session数据放在服务器上。2、cookie不是很安zhi全,别人可dao以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。cookie 和sess原创 2020-09-16 13:36:22 · 117 阅读 · 0 评论 -
JSP和Servlet有哪些相同点和不同点?
一、相同点JSP是Servlet技术的扩展,所有的jsp文件都会被翻译为一继承HttpServlet的类。也就是jsp最终也是一个Servlet,这个Servlet对外提供服务。二、不同点1、Servlet和JSP最主要的不同点在于JSP侧重于视图,Servlet主要用于控制逻辑2、Servlet如果要实现html的功能,必须使用Writer输出对应的html,比较麻烦。而JSP的情况是Java和HTML可以最合成一个扩展名为.jsp的文件,做界面展示比较方便,而嵌入逻辑比较复杂。...原创 2020-09-16 12:49:22 · 918 阅读 · 0 评论 -
Servlet API 中 forward()与redirect()的区别?
Servlet API 中 forward()与redirect()的区别?1、forward是服务器端的转向,而redirect是客户端的跳转。2、使用forward浏览器的地址不会发生改变,而redirect会发生改变。3、forward是一次请求中完成。而redirect是重新发起请求。4、forward是在服务端完成,而不死客户端发起请求,效率较高。...原创 2020-09-16 12:40:03 · 846 阅读 · 1 评论 -
sql注入
本质原因:sql存在漏洞,会被攻击导致数据泄露,sql会被拼接 or 1=1。1、红色框框住的地方,可以查出一条数据正常打印出来2、当改写成使用绿色框的内容时候,会查出所有密码为“123456”的数据。1、使用statement会导致sql注入实际执行的sql如图二所示图一图二二、使用prepareStatement可以避免sql注入避免sql注入的原因:prepareStatement防止sql注入的本质,把传递进来的参数当做字符,会在外面包上一层引号,假设其中存在转义字符,就直原创 2020-09-15 20:31:49 · 151 阅读 · 0 评论 -
什么是设计模式?常用的设计模式有哪些?
一、什么是设计模式?设计模式就是经过前任无数次的实践总结出的,设计过程中可以反复使用的,可以解决特定问题的设计方法。二、常用的设计模式有哪些?1、单例模式(懒汉式、饿汉式)步骤:1、构造方法私有化,让除了自己类能创建,其他类都不能创建。2、在自己的类中创建一个单实例(懒汉模式是在需要的时候才创建,饿汉模式是一开始就创建)3、提供一个方法获取该实例对象饿汉式代码实例:/** * Created by zjl * 2020/9/15 **/public class HungryManM原创 2020-09-15 13:01:55 · 6417 阅读 · 0 评论 -
线程池的作用
在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。常用线程池:ExecutorService 是主要的实现类,其中常用的有 :Executors.newSingleThreadPool()newFixedThreadPool()newcachedTheadPool()newScheduled原创 2020-09-15 10:49:05 · 828 阅读 · 0 评论 -
线程的几种实现方式?
一 继承thread类1.定义Thread的子类,重写run()方法,run()方法代表了线程要完成的任务,run()方法称为线程执行体2.创建Thread子类的实例,子类对象就是线程,3. 调用线程对象的start()方法来启动线程 运行结果如下图所示: 二:实现runnable接口1.定义runnable接口的实现类,重写run()方法,run()方法是线程的执行体2,...原创 2020-09-13 17:57:25 · 413 阅读 · 0 评论 -
实现一个拷贝文件的工具类使用字节流还是字符流?
使用字节流,我们拷贝的文件不确定是质保函字符流,有可能有字节流(图片、声音、图像等),为考虑到通用性,要使用字节流。原创 2020-09-13 15:45:43 · 195 阅读 · 0 评论 -
讲一下HashMap 和 HashTable 的区别? HashTable和ConcurrentHashMap的区别?
相同点:HashMap 和 HashTable都可以是用来存储key-value的数据。区别:1、HashMap是可以把null作为key或者value的,而HashTable是不可以的。2、HashMap是线程不安全的,效率较高。而HashTable是线程安全的的,效率较低。我想线程安全但是我又想效率高?通过把整个Map分为N个Segment(类似HashTable),可以提供相同的线程安全,但是效率提升N倍,默认提升16倍。...原创 2020-09-13 15:42:40 · 240 阅读 · 0 评论 -
ArrayList和LinkedList的区别?各自的使用场景?
区别?1、List常用的ArrayList 和 LinkedList。2、ArrayList底层使用是数组。LinkedList使用的是链表。3、数组查询具有所有查询特定元素比较快。而插入和删除和修改比较慢(数组在内存中是一块连续的内存,如果插入或删除时需要移动内存)4、链表不要求内存是连续的,在当前元素中存放下一个或上一个元素的地址,查询时需要从头部开始,一个一个的找,所以查询效率低。插入时不需要移动内存,只需要改变引用指向即可。所插入或者删除的效率高。使用场景?ArrayList使用在查询比原创 2020-09-12 19:07:26 · 1403 阅读 · 0 评论 -
讲一下java中的集合
1、Java中的集合为value,key-value(Conllection Map)两种。2、存储值的分为List 和 Set。1、List是有序的,可以重复的。2、Set是无序的,不可以重复的。(根据equals和hashCode方法)。3、存储key-value的为map。...原创 2020-09-12 18:33:58 · 427 阅读 · 0 评论 -
String、StringBuffer和StringBuilder的区别?
一、Java String 类——String字符串常量字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来...转载 2020-09-12 18:23:20 · 190 阅读 · 0 评论 -
“==” 和 equals究竟有什么区别?
==用法1、判断基本类型变量是否相等,且都是数值类型(不一定要求数据类型严格相同),只要两个变量的值相等,就返回true2、对于两个引用类型变量,只有当他们指向同一个对象时,判断才会返回true。且不能用于比较类型上没有父子关系的两个变量equals用法1、equals()是Object类提供的一个示例方法,因此所有的引用类型变量都能用它来判断是否和其他的引用类型变量相等。2、Object类的equals()和==运算符几乎一样,也是要求两个引用类型变量指向同一个对象时才会返回true;3、st转载 2020-09-11 17:22:55 · 374 阅读 · 0 评论 -
有了基本数据类型,为什么还需要包装类型?
装箱和拆箱1、装箱:把基本的数据类型转换成对应的包装类。例如:Integer.valueOf(1); 或者 Integer i = 1;(自动装箱)自动装箱:实际上是在编译时会调用 Integer.valueOf(1);2、拆箱:就是把包装类型转换为基本数据类型例:Integer i = 1;自动拆箱(实际上会在调用时调用 intValue() ):int j = i;手动拆箱:int j = i = intValue()有了基本数据类型,为什么还需要包装类型?Java.原创 2020-09-11 16:05:13 · 794 阅读 · 0 评论 -
Eureka注册表的数据存储
1、Eureka注册表的数据存储方式存储结构:ConcurrentHashMap样式如图所示:2、为什么要用map这种数据结构存储注册表数据?答:速度快、效率高,因为是从内存中进行数据的存取,要比操作数据库要快得多。3、为什么要使用ConcurrentHashMap这种数据结构?答:为了支持并发。...原创 2020-09-08 13:38:22 · 1859 阅读 · 0 评论