![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA --回顾之路
回顾java
kismetG
HelloWorld
展开
-
数据库连接池
什么是数据库连接池(connection pool)数据库连接池,主要在于池(pool)。池技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。这里所说的池是一种广义上的池。简单来说,就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量使用情况,为系统开发测原创 2020-11-16 22:47:53 · 794 阅读 · 0 评论 -
设计模式之MVC 模式
MVC 模式MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图)- 视图代表模型包含的数据的可视化。 Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。创建模型public class Student {...转载 2020-11-13 12:06:06 · 319 阅读 · 0 评论 -
设计模式之单例模式
单例模式public class Animal { //创建对象 private static Animal animal=new Animal(); //让构造函数为 private,这样该类就不会被实例化 private Animal(){} //获取唯一可用的对象 public static Animal getAnimal(){ return animal; } public void showAnimal(){原创 2020-11-12 15:59:51 · 369 阅读 · 2 评论 -
设计模式之工厂模式,抽象工厂模式
工厂模式先上代码://创建一个水果的接口public interface Fruit { void eat();}//创建实现水果接口的苹果实体类public class Apple implements Fruit { @Override public void eat() { System.out.println("eatApple"); }}//创建实现水果接口的橘子实体类public class Orange implements Fr原创 2020-11-11 16:53:34 · 189 阅读 · 0 评论 -
设计模式
根据设计模式的参考书设计模式 - 可复用的面向对象软件元素中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。当然,我们还会讨论另一类设计模式:J2EE 设计模式。序号 模式 & 描述 包括 1 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接..原创 2020-11-11 09:53:08 · 106 阅读 · 0 评论 -
软件设计的七大原则 -- 单一职责原则 接口隔离原则 迪米特法则 合成复用原则
4、单一职责原则原则定义:这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。实现原理:单一职责原则是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,再封装到不同的类或模原创 2020-10-13 14:22:36 · 941 阅读 · 0 评论 -
软件设计的七大原则 --开闭原则 里氏替换原则 依赖倒置原则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中,开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原原创 2020-10-12 18:25:39 · 1986 阅读 · 2 评论 -
SpingBoot 集成 Swagger2 --超nice!!!
从前:开发人员创建一份 RESTful API 文档来用来记录所有的接口细节。但是,会有一下问题的出现: API 接口众多,细节复杂,需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等,想要高质量的完成这份文档需要耗费大量的精力; 难以维护。随着需求的变更和项目的优化、推进,接口的细节在不断地演变,接口描述文档也需要同步修订,可是文档和代码处于两个不同的媒介,除非有严格的管理机制,否则很容易出现文档、接口不一致的情况; 现在:Swagger2诞生!!!.原创 2020-09-11 14:52:20 · 147 阅读 · 0 评论 -
java ModelMapper对象转换
在项目中很多时候需要把Model和DTO两个模型类来回转换,保证Model对外是隐私的,同时类似密码之类的属性也能很好地避免暴露在外了.1.ModelMapper入口类ModelMapper这个工具的入口类就是ModelMapper,因此转换就需要从这个类入口.简单看下APIaddConverter() :顾名思义,添加转换器 addMappings() :添加映射器 createTypeMap() :创建A-B的转换器关系 getConfiguration() :获取配置 map.原创 2020-09-02 19:22:16 · 1082 阅读 · 0 评论 -
java 通过MultipartFile完成Excel文件解析写入数据库 栗子版
准备数据库:CREATE TABLE `tb_user` ( `id` int NOT NULL, `user_name` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `age` int DEFAULT NULL, `sex` int DEFAULT NULL, `birthday` date DEFAULT NULL, `c...原创 2020-09-02 17:24:08 · 8282 阅读 · 5 评论 -
java --反射机制 回调函数
今天看到过滤器跟拦截器的时候,发现他们的区别有一点就是:拦截器是基于java的反射机制的,而过滤器是基于函数回调。有点不大明白,就查了一下,做个记录!先从简单的开始!什么是java的回调函数?栗子1:你去图书馆借两本书,但是只有一本有,另外一本被别人借走了,于是你就先借了一本,跟管理员说,等第二本到了,跟你打电话,你来拿。上面的过程就相当于一个回调函数,你是回调对象,管理员是控制器对象,打电话是回调的方法。栗子2: A a=new A; B b=new B;int原创 2020-08-25 14:49:09 · 476 阅读 · 0 评论 -
SQL--索引(栗子版)
SQL索引在数据库优化中占有一个非常大的比例,一个好的索引的设计,可以让你的效率提高几十甚至几百倍。1.什么是索引SQL索引有两种,聚集索引和非聚集索引。先不说概念,举个栗子:字典例:字典前面的目录,可以按照拼音和部首去查询,我们想查询一个字,只需要根据拼音或者部首去查询,就可以快速的定位到这个汉字了,这个就是索引的好处,拼音查询法就是聚集索引,部首查询就是一个非聚集索引.概念:聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。就像字段,聚集索引是.原创 2020-08-12 16:00:01 · 137 阅读 · 0 评论 -
java面向对象///抽象类与接口
面向对象面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。对Java语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。对象:对象是系统中用来描述客观事物的一个实体,它是构成原创 2020-08-12 09:01:57 · 183 阅读 · 0 评论 -
SpringBoot整合Redis --无一多余的实例
1.配置链接Redisapplication.properties# Redis服务器地址spring.redis.host=localhost# Redis服务器连接端口spring.redis.port=6379# Redis服务器连接密码,默认为空spring.redis.password=# 连接超时时间(毫秒)spring.redis.timeout=50002.传入单个值/** * @author kismet * @date 2020/8/11 10:1原创 2020-08-11 16:20:37 · 154 阅读 · 0 评论 -
java GC介绍 ///内存方面的面试题
1、GC“GC”:垃圾收集 Garbage Collection每个程序员都遇到过内存溢出的情况,程序运行时,内存空间是有限的,那么如何及时的把不再使用的对象清除将内存释放出来,这就是GC要做的事。GC所在区域:GC所在的内存区域为堆与方法区内,因为jvm中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理。判断一个对象是否还活着:需要进行回收的对象就是已经没有存活的对象,判断一个对象是否存活常用的有两种办法:.原创 2020-08-11 07:47:31 · 126 阅读 · 0 评论 -
Java 多线程回顾
进程和线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使得所有程序好像是在同时运行一样。多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。所谓多线程是指一个进程在执行原创 2020-08-10 14:13:15 · 125 阅读 · 0 评论 -
JDK,JRE,JVM这三者的联系与区别///java跨平台///堆、栈、常量区、静态区、方法区的区别
JDK,JRE,JVM这三者的联系与区别JDK :(Java开发工具包)JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API包括rt.jar)。JRE:(java运行时环境)也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。JVM:...原创 2020-08-10 08:23:35 · 222 阅读 · 0 评论 -
QueryDSL-JPA --SpringBoot环境下搭建测试QueryDSL-JPA
一、环境配置1. 引入maven依赖 <!-- querydsl --> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> </dependency> <dependen转载 2020-08-04 15:55:44 · 525 阅读 · 0 评论 -
Springboot循环依赖
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name '*******Controller': Unsatisfied dependency expressed through field '*******Service'; nested exception is org.springframework.beans.factory.UnsatisfiedDependen.原创 2020-08-03 11:24:38 · 462 阅读 · 0 评论