自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (2)
  • 收藏
  • 关注

转载 【常用的IDEA插件】

Idea插件

2022-09-09 10:36:46 1419 1

原创 Windows10常用快捷键

window 快捷键

2022-06-04 23:06:16 244

原创 Spring学习笔记

Spring学习笔记以前我们调用对象时,对象通常是调用者主动new出来而现在是IOC容器来完成,就像哆啦A梦的百宝箱 负责管理Bean对象。一:Spring的基本概述IOC容器1.什么是IOC容器?Spring => 2003年开始流行框架Spring = IOC + AOPIOC = Inversion of Controll => 控制反转控制反转 到底翻转了什么?依赖对象的创建 和 依赖关系的形成IOC的核心 DI => 依赖注入 dependency injec

2021-09-25 23:03:31 239

原创 秋招备战计划

通过持续一周的几场面试来看基础知识掌握不扎实,简历无亮点难点,需要修改面试问题汇总1.对项目的整体把控,亮点 难点,要选出来2.java并发方面,synchronized 锁 reentLock的区别等 线程池的原理 ,参数,常用线程池3.HashMap底层 的原理,put进去一个元素的过程4.MySQL索引,底层结构,为什么是B+树,Mysql日志redolog undolog 事务两阶段提交过程5.Redis基本数据结构,Redis的内存淘汰策略,如何保证数据一致性,在项目中哪些地方使用

2021-09-11 12:07:54 170

原创 如何对 List集合进行排序

