- 博客(33)
- 收藏
- 关注
原创 设计模式-工厂模式
工厂模式是一种创建型设计模式,它提供了一种创建对象的方式,将创建对象的实例的过程从主代码中抽离出来,以提高代码的可读性和可维护性。
2024-06-23 15:18:51 893
原创 IDEA常用插件、设置及快捷键
我们在日常开发中使用到最多的开发工具莫过于IDEA,这一款非常好用的Java集成开发环境。工具很强大有许多的使用技巧如更契合开发习惯的配置、IDEA常用的快捷键以及各式各样强大的插件,掌握这些技巧会使我们的工作效率得到极大提升,下面将介绍一些IDEA实用的使用技巧。
2022-12-01 17:58:24 2759
原创 Java8 Stream collect(Collectors.toMap()) 用法
Collectors.toMap 用法在我们实际开发过程中经常使用到将List 转为Map的过程,在Java8 中Stream提供简便开发的方式,三个重载的方法两个参数public static <T, K, U> Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extends K> keyMapper,
2021-07-21 20:21:46 3967
原创 JDK源码阅读--HashMap(JDK1.8、Java11)
这里写目录标题基本介绍几个内部常量默认初始长度默认负载因子转换为树的阈值收缩为链表的阈值转换为树节点数的阈值具体分析基本介绍首先要知道HashMap使用到哪些数据结构,JDK1.8中HashMap实现依赖数组,单链表,红黑树实现几个内部常量默认初始长度/** * The default initial capacity - MUST be a power of two. * 默认初始容量 - 必须是 2 的幂。 */static final int DEFAULT_INITIAL_
2021-07-19 14:28:06 440 1
原创 Docker
这里写目录标题基本命令启动Docker停止Docker重启Docker状态容器使用获取镜像启动容器启动已停止运行的容器首先查看所有容器找到对应id启动一个已经停止的容器后台运行停止正在运行的容器重启容器进入容器基本命令启动Dockerservice docker start停止Dockerservice docker stop重启service docker restartDocker状态docker stats 用法:docker stats [选项] [容器…]显示容器资源
2021-07-15 17:19:49 84
原创 Java8新特性--时间日期类
Java8时间日期类常用APIpublic void testLocalDateTime() { // 时间格式化 DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); System.out.println("现在日期时间: " + df.format(now));
2021-06-22 17:37:54 126
原创 Feign报错
Feign报错feign.codec.DecodeException: Error while extracting response for type [com.telewave.atwparuledefinition.response.ResponseVO<java.util.List<com.telewave.twms.domain.combat.dto.WarningLabelDto>>] and content type [application/json;charse
2021-06-17 20:37:12 955
原创 Redis学习
RedisRemote Dictionary Server(远程字典服务器),是一个用C语言编写的,开源的,基于内存并支持持久化的,高性能NoSQL数据库.Redis数据大部份时间都是存储内存中,适合存储频繁访问,数据量小的数据Redis的特点1. 支持数据持久化Redis支持数据的持久化,可以将数据保存到磁盘中,重启的时候可以将数据再次加载进行使用2.支持多种数据类型Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,hash,zset等数据结构的存储3.支
2021-04-14 20:44:02 223
原创 数据结构---栈
栈定义:栈是一个先入后出(First In Last Out) 的有序列表栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端,为变化的一端,称为栈顶,另一端为固定的一端,称为栈底根据以上定义可知,最先放入栈中的元素在栈底,最后放入栈中的元素在栈顶,而删除元素刚好相反,最后删除的元素在栈底,最先删除的元素在栈顶入栈示意图出栈示意图...
2021-04-14 20:23:45 83
原创 数据结构---线索二叉树
线索二叉树基本介绍n个节点的二叉链表中含有n+1[2n-(n-1)]个空指针域,利用二叉树中的空指针域,存放指向该节点在某种遍历次序 下的前驱和后继节点的指针(这种附加的指针称为"线索")这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树根据线索的不同,线索二叉树可分为前序线索二叉树 ,中序线索二叉树, 后序线索二叉树三种一个节点的前一个节点,称为前驱节点一个节点的后一个节点,称为后驱节点...
2021-04-08 22:21:13 122
原创 数据结构---二叉树
二叉树定义:一个节点下最多有两个子节点在二叉树的第i层上至多有2^(i-1)个节点满二叉树:3. 所有叶子结点都在最后一层4. 且满足节点个数n和层数k的关系为:n=2^k - 1完全二叉树叶子节点只存在最后两层二叉树的遍历:先序遍历:(1) 访问根节点(2)先序遍历左子树(3)先序遍历右子树中序遍历(1) 中序序遍历左子树(2)访问根节点(3)中序遍历右子树后序遍历(1) 后序序序遍历左子树(2)后序遍历右子树(3)访问根节点其中先中后表示访问父节点的
2021-04-07 21:58:41 196
原创 算法---排序算法
算法算法的实现复杂度:事后统计的方法:这种方法可行,但是有两个问题:1.要想对设计的算法的运行性能进行评测,需要实际运行该程序 2.所得时间的统计量依赖于计算机的硬件,软件等环境因素事前估算的方法:通过分析某个算法的时间复杂度来判断那个算法更优时间频度:一个算法花费的时间与算法中语句的执行次数成正比,哪个算法中语句的执行次数多,它花费的时间就多,一个算法中的语句执行次数称为语句频度或时间频度.忽略常数项忽略低次项忽略系数算法的时间复杂度一般情况下,算法中的基本操作语句的重
2021-04-06 20:31:20 72
原创 Servlet请求过程
Servlet请求流程学习J2EE理解servlet处理请求的流程(第一个Servlet程序HelloWorld版本)当我们在浏览器输入url地址进行请求时服务端在接收请求的整个流程如下图所示其中分请求是否为第一次请求第一次请求:①.解析请求信息,解析/one/hello;上下文路径(环境):/one.资源名称:/hello.②.根据上下文路径/one去Tomcat根/conf下找到server.xml文件获取所有的元素再判断哪一个元素的path属性值为/one,接着找到的docBase属
2021-03-28 22:58:28 374
原创 Java基础--反射
反射(Reflection)Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API获取任何类的内部信息,并能直接操作任意对象的内部属性及方法加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息.我们可以通过这个对象看到类的结构.这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射正常方式: 引入需要的"包类"名称 >>
2021-03-15 22:28:41 76
原创 数据结构--链表
链表(LinkedList)介绍链表是有序的列表,但是它在了内存中存储是按照下图存储的(物理结构)链表有如下特点:链表是以节点的方式来存储的每个节点包括data域和next域:指向下一个节点;双向链表还包括prev域如图:我们发现链表的各个节点不一定是连续存储的链表分带头节点的链表和没有带头节点的链表,根据实际需求来确定带头节点的单链接...
2021-03-15 20:21:47 98
原创 面试
1. Spring Data JPA和Mybatis区别和选择Spring Data JPA是Spring家族的一款ORM框架默认使用Hibernate实现内置了简单的数据库操作(单表)包括分页等操作Mybatis是一款优秀的持久层框架更利于编写复杂的SQL,Mybatis-Plus对Mybatis增强也提供了单表,条件等操作2.二叉树深度优先和广度优先3....
2021-03-11 21:41:27 86
原创 多线程学习--JDK5.0新增创建线程方式
新增方式一: 实现Callable接口与使用Runnable接口相比,Callable接口功能更强大相比run()方法,Callable允许有返回值方法可以抛出异常支持泛型的返回值需要借助FutureTask类,比如获取返回结果Future接口:可以对具体Runnable,Callable接口的执行结果进行取消,查询时候完成,获取结果等FutureTask是Future接口唯一的实现类FutureTask同时实现了Runable,Future接口它即可以作为Runable被线程执行又可以
2021-01-21 14:37:42 103
原创 面试题
面试题1.Set和List区别2.Set遍历时间复杂度3.链表查找时间复杂度4.统计数组中数字出现的次数5.求平方根算法6.Spring MVC常用注解7.复制文件具体操作8.Oracle分页9.省市人口,求人口超过5000万的省份10. Mysql存储引擎...
2021-01-06 14:06:37 59
原创 面试题
2020/10/15面试总结笔试题:以下代码执行结果?静态代码块在类加载的时候执行一次,所以最先执行随后都不会执行.其次子类初始化实例的时候会先调用父类构造器再调用子类构造器public class Test { public static void main(String[] args) {// 1B2b2b A b = new B(); b= new B(); }}class A { static { Syst
2021-01-06 14:06:19 76
原创 面试题一
java基础1.HashMap和ConcurrentHashMap区别2.ConcurrentHashMap的数据结构3.高并发HashMap的环是如何产生的4.volatile作用5.Atomic类如何保证原子性6.synchronized和lock的区别7.为什么要使用线程池8.核心线程池ThreadPoolExecutor的参数9.ThreadPoolExecutor的工作...
2020-06-27 10:58:33 77
原创 十分简易的MVC框架
简易的MVC框架模仿SpringMvc框架,其中核心思想是我们引入一个前端控制器;所谓前端控制器指的是所有请求均到达前端控制器,再由前端控制器分发请求到对应的映射处理器,由控制器处理完之后返回ModelAndView对象再由前端控制器统一设置共享数据到HttpRequest对象和请求转发到客户端.其中主要是两个注解@COntroller和@RrequestMapping需要由我们去扫描确定在哪些类哪些方法上面再使用反射调用方法处理对应请求资源的Controller中对应被@RequestMapping注解
2020-06-27 10:14:46 191
原创 踩坑日记--Springboot整合Mybatis配置多数据源
坑主要的在SpringBoot整合Mybatis配置多数据源的过程中抛异常:java.lang.IllegalArgumentException: jdbcUrl is required with ######driverClassName.原因:数据库配置jdbc的jdbc-url写成url1.数据库配置文件spring: datasource: primarydb: ...
2020-04-09 12:02:25 189
原创 稀疏数组
数据结构包含线性结构和非线性结构线性结构:1.线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2.线性结构有两种不同的存储结构,一种是顺序存储结构和链式存储结构.顺序存储的线性表称为顺序表,顺序表中存储的元素是连续的;链式存储的线性表称为链表,链表中存储的元素不一定是连续的,元素节点中存放数据元素和相邻节点的地址信息.3.线性结构常见的有:数组,队列,链表和栈非线...
2020-03-23 23:19:52 90
原创 IDEA创建Web项目
配置Tomcat1.进入Run/Configurations2.选择本地Tomcat路径绑定项目配置完之后url变化新建web Module勾选web application 在WEB-INF目录下创建classes和lib目录分别用来装编译后的class文件和项目依赖jar包进入项目配置选择Use module compile out path目的是为了将编译后...
2019-07-15 20:45:33 136
原创 IDEA创建Spring项目
使用IDEA创建Spring项目1.新建Module2.新建目录在Module目录下新建lib目录和resources目录,lib目录用于存放依赖jar包,resources目录用于存放Spring配置文件3.设置目录属性4.设置依赖jar包将spring-core,spring-beans拷入lib目录下,并且在Project Structure依赖本地jar包记住依赖包...
2019-06-24 21:39:30 640
原创 理解Cookie机制
为什么需要Cookie和SessionHTTP 协议有一个特点:无状态连接.服务端不知道上一次是哪一个客户端请求了自己.无状态连接带来的问题: 在一次会话(会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。)中,我们可以查看多个资源,每个资源都会发送请求再响应,每次请求都是客户端发出的而Http是无状态连接的,它不知道上一次是谁访问了自...
2019-03-30 10:40:35 135
原创 java实现类似Windows7上的时钟日历小程序
#java实现时钟日历小程序最终效果如下图具体代码如下:package swing2;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.geom.AffineTransform;...
2019-03-17 21:39:09 2126 2
原创 数据结构-------动态数组
数据结构数据结构是计算机存储,组织数据的方式数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率.数据结构往往同高效的的检索算法和索引技术有关.我们平时用到的数据库就是数据结构的实现,是一个能存取修改删除数据的容器,是存储在磁盘当中支持掉电式的,也就是持久化的.而我们程序当中的数据结构是在内存中的程序生命周期结束就没有了.常...
2019-03-17 21:20:03 134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人