- 博客(82)
- 资源 (1)
- 收藏
- 关注
原创 POI工具类的使用(基于SpringCloud)
目录POI操作EXCEL并转PDFPOI操作WordPOI操作EXCEL并转PDF参考博客:Java:Excel转PDF实现方案;基于POI与Itext进行搭配.pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>4.0.1</ver
2022-01-28 14:59:09
622
原创 Java判空
import org.apache.commons.lang3.StringUtils;StringUtils.equals(final CharSequence cs1, final CharSequence cs2);
2022-01-28 13:27:59
403
原创 Java计算两个Date之间相差的年月日
使用Period.between方法 SimpleDateFormat formatter = new SimpleDateFormat(BaseConstants.Pattern.DATETIME); ParsePosition pos = new ParsePosition(0); Date date1 = formatter.parse("2021-11-16 17:50:54", pos); ParsePosition pos2 = new Par
2021-10-23 21:12:43
1721
原创 Ribbon负载均衡(Load Balance)
LB负载均衡(Load Balance):将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)Nginx服务端负载均衡和Ribbon本地负载均衡的区别:Nginx是服务器负载均衡,客户端所有的请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。Ribbon是本地负载均衡,在调用微服务接口的时候,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。...
2021-08-02 20:48:07
518
原创 ZooKeeper下载安装及简单使用+Consul下载安装及简单使用
这里写目录标题ZooKeeper下载安装及简单使用Consul下载安装及简单使用ZooKeeper下载安装及简单使用ZooKeeper下载安装(Windows版本)参考博客https://www.cnblogs.com/mh-study/p/10368891.html添加Zookeeper依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <art
2021-07-28 17:30:07
255
原创 IntelliJ IDEA和Visual Studio Code常用快捷方式
IntelliJ IDEA常用快捷方式Visual Studio Code常用快捷方式
2021-07-19 19:39:42
612
1
原创 nvm下载安装及简单使用
目录1.下载nvm2.解压安装3.通过nvm安装node.js4.nvm常用命令1.下载nvmnvm下载地址https://github.com/coreybutler/nvm-windows/releasesnvm-noinstall.zip: 绿色免安装版本,使用之前需要配置。nvm-setup.zip:安装包,下载之后点击安装,无需配置就可以使用。Source code(zip):zip压缩的源码。Sourc code(tar.gz):tar.gz的源码,一般用于*nix系统。这里我下
2021-06-22 10:46:09
3379
原创 mysql命令行常用命令
1.启动mysql:net start mysqlmysql报错10061时以管理员身份打开命令提示符,转到mysql-5.7.34-winx64\bin目录下输入net start mysql,mysql启动成功
2021-06-21 20:23:31
94
原创 Mysql+Navicat下载安装
目录mysql下载安装mysql下载安装以Mysql免安装版为例官网下载链接:https://downloads.mysql.com/archives/community/1.选择自己需要的版本下载,下载完成后解压2.以管理员身份打开命令行,转到mysql的bin目录下(cd 目标目录地址)安装mysql的服务:mysqld --install3.初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld --initialize --con
2021-05-15 18:07:42
410
原创 redis笔记
目录Redis 简介redis常用数据结构以及应用场景Redis事务跟Mysql事务有什么区别redis中删除过期key的策略redis的雪崩、穿透、击穿,以及对应的策略缓存雪崩缓存穿透缓存击穿(热点数据集中失效)redis高可用redis中两种持久化方式Redis宕机怎么解决数据丢失问题(RDB,AOF,主从复制)Redis哨兵Redis-Cluster集群如何保证redis和mysql中的数据一致性Redis会不会变慢?怎么解决这个问题更多内容可以到专栏查看:https://blog.youkuaiyun.com
2021-03-24 21:04:46
236
原创 JVM笔记
这里写自定义目录标题1.JVM的内存模型2.jvm对象的创建3.判断对象是否可回收4.JVM垃圾回收算法分代收集算法标记-清除算法标记-复制算法标记-整理算法5.垃圾收集器6.jvm内存泄漏更多内容可以到专栏查看:https://blog.youkuaiyun.com/sunshine543123/category_10899368.html1.JVM的内存模型程序计数器:当前线程所执行的字节码的行号指示器(通过改变这个计数器的值来选取下一条需要执行的指令),每个线程都需要一个独立的线程计数器,各线程之间计数器互
2021-03-24 20:39:34
119
原创 数据库笔记
目录数据库事务是指什么数据库事务的四个特性(ACID)并发一致性问题事务的隔离级别数据库三范式多表查询外连接内连接(join)交叉连接MySQL中索引有哪些,主键索引和唯一索引有什么区别聚集索引和非聚集索引主键索引(PRIMARY KEY)和非主键索引唯一索引(unique)和非唯一索引单列索引和复合索引全文索引(FULLTEXT)主键索引和唯一索引的区别sql中关键字的执行顺序更多内容可以到专栏查看:https://blog.youkuaiyun.com/sunshine543123/category_108993
2021-03-24 20:17:23
1250
1
原创 Spring笔记
目录1.SpringIOC什么是 IOC实现方式:ioc容器设计用了哪些机制2.spring bean什么是spring bean3.BeanFactory和ApplicationContext有什么区别?4.SpringAOPAOP 底层使用动态代理有两种情况动态代理第一种 有接口情况,使用 JDK 动态代理第二种 没有接口情况,使用 CGLIB 动态代理5.SpringMVC详细流程为什么用DispatchServlet6.Spring事务的基本原理spring事务的传播属性spring事务的隔离级别s
2021-03-24 12:21:00
120
原创 操作系统笔记
目录1.进程和线程的区别资源方面线程的切换代价远低于进程独立性进程状态图线程状态图2.调度算法有哪些作业调度算法先来先服务(FCFS)短作业优先(SJF)优先级调度算法(PSA)高响应比优先算法(HRRN)进程调度算法轮转调度算法(RR)优先级调度算法多队列调度算法多级反馈队列调度算法实时调度非抢占式调度算法抢占式调度算法最早截止时间优先算法(EDF)最低松弛度优先算法3.死锁起因定义避免死锁4.谈谈你对多线程的理解5.Java多线程同步的实现加锁使用Lock和Condition对象使用内部锁:synchr
2021-03-24 11:57:43
214
原创 java基础笔记
目录java数据类型Java集合JDK8的新版特性java中==和equals的区别java中String、StringBuffer和StringBuilder的区别java常用IO流java的泛型String最大容量jdk和jre有什么区别java反射其它java数据类型基础数据类型:byte,int,long,float,double,boolen,char引用类型:类,接口,数组https://blog.youkuaiyun.com/sunshine543123/article/details/10886
2021-03-24 11:07:11
128
原创 计算机网络笔记
目录OSI七层模型TCP/IP四层模型交换机寻址方式IP地址与硬件地址(MAC地址/物理地址)的区别讲一下127.0.0.1、255.255.255.255、0.0.0.0UDP和TCP区别TCP连接建立,tcp三次握手TCP连接释放四次握手TCP 拥塞控制为什么udp不安全还要用TCP协议头部字节其它OSI七层模型TCP/IP四层模型应用层:应用层的任务就是用过应用进程间的交互完成特定的网络应用。传输层:传输层的任务就是为两台主机进程间的通信提供数据传输服务(运输层主要使用UDP和TCP协议)
2021-03-23 21:54:16
434
原创 HashMap总结笔记
目录hash冲突的处理方法开放定址法线性探测法二次探测法随机探测法再散列函数法链地址法HashMapHashMap底层为何HashMap的数组长度一定是2的次幂?如何遍历hashmapHashMap为什么是线程不安全的?concurrenthashmap实现原理参考博客:hash冲突的处理方法开放定址法线性探测法fi(key)=(f(key)+di)MOD m; (di=1,2,3…m-1)二次探测法fi(key)=(f(key)+di)MOD m; (di= 1^2,- 1^2、 2^2 ,-
2021-03-23 21:40:42
173
原创 数据结构笔记
目录时间复杂度树树的存储结构特殊的二叉树二叉树的遍历单链表和双链表(LinkedList)的区别链表(LinkedList)跟数组(ArrayList)的区别ArrayList底层,LinkedList底层,依次删除List中的所有元素应该怎么删除?ArrayList扩容如何实现怎样判断链表有无环,怎样不借助额外空间,找到链表中间节点在不使用额外节点存储空间的情况下,实现单链表逆序时间复杂度O(logn) 对数阶例子int count=1;while(count<n){ count
2021-03-23 21:40:24
111
原创 常用的查找算法(java)
目录1.顺序查找(线性查找)2.有序表查找2.1二分法查找*2.2. 插值查找(对mid进行改进)*2.3. 斐波那契查找*3.线性索引查找3.1.稠密索引3.2.分块索引3.3.倒排索引4.二叉排序树5.平衡二叉树(AVL树)6.红黑树7.多路查找树(B树)7.1 2-3树7.2 B树7.3 B+树8.哈希表1.顺序查找(线性查找)最基本的查找技术,从表中第一个记录开始,逐个进行记录的关键字和给定值比较最优时间复杂度:O(1)最坏时间复杂度:O(n)平均时间复杂度:O(n)2.有序表查找2
2021-03-23 21:39:43
194
原创 常用的排序算法(java)
目录1.冒泡排序2.直接选择排序(简单选择排序)3.插入排序4.希尔排序5.堆排序6.归并排序7.快速排序本博客中都是按照从小到大排列1.冒泡排序对序列中所有数实行前后元素对比,小的在前大的在后,这样从头到尾进行n-1次public class bubbleSort { public static void main(String[] args) { int[] a={1,34,79,3,78,20,5,2,50,71,66,21}; int len=a.le
2021-03-23 21:38:53
131
原创 java实现二叉排序树的定义、查找、添加、删除
二叉排序树(Binary SortTree),又称为二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树。若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空 ,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。定义节点package BinaryTree;//定义节点public class Node { int data; Node lchild,rchild; public int getData(
2020-12-03 23:22:06
247
原创 JAVA8—Lambda表达式
文章目录Lambda表达式简介传统写法使用匿名内部类的写法Lambda的更优写法Lambda标准格式用例1(无参无返回值)用例2(有参有返回值)用例3(有参有返回值)Lambda省略格式Lambda表达式简介Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。传统写法要启动一个线程,需要创建一
2020-10-12 16:49:03
285
1
原创 java基础篇—数组与集合
文章目录1.数组(array)2.集合2.1.集合(Collection)2.1.1.List2.1.2.Set2.1.3.List和Set的区别2.2.图(Map)2.3.HashMap和HashSet的区别3.数组和集合的区别4.总结1.数组(array)概念:同一种类型数据的集合。其实数组就是一个容器。定义格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];示例:int[] arr = new int[5];定义格式2:元素类型[] 数组名 = new 元素类型[]
2020-10-11 19:48:56
2255
2
原创 Spring整合MyBatis框架时报错Error creating bean with name ‘xxx‘: Unsatisfied dependency expressed...
项目结构:报错信息:2020-09-29 11:08:18,555 2383 [on(3)-127.0.0.1] WARN pport.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error
2020-09-29 11:16:05
1194
1
原创 java: 无效的源发行版: 14
用IDEA编写代码运行后报错:java: 无效的源发行版: 14解决方法:在idea检查所有的jdk配置,选择你电脑上正在使用的jdk我的电脑上的配置:IDEA的jdk配置:Project Structure中:settings中:重新运行,问题解决...
2020-09-25 17:21:56
11998
10
原创 idea常用的快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 代码提示Ctrl+Alt+Space 类名或接口名提示Ctrl+P 方法参数提示Ctrl+Shift+
2020-09-21 11:06:34
90
原创 Maven 中启动 Tomcat,控制台和日志打印信息出现乱码的解决方法
在 tomcat 的安装目录下,进入conf 目录,找到 logging.properties 文件,将其中的UTF-8全部改为GBK即可解决
2020-09-16 09:48:19
513
原创 PTA试题—幸运数(java)
题目:幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,…1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 3 5 7 9 …把它们缩紧,重新记序,为:1 3 5 7 9 … 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,不是那个数本身能否被3整除!! 删除的应该是5,11, 17, …此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39
2020-09-08 16:54:25
701
原创 Visual Studio使用控件DevExpress在xml创建自定义的图形
xml中的代码:<?xml version="1.0"?><Shapes xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ShapeTemplate Id="Shape0" DefaultSize="80,50" IsQuick="true" Rows="*" Columns="*"> <Start
2020-09-07 19:47:23
548
原创 PTA试题—翻硬币(java)
题目:小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是***oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:输入格式:两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<10
2020-09-06 19:49:52
246
原创 PTA试题—质数的后代(java)
题目:在上一季里,曾提到过质数的孤独,其实从另一个角度看,无情隔膜它们的合数全是质数的后代,因为合数可以由质数相乘结合而得。如果一个合数由两个质数相乘而得,那么我们就叫它是质数们的直接后代。现在,给你一系列自然数,判断它们是否是质数的直接后代。输入格式:第一行一个正整数T,表示需要判断的自然数数量接下来T行,每行一个要判断的自然数输出格式:共T行,依次对于输入中给出的自然数,判断是否为质数的直接后代,是则输出Yes,否则输出No输入样例:在这里给出一组输入。例如:434612输
2020-09-06 19:47:41
264
原创 PTA试题—特殊的质数肋骨(java)
题目:农民约翰母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数。 例如有四根肋骨的数字分别是:7 3 3 1,那么全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。7331 被叫做长度 4 的特殊质数。 写一个程序对给定的肋骨的数目 N (1<=N<=8),求出所有的特殊质数。数字
2020-09-06 19:44:18
334
原创 PTA试题—数字黑洞(java)
题目:任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);3)求两个数的差,得到一个新的四位数(高位零保留)。重复以上过程,最后一定会得到的结果是6174。比如:4312 3087 8352 6174,经过三次变换,得到6174输入格式:一个四位整数,输入保证四位数字不全相同输出
2020-09-06 19:40:53
427
原创 PTA试题—铺地毯(java)
题目:为了准备一个学生节,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限铺上一些矩形地毯。一共有n 张地毯,编号从1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入格式:输入共 n+2 行。第一行,一个整数 n,表示总共有n 张地毯。接下来的 n 行中,第i+1 行表示编号i 的地毯的信息,包含四个正整数a
2020-09-06 19:36:13
306
原创 python机器学习——实现简单的人脸识别
import cv2cap=cv2.VideoCapture(0) #使用摄像头#设置人脸分类器 haarcasecadesclassfier=cv2.CascadeClassifier('D:\\python+selenium\\anaconda3\\pkgs\\libopencv-3.4.2-h20b85fd_0\\Library\\etc\\haarcascades\\haarcascade_frontalface_alt.xml')count=0while cap.isOpene
2020-07-27 18:51:34
1028
原创 python机器学习——逻辑回归例子
import numpy as npimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers import Dense,Activationfrom keras import optimizers#1.创建数据集user_train=np.array([[1.85,1.05], [1.32,2.45], [1.66,3.56]
2020-07-27 18:14:28
445
原创 python机器学习——线性回归
1.根据线性回归公式实现import numpy as npimport matplotlib.pyplot as plt#创建数据集def create_data(): w=0.9 b=15 x=np.random.uniform(0.0, 80.0, (200, 1)) #200行1列的0-80的浮点数 y=w*x+b # 对数据进行标准正态分布处理 #normal(loc=0.0, scale
2020-07-27 18:01:00
437
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人