自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 英语简单句

英语语法-英语简单句

2023-09-15 17:46:05 227

原创 Linux下如何查找特定的文件

find/-name“file.java”--精确查找文件(在根目录下查找文件名为file.java的文件)find/-iname“file.java”--不区分文件名大小写去查找文件。find/-name“fil*”--利用通配符模糊查找文件。语法findpath[options]params。manfind--查看更多关于find命令的使用说明。作用在指定目录下查找文件。...

2022-07-31 21:18:16 4741 1

原创 什么是反射?

Java的反射定义:Java反射机制在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制。简单的说,Java可以把类的属性和方法映射成一个个对象并使用。常用的反射的方法getDeclaredMethodgetMethodMethod.invoke(Object obj, Object… args)getDeclaredFieldgetFieldgetDeclare

2022-05-10 17:19:27 190

原创 Ribbon内置的负载均衡规则

规则 特点 AvailabilityFilteringRule 过滤掉一直连接失败的被标记为circuit tripped的后端Server,并过滤掉那些高并发的后端Server或者使用一个AvailabilityPredicate来包含过滤server的逻辑,其实就是检查status里记录的各个Server的运行状态。 BestAvailableRule 选择一个最小的并发请求的Server,逐个考察Server,如果Server被tripped了,则跳过

2022-04-11 23:38:13 529

原创 Mybatis-Plus入门(二)

创建Lambda条件构造器的几种方式://1LambdaQueryWrapper<T> wrapper = new QueryWrapper<T>().lambda();//2LambdaQueryWrapper<T> wrapper = new LambdaQueryWrapper<T>();//3LambdaQueryWrapper<T> wrapper = Wrappers.<T>lambdaQuery();

2021-06-28 10:00:37 198

原创 Mybatis-plus入门

Mybatis-plus单表的单个新增与修改方法:/** * 插入一条记录 * @param entity * 实体对象 * @return int */ int insert(T entity);在这里插入代码片Mybatis-plus的insert与update时的默认策略 : Mybatis-plus新增和更新的默认策略是如果实体对象中的属性的值为null的话,数据库中对应的列不会出现在insert和update语句中。常用注解:

2021-06-20 23:54:14 208

原创 linux操作系统下设置服务开机自启动

首先编写一个shell文件,先在/usr/local/下面新建了一个startup.sh文件(当然其它位置也可以),切换到/usr/local/下,直接vim startup.sh输入下面内容:其中JAVA_HOME是jdk安装位置export JAVA_HOME=/usr/local/java/jdk1.8.0_152export PATH=$JAVA_HOME/bin/:$PATH#nacoscd /usr/local/zhxf_frame/nacos/bin/./startup.sh

2021-06-01 18:02:19 203 1

原创 单体架构VS微服务架构

单体架构简单定义:一个归档包(例如war包)包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。单体架构的优点:架构简单开发、测试、部署方便单体架构的缺点:随着业务的增加,项目复杂性变高部署慢、频率低扩展能力受限阻碍技术创新单体架构在构建小型的、简单的应用系统的时候是比较适合的,但是对于一些庞大的并且复杂的应用系统时,单体架构就不太合适了。微服务的"定义":In short, the microservice architectural st

2021-05-31 17:02:09 210

原创 使用actuator监控spingboot应用

Spring Boot Actuator是Springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看、统计等。在pom中加入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId>&

2021-05-26 16:55:43 169 2

原创 nignx学习(安装目录详解)