对 List集合进行排序我们可以采用这几种写法进行排序java8排序 ,Comparator comparable1.java8的list.sorted(Comparator.comparing())2.Comparator 比较器 要比较的对象本身没有比较能力 o1.age-o2.age (正序) o2.age-o1.age(倒序)通常 写法:1):Collections.sort(list, new Comparator() {@Overridepublic int com

2021-09-06 17:46:39 4109

原创 Linux下Tomcat的启动、关闭、杀死进程

打开终端cd /java/tomcat#执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcattail -f logs/catalina.out #看tomcat的控制台输出;#看是否已经有tomcat在运行了ps -ef |grep tomcat#如果有,用kill;kill -9 pid #pid 为相应的进程号例如 ps -ef |grep tomcat 输出如下sun 5144 1 0 10:21 pts/1 00:00:06 /

2021-09-03 10:10:47 1065

转载 Java中成员变量,类变量,局部变量之间的区别

一、实例变量也叫对象变量、类成员变量;从属于类由类生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。但在Java多线程中,实例变量是多个线程共享资源,要注意同步访问时可能出现的问题。public class Demo { //以下都是实例变量(成员变量、对象变量) private String nameString; public int age; protected int priority; //实例方法 public String getNameS

2021-08-27 23:13:10 304

原创 MyBatils批量插入/更新

int batchInsertOrUpdate(@Param("list") List<AuntRestInfo> list);<insert id="batchInsertOrUpdate" parameterType="map"> <[email protected] generated on Tue Oct 20 10:53:28 CST 2020.--> insert into aunt_rest_info (rest_id, aun.

2021-08-27 10:15:51 165

原创 HashMap和ConcurrentHashMap总结思考

1.背景知识:当集合要添加新的对象时,先调用这个对象的hashCode方法,得到对应的hashcode值,在算出Hash值,然后计算数组元素下表的位置。2.HashMap中如何计算hash值?如何计算数组元素下表位置?要计算HashMap中对应的数组下标,必然要进行获取哈希值,HashMap对key的哈希值做了离散处理对于HashMap中 key值的hash计算源码如下:static final int hash(Object key) { int h; return (key =

2021-08-26 10:32:42 145

原创 LocalDate/LocalDateTime/LocalTime/Date

package com.company;import java.time.*;import java.time.format.DateTimeFormatter;import java.util.Date;/** * @author xiesongzhuang1 * @Description TODO * @createTime 2021年08月20日 */public class test { public static final LocalTime ON_HOUR_TIM

2021-08-23 20:38:30 90

原创 Java8时间工具类

import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.ZoneOffset;import java.time.format.DateTimeFormatter;import java.util.Calendar;import java.util.Date;import org.apache.commo

2021-08-23 20:03:37 102

原创 MyBatil批量查询

<select id="selectByAuntIds" resultMap="BaseResultMap" > select <include refid="Base_Column_List"/> from aunt_leave_info where leave_end_time > #{startDate} and <![CDATA[ leave_start_time < #{en.

2021-08-23 15:31:30 91

原创 profiles配置多环境

软件环境:在实践生产中,正规一点的可能有 开发环境,测试环境,预发环境,生产环境。而这些环境 的参数肯定都不一样换环境的时候,经常需要修改参数,参数一多,维护起来很麻烦,所以SpringBoot提供了通过profiles配置来达到多环境配置,不需要项目一上生产环境还是预发布 就改一堆配置文件。软件环境:application-dev(开发环境)application-test(测试环境)application-pre(预发环境)application-prod(生产环境)配置文件格式可以

2021-08-19 20:56:01 759

转载 异常的简介

异常的简介在Java中,异常就是Java在编译、运行或运行过程中出现的错误。程序错误分为三种:编译错误、运行时错误和逻辑错误编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是新手在刚接触编程语言时经常遇到的问题。运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。逻辑错误是因为程序没有按照预期的逻辑顺序执行。异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。下面看一段代码:package com.yichang;p

2021-08-17 15:33:54 165

原创 策略模式的使用(附案例)

1.策略模式的概念:通俗讲它就是采用了面向对象的继承和多态机制2.策略模式 的三个角色和基本类图Context封装角色:上下文角色,起承上启下的封装作用,屏蔽高层模块对策略,算法的直接访问封装可能存在的变化Strategy抽象策略角色:一般指接口ConcreteStrategy具体策略角色:接口的实现类类图蕴含的故事:诸葛亮赐予赵云三个锦囊,保刘备江东取孙尚香3.策略模式的优点:1.算法可以自由切换通过封装角色对其进行封装,保证对外提供“可自由切换的策略”2.避免使用多重条件判断对

2021-08-13 15:47:12 1917

原创 深入浅出Java线程池

深入浅出线程池线程什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。如何创建线程java中创建线程测试一下/**继承Thread类,重写run方法/class MyThread extends Thread {@Overridepublic void run() {System.out.println(“myThrea

2021-08-10 16:55:48 132

原创 Java代码规范

Java开发规范1.类名使用UpperCamelCase风格,必须遵循从驼峰形式正例:MarcoPolo/UserDo/XmlService2.方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵守驼峰形式首字母小写。正例:localValue/getHttpMessage()/inputUserId3.常量名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字 长正例:MAX_STOCK_COUNT4.包名统一使用小写,点分割符之间有且仅有一个自然

2021-08-09 21:53:41 155

原创 IDEA添加类注释和方法注释模板简单配置

IDEA手动添加注释模板类注释模板设置1、 File–>settings–>Editor–>File and Code Templates–>Files2、 我们选择Class文件,右侧编辑注释模板。直接复制以下注释模板到图中红框。点击ok保存。3、 编辑好后新建类时即会自动生成类注释。4、 同理选择Interface 文件,复制模板。/** * * 类描述: * *@author ${USER} *@date ${DATE} ${TIME} *@versio

2021-08-09 21:43:13 1019

原创 Java新特性的用法笔记

Java8新特性文章目录Java8新特性前言一.基本内容:二.Java8新特性的简介优点三.JAVA8学习1.lambda表达式的语法2.四大函数式 接口3.方法引用与构造器引用4.Stream API的使用5.并行流和串行流6、Optional的使用7、java8中允许接口有默认方法和静态方法系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言本文主要介绍Java8新特性以及使用用法。提示:以下是本篇文章正文内容,下面案例可供参考一.基本内容:1)lambd

2021-08-09 21:27:00 110

原创 Collections常用的一些方法

Collections.addAll(单值类型集合,元素1,元素2,元素3);Collections.sort(list集合);Collections.sort(list集合,比较器对象)Collections.reverse(list集合);让线程不安全的变成安全的: synchronizedListCollections.synchronizedList(list集合); Collections.synchornizedSet(set集合);Collections.synchro

2021-08-05 23:35:27 702

原创 Comparator 和Comparable的总结比较

一:基本介绍它们的区别有三点:1.存在包结构不同:java.lang.Comparable 语言基础包java.util.Comparator 工具包2.当中的抽象方法不同:Comparable compareTo(1)Comparator compare(1,2)最重要的是它们的语境 语义完全不同Comparable adj.形容词有能力去比较的Comparator n.名词比较专用的工具 比较器一个类实现了Comparable接口就代表这个类的对象是有比较排序的能力的可

2021-08-05 23:33:58 122

原创 lambda表达式

voucherNumInfoMap.putAll(certificateList.stream().collect(Collectors.toMap(Certificate::getCardNum, Function.identity(), (v1, v2) -> v2))); voucherBindListDTOList.forEach(info -> { Certificate certificate = voucherNumInfoMap.get(i

2021-08-02 16:34:05 107

原创 插入排序的思想及代码

插入排序:插入排序最好时间复杂度是 O(n),即当数组刚好是完全顺序时,每次只用比较一次就能找到正确的位置。这个过程重复 n 次,就可以清空未排序区间。插入排序最坏时间复杂度则需要 O(nn)。即当数组刚好是完全逆序时,每次都要比较 n 次才能找到正确位置。这个过程重复 n 次,就可以清空未排序区间,所以最坏时间复杂度为 O(nn)。插入排序的平均时间复杂度是 O(nn)。这是因为往数组中插入一个元素的平均时间复杂度为 O(n),而插入排序可以理解为重复 n 次的数组插入操作,所以平均时间复杂度为 O

2021-07-28 15:11:10 74

原创 关键字被提交的次数

例 2,假设有一个在线系统,可以实时接收用户提交的字符串型关键字,并实时返回给用户累积至今这个关键字被提交的次数。例如,用户输入"abc",系统返回 1。用户再输入"jk",系统返回 1。用户再输入"xyz",系统返回 1。用户再输入"abc",系统返回 2。用户再输入"abc",系统返回 3。一种解决方法是,用一个数组保存用户提交过的所有关键字。当接收到一个新的关键字后,插入到数组中,并且统计这个关键字出现的次数。根据数组的知识可以计算出,插入到最后的动作,时间复杂度是 O(1)。但统计出现次数必须

2021-07-28 11:17:37 69

原创 子串查找(字符串匹配)

子串查找(字符串匹配)package com.company;public class Character { public static void main(String[] args){ String s1="gooleChrome"; String s2="goole"; int result=choose(s1,s2); } /** * 字串查找 * 首先判断主串的第一个字符是否与字串

2021-07-28 10:57:09 1404

原创 工作中经常使用的Git命令操作

Git学习使用笔记1.分布式版本控制所有版本信息仓库全部同步到每个用户,这样就可以在本地查看所有版本历史可以离线在本地提交,只需联网时push到相应服务器或其他用户那里。2.Git和SVN的最主要区别:SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的是自己的电脑所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器,集中式版本控制系统必须是联网才能工作,对网络带宽要求较高Git是分布式版本控制系统,没有中央服务器,每个人的电

2021-07-18 22:41:15 95

原创 数据结构学习

一:时间复杂度和空间复杂度复杂度通常包括时间复杂度和空间复杂度。在具体计算复杂度时需要注意以下几点。它与具体的常系数无关,O(n) 和 O(2n) 表示的是同样的复杂度。复杂度相加的时候,选择高者作为结果,也就是说 O(n²)+O(n) 和 O(n²) 表示的是同样的复杂度。O(1) 也是表示一个特殊复杂度,即任务与算例个数 n 无关。复杂度细分为时间复杂度和空间复杂度,其中时间复杂度与代码的结构设计高度相关;空间复杂度与代码中数据结构的选择高度相关我们需要从时间复杂度和空间复杂度两个维度来考虑

2021-07-03 19:59:10 47

原创 Java 如何实现多线程

import java.util.*;import java.util.concurrent.*;//并发包public class TestThreadPool{ public static void main(String[] args)throws Exception{ //执行器服务(服务员) es = 通过工具类的静态方法获得一个服务员 ExecutorService es = Executors.newFixedThreadPool(2);//可重用的线程池 //

2021-07-02 15:36:02 64

原创 两个线程交替打印1-100

/** * 类描述:两个线程交替打印 * @author :大树 * @version 1.0 * @date 2021/6/28 18:34 */public class testRunable { public static void main(String[] args){ TestThread t= new TestThread(); Thread t1=new Thread(t); Thread

2021-06-28 19:03:28 73

原创 Java 对象克隆

明确一个接口 Cloneable 接口,这个接口提供了一个安全的clone方法1.为什么要使用克隆方法?我们都知道一个包含对象引用的变量建立副本时会发生什么。原变量和副本都是同一个对象的引用,这说明,任何一个变量改变都会影响另一个变量。但是如果希望copy 一个新对象,他的初始状态与original相同,但是之后他们各自会有自己不同的状态,这种情况下就可以使用clone方法2.为什么要使用接口 Cloneable 接口,这个接口提供了一个安全的clone方法?因为clone方法是object的一个

2021-06-25 23:02:40 70

原创 Java方法参数

在程序设计语言中有关将参数传递给方法的一些术语按值调用(call by value):表示方法接收的是调用者的值按引用调用(call by reference)表示方法接收的是调用者提供的变量地址在Java语言中总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给他的任何参数变量的内容。 public static void tripeValue(double x){ x=3*x; } double percent =10; tripleValue

2021-06-25 22:33:15 153 1

原创 JAVA中的HashMap用法解析

Map=>HashMapSortedMap==>TreeMap1.如何创建Map集合2.如何添加Map集合3.如何遍历Map集合4.Map集合常用的方法1.如何创建Map集合Map<String, Integer> map=new HashMap<>();2.如何添加元素一次添加一对: map.put("小翔",210); 一次添加另一个集合: map.putAll(另一个Map集合对象);3.如何遍历Map集合 keySet(

2021-06-20 18:40:46 180

原创 leetcode 122 买卖股票问题(无数次交易)

题目:给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(

2021-06-17 15:10:09 388 1

原创 Spring框架知识总结(浅显易懂)

Spring的总结Spring 是一款优秀的开源框架 ,他解决的是业务逻辑层和其他各层的耦合问题谈起Spring必然离不开 IOC 和AOPIOC–控制反转 核心是DI(依赖注入)何为反转?依赖对象的创建和依赖关系的形成,以前是我们主动去new 一个对象,现在 我们把对象交给spring的IOC容器去管理,需要的时候只需注入即可Bean对象的创建三种方式1>无参构造2> 静态工厂 -> factory-method + class3> 非静态的实例工厂 ->

2021-06-16 15:40:04 215 1

原创 Redis面试常问问题(一定要看|)

1.说一下Redis有什么特点? 1)Redis基于k-v数据库,访问速度快 2)支持数据的持久化(可以将数据保存在硬盘,重启Redis之后可以重新写入内存) 3)支持丰富的数据类型,主要包括string、list、hash、set、zset 4)支持主从数据备份 5)支持事务2.说一下Redis都有什么数据类型?Redis 有五个常用的数据类型 string ,list,set,zset,和hash Redis5.0以后添加了新的数据类型stream3.说一下Redis常有的命令

2021-06-15 17:10:19 191

原创 Redis教程学习 (详细总结)

1.Redis的基本介绍:Redis是一个开放源代码(BSD许可)的内存数据结构存储,可以用作数据库、缓存和消息代理;支持字符串、哈希、列表、集合、带范围查询的排序集合等数据结构。Redis具有内置的复制、Lua脚本、LRU收回、事务和不同级别的磁盘上持久性,并通过Redis Sentinel和Redis群集的自动分区提供高可用性。源码地址:https://github.com/antirez/redis官方网站:https://redis.io2.Redis的特点1、内存数据库,速度快;支持数据

2021-06-15 15:34:17 565 3

原创 Java文件File

import java.io.*;public class TestFilter{ public static void main(String[] args){ //你知道c盘吗 c盘下有windows 你知道windows目录下有system32目录吗 //如何用程序求出system32目录当中所有dll文件的个数 File dir = new File("c:\\windows\\system32"); File[] fs = dir.listFiles(new DllFilter

2021-06-07 19:29:55 44

原创 单例模式的简单使用

作用:控制一个类型有且只有一个对象一、创建方法1.私有化构造方法,防止类体之外的别人创建对象2.创建一个静态的,私有的属于本类类型的对象3.创建一个公共的返回本类类型对象的方法代码示例:class Student{ private String name; private int age; public void setName(String name){ this.name = name; } public String getName(){ return name;

2021-06-07 10:15:34 214

原创 二叉树的层序遍历

广度优先遍历BFS和深度优先遍历DFS1.DFS和BFS的特点比较2.BFS的适用场景3.如何用BFS进行层序遍历4.如何用BFS求解最短路径问题DFS遍历使用递归void dfs(TreeNode root){ if (root==null){ return; } dfs(root.left); dfs(root.right);}BFS 遍历使用队列数据结构void bfs(TreeNode root){ Queue<Tre

2021-06-06 20:05:34 76

原创 找寻多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:[3,2,3]输出:3示例 2:输入:[2,2,1,1,1,2,2]输出:2思路:1哈希表1、统计出每个元素出现的次数2、遍历找出元素最多的class Solution { private Map<Integer, Integer> countNums(int[] nums) {

2021-06-06 16:18:31 207

springMVC如何接受参数,并传值给前端

springMVC如何接受参数,并传值给前端

2022-06-05

Spring学习笔记.md

Spring学习笔记.md

2021-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除