nginx官网提供三种nginx版本:Mainline version(开发版)Stable version(稳定版)Legacy versions(历史版本)在企业中实际使用中一般都是稳定版本linux下通过yum安装nginx:创建文件 /etc/yum.repos.d/nginx.repo,并写入[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basea

2021-05-21 14:42:15 125

原创 nginx学习(概念)

一、nginx是什么?nginx是一个开源且高性能、可靠的HTTP中间件和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务nginx高效、高性能的原因:采用了IO多路复用epoll模型,epoll是Linux目前大规模网络并发程序开发的首选模型。在绝大多数情况下性能远超select和poll。epoll的底层实现为红黑树。IO多路复用是Unix五种IO模型的一种。Unix五种IO模型:blocking IO - 阻塞IOnonblocking IO - 非阻塞IOIO m

2021-05-19 11:31:37 249 2

原创 idea使用Spring initializr快速构建一个springboot项目

选择sdk后点击nextGroup : 项目的groupId,一般是公司或者团队的标识。Artifact : 项目的ArtifactId,一般是项目的唯一标识。Tyep : 选择包管理工具的类型,这里我们选择mavenLanguage : 选择开发语言Packaging : 项目的打包方式,这里选择jar包的方式,也是springboot比较推荐的一种方式...

2021-05-07 17:26:41 305

原创 SpringBoot特性

一、SpringBoot解决的问题1、使编码变得简单2、使配置变得简单3、使部署变得简单4、使监控变得简单二、springboot主要特性1、遵循习惯优于配置的原则。使用springboot我们只需要很少的配置,大多数使用默认配置即可2、内嵌servlet容器,降低了对环境的要求,可用命令直接执行项目3、项目快速搭建。springboot尽可能自动配置spring以及第三方库,帮助开发者快速搭建spring框架,可无需配置的自动整合第三方框架4、提供各种starter简化Maven配置。s

2021-04-23 11:29:10 2469

转载 Linux的ab命令

ab命令全称为:Apache bench 。是Apache自带的压力测试工具。ab命令非常实用,它不仅可以对Apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。可以测试安装Web服务器每秒种处理的HTTP请求。ab命令缺点会给服务器造成非常高的负载,可能会造成目标服务器资源耗尽,严重时可能会导致死机,而且它没有图形化结果不能监控,所以只能用作临时紧急任务和简单的测试。ab命令会创建多个并发线程,模拟多个访问者同时对某一个url地址进行访问,测试的目标基于url。安装httpd

2021-03-19 17:29:09 3479

转载 sql为什么要写where 1 = 1

之前一直不太明白,sql语句里为什么要写where 1=1 巴拉巴拉巴拉提升某种执行效率?其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。如:web界面查询用户的信息,where默认为1=1,这样用户即使不选择任何条件,sql查询也不会出错。如果用户选择了姓名,那么where变成了where 1=1 and 姓名=‘用户输入的姓名’,如果还选择了其他的条件,就不断在where 条件后追加 a

2021-03-12 09:13:56 866

原创 oracle的分页查询

以前工作接触到的数据库都是mysql,分页用limit,最近需要写一个oracle的分页查询,在网上找到了方法,记录一下:select * from (select rownum rn,a.* from table_name a where rownum <= x//结束行,x = startPage*pageSize)where rn >= y; //起始行,y = (startPage-1)*pageSize+1(1)>= y,<= x表示从第y行(起始行)~x行(

2020-11-26 10:46:04 157

原创 英语语法框架

最近准备重拾荒废的英语,特记录一下学习语法的过程。学习视频:https://www.bilibili.com/video/BV1Z4411C7jG英语语法框架一、十种词性1. noun(名词)–词性缩写:n.常见名词:apple、cat、panda2. pronoun(代词)–词性缩写:pron.代词就是指可以代替名词或名词性短语的一种词。常见代词:we、that、all、who3. numeral(数词)–词性缩写:num.常见的数词:one、two、fifty、hundred4.

2020-11-19 15:27:38 1709

转载 java从HttpServletRequest对象中获取GET和POST请求参数

URL和参数列表一 、获取请求方式request.getMethod(); get和post都可用,二 、获取请求类型request.getContentType(); get和post都可用,示例值:application/json ,multipart/form-data, application/xml等三 、获取所有参数keyrequest.getParameterNames(); get和post都可用,注:不适用contentType为multipart/form-data四 、获

2020-11-17 14:52:44 16457 1

原创 计算机的字符与编码集

一、字符编码集的历史ASCII码使用7个bits就可以完全表示ASCII码包含95个可打印字符33个不可打印字符(包含控制字符)95 + 33 = 128 =2^7ASCII码早期可以满足英美等国家的科学家使用,但随着计算机的发展与推广,很多应用或者国家中的符号都无法用ASCII表示,如数学符号(÷、≥、≠、≈、π)等。所以就有了第一次对ASCII码进行扩充,由7bits扩充到8bits,就是Extended ASCII码,扩展了常见数学运算符、带音标的欧洲字符、其它常用符,表格符等。字符编

2020-07-09 15:50:25 16

原创 计算机的速度单位

计算机的速度单位一、容量单位在物理层面,是用高低电平记录信息,我们可以用高电平代表1,低电平代表0.计算机层面理论上只认识0/1两种状态,0/1称为比特(bit).0/1能够表示的内容太少了,需要更大的容量表示法,就催生了字节单位(Byte)1Byte = 8bits随着计算机的发展,更大的容量单位被创造出来:二、速度单位1、网络速度宽带运营商宣传的多少兆宽带里的几兆就是指的是网络速度(100M = 100M/s)这里引入一个问题,为什么拉的100M光纤,测试峰值速度只有12M/s

2020-07-09 11:44:06 71

原创 计算机的层次与编程语言

一、程序翻译与程序解释计算机是无法直接理解人类语言的,我们需要程序翻译为计算机可以理解的语言(01011101010)。程序语言可以分为两种:较为高级的计算机语言L1较为低级的计算机语言L0程序翻译:程序解释:作为输入的意思是使用较为高级的计算机语言L1完成的程序作为使用L0语言实现的另一个程序的输入,完成把较为高级的计算机语言L1完成的程序解释为较为低级的计算机语言L0程序。我们把这个使用L0语言实现的另一个程序称为解释器。程序翻译与程序解释的区别与联系:计算机执行的都是L0翻译过

2020-07-09 10:29:14 52

原创 计算机的分类

计算机的分类1、超级计算机功能最强、运算速度最快、存储容量最大的计算机。多用于国家高科技领域和尖端技术研究。标记他们运算速度单位是TFlop/s1Flop/s = 每秒一万亿次浮点运算超级计算机虽然强大,从构成的本质上来讲,它的组成结构大致与普通的计算机相同。2、大型计算机大型计算机又称大型机、大型主机、主机等。虽然不能与超级计算机相比,但大型计算机也具有高性能,可处理大量数据与复杂的运算。多用于大量数据与关键项目的计算,比如说银行的金融交易的数据、证券交易所的数据处理、人口普查等。在

2020-07-07 11:06:42 272

原创 计算机的发展历史

一、计算机发展的四个阶段

2020-07-07 10:23:29 323

原创 timer中schedule和scheduleAtFixedRate的区别

两种情况看区别:1、首次计划执行的时间早于当前时间2、任务执行所需时间超出任务的时间间隔对于第一种情况:schedule方法会在当前实际时间执行第一次,随后的执行时间按照上一次实际执行完成的时间点进行计算。而scheduleAtFixedRate方法会"fixed-rate";如果第一次执行时间被delay了,随后的执行时间按照上一次开始的时间点进行计算,并且为了赶上进度会多次执行任务,因此TimerTask中的执行体需要考虑同步。对于第二种情况:schedule方法下一次执行时间相对于上一次

2020-06-23 11:52:42 534

原创 Java定时任务调度工具详解之Timer篇

什么是定时任务调度:基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务

2020-06-22 17:57:13 290

原创 数据结构学习之哈希表篇(一)

什么是哈希表?哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。哈希冲突:不同的“键”通过哈希函数的计算可能对应相同的“索引”,就叫做哈希冲突,在哈希表中,解决哈希冲突是一个很重要的问题。哈希表充分体现了算法设计领域的经典思想:用空间换时间...

2020-06-05 16:44:58 197

原创 数据结构学习之红黑树篇(Java)

红黑树也首先是一颗二分搜索树,然后还要满足一下定义(算法导论中的定义):每个节点或者是红色的,或者是黑色的根节点是黑色的每一个叶子节点(最后的空节点)是黑色的如果一个节点是红色的,那么他的孩子节点都是黑色的从任意一个节点到叶子节点,经过的黑色节点是一样的...

2020-06-04 16:27:10 143

原创 数据结构学习之平衡树与AVL篇(Java)

平衡树:对于任意一个节点,左子树和右子树的高度差不能超过1平衡因子:任意一个节点左子树与右子树的高度差.

2020-06-02 15:35:23 124

原创 数据结构学习之并查集篇(Java)

并查集(Union Find):并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。并查集是一种树

2020-05-29 17:35:52 113

原创 数据结构学习之字典树篇(Java)

字典树(Trie) : 又称前缀树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。如果有n个条目,Trie查询每个条目的时间复杂度和字典中一共有多少条目无关,时间复杂度为O(w),w为查询单词的长度!而大多数单词的长度小于10。...

2020-05-29 13:47:34 239

原创 数据结构学习之堆与优先队列篇(Java)

在实现优先队列之前,我们先学习一下堆这种数据结构,因为用堆实现的优先队列是一种常见的选择,实现的优先队列的算法的时间复杂度是O(logn)级别的。堆:堆有很多种,其中最主流的方式就是用二叉树来表示一个堆,通常称之为二叉堆(Binary Heap)...

2020-05-18 17:34:47 155

原创 数据结构学习之映射篇(Java)

映射(Map):Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。Map接口:增删改查public interface Map<K,V> { //添加元素 void add(K key,V value); //删除元素 V remove(K key); //是否包含某元素

2020-05-15 11:28:28 199

原创 数据结构学习之集合篇(Java)

集合(Set):对应数学中集合的概念。集合中元素的三个特性:确定性,互异性,无序性。但是在计算机数据结构中, 也有有序集合(一般基于搜索树实现),无序集合(一般基于哈希表实现),多重集合(允许元素重复)的分类。我们在使用中一般都是利用其不允许存储重复元素的功能。集合接口Set:增删查功能public interface Set<E> { //添加元素 void add(E e); //删除元素 void remove(E e); //查询

2020-05-15 11:12:26 144

原创 数据结构学习之二叉树篇(Java)

树在计算机中是一种非常重要的数据结构,树结构本身也是一种天然的组织结构。二叉树顾名思义也就是每个节点最多只能有两个子节点的树结构。二叉树具有唯一根节点class Node(){ E e; //左孩子 Node left; //右孩子 Node right;}二叉树每个节点最多有两个孩子二叉树每个节点最多有一个父亲二叉树具有天然递归结构...

2020-05-11 15:26:45 119

原创 设计模式初探—单例模式

什么是设计模式?是一套被反复使用,多数人知晓的,经过分类编目,代码设计经验的总结。设计模式的作用?使用设计模式是为了可重用代码,让代码更容易让他人理解,保证代码可靠性。单例模式:有些对象我们只需要一个,如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等。单例模式就是保证整个应用中某个实例有且只有一个。常用的单例的模式主要有两种:饿汉模式和懒汉模式...

2020-04-29 15:25:51 111

原创 SpringMVC数据绑定入门

在开发过程中,对于可能为空的数据,最好使用包装类型。

2020-04-29 09:56:48 199 1

原创 SQL中IN与EXISTS用法的区别

结论为:in()适合B表比A表数据小的情况exists()适合B表比A表数据大的情况当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.举例:SELECT * FROM EMP (基础表) WHERE EMPNO > 0 AND EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND...

2020-04-22 17:10:42 125

原创 Java访问控制修饰符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。default(即默认,什么也不写): 在同一内包内可见,不使用任何修饰符。使用对象:类,接口,变量,方法。public: 对所有类可见。使用对象:类,接口,变量,方法。private: 在当前类可见。使用对象:变量,方法。注意:不能修饰外部类protected: 对同一包内的类和...

2020-04-21 16:55:44 146

原创 Java中常见的非访问修饰符

Java中常见的非访问修饰符static 修饰符,用来修饰类方法和类变量。final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。abstract 修饰符,用来创建抽象类和抽象方法。synchronized 修饰符,主要用于线程的编程。static修饰符static主要方便在没有创建对象的情况下来...

2020-04-21 14:54:46 271

原创 Java中"| |"与"|"的区别

| | 和 | 都是表示“或”,区别是 | | 只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。所以我们常称 | | 为"短路或"。example://测试|public class Test{ public static void main(String[] args){ int i = 0; if(1 == 1 | ++...

2020-04-20 16:45:23 540

空空如也

空空如也

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

TA关注的人

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