- 博客(49)
- 收藏
- 关注

原创 springcloud目录贴
springcloud服务的注册与发现springcloud使用Ribbon作为服务消费者使用Feign作为服务消费者使用Hystrix熔断器路由网关zuul分布式配置中心
2020-04-26 23:13:06
175

原创 Redis基础篇
目录NoSQL概述什么是NoSQL为什么要用nosql主流NoSQLNoSQL优点Redis概述Redis安装和使用Jedis入门Redis数据结构keys的通用操作Redis特性NoSQL概述 什么是NoSQL nosql = not only sql ,意思是“不仅仅是sql”,泛指非关系型数据库。 为什么要用nosql 对...
2020-04-16 17:24:26
217

原创 Activiti目录贴
1-------------------IDEA下搭建Activiti环境2-------------------Activiti之HelloWorld3-------------------RepositoryService4-------------------RuntimeRepository/TaskRepository5-------------------流程变量6...
2019-05-15 22:53:18
254
原创 索引失效的几种场景
like,右模糊 对索引列字段进行函数或类型转换等其他操作;主要包括:在索引列上使用内置函数、隐式类型转换、对列进行加减等数值运算 where语句中包含or时,可能会导致索引失效,除非or的列都加上了索引 联合索引,未遵循最左前缀原则 where语句中索引列使用了负向查询,可能会导致索引失效 ;!= , not in ... 走索引导致多次回表,查询优化器选择不走索引, is null 和 is not null 和查询优化器类似 567点 类似 都看where 后面的字段 不论正向反...
2021-10-19 20:29:50
230
原创 关于多态的一些总结
关于面向对象的三大特征之一的多态,犹记得初学java时的一句话:编译看父类,运行看子类。多态的实现条件:继承、重写、向上转型多态中,方法的调用:向上转型之后,调用的方法父类必须已有,子类没有重写,直接调父类,子类重写,调用子类; 当方法的入参中有继承关系时:该优先级为:this.method(O)、super.method(O)、this.method((super)O)、super.method((super)O)。 ...
2020-12-23 16:07:17
210
原创 Mysql group_concat函数
SELECT t.communityName,t.pointName,GROUP_CONCAT(t.status ORDER BY recordDate),GROUP_CONCAT(t.recordDate ORDER BY recordDate)from (selectrecordDate,communityName,pointName,case attendPointStatuswhen '1' then '全勤'when '2' then '缺勤'else '旷工' end ...
2020-12-23 11:03:25
188
原创 解决springboot项目打包没有主清单
pom文件添加: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions&
2020-08-06 10:18:34
300
原创 适配器设计模式
接口类:package com.klose.适配器模式;public interface Person { void eat(); void cook(); void dance(); void study(); void run();}适配器类:package com.klose.适配器模式;//声明成抽象的因为 不让其他类创建本类对象,因为方法都是空的 创建没意义。public abstract class PersonAdapter
2020-07-30 15:05:57
148
原创 工厂方法模式
1.创建一个工厂的接口package com.klose.工厂方法模式;import com.klose.简单工厂.Animal;public interface AnimalFactory { Animal createAnimal();}2.实现这个接口,实现创建实例的方法package com.klose.工厂方法模式;import com.klose.简单工厂.Animal;import com.klose.简单工厂.Cat;public class Ca
2020-07-30 11:21:39
140
原创 简单工厂模式(静态工厂方法模式)
1.定义一个接口和两个实现类package com.klose.简单工厂;public interface Animal { void eat();}package com.klose.简单工厂;public class Cat implements Animal { @Override public void eat() { System.out.println("猫吃鱼"); }}package com.klose.简单工厂;
2020-07-30 11:06:22
264
原创 单例模式
package com.klose.单例模式;public class Singleton { //私有构造方法,不让其他类创建对象 private Singleton(){} //创建本类对象 private static Singleton s = new Singleton(); //提供对外访问方法 不能创建所以静态 类名点调用;静态方法调用静态变量 public static Singleton getInstance(){ .
2020-07-30 00:28:21
121
原创 装饰者设计模式
说明: B和C实现同一个接口A, C为被装饰类,B为装饰类(可使用C的原有功能,也能对C的某些功能进行升级)。代码实现:接口类:package com.klose.装饰设计模式;public interface Coder { public void code(); public void study();}被装饰类:package com.klose.装饰设计模式;public class Student implements Coder {
2020-07-29 12:14:35
167
原创 jdk动态代理
接口和实现package com.company.proxy;public interface Fruit { void add(); void add2();}package com.company.proxy;public class FruitImpl implements Fruit { @Override public void add() { System.out.println("添加水果"); } @
2020-05-31 17:07:09
308
1
原创 StringUtils中 isNotEmpty 和isNotBlank的区别
isNotEmpty(str)等价于 str != null && str.length > 0isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0同理isEmpty 等价于 str == null || str.length == 0isBlank 等价于 str == null || str.length == 0 || st.
2020-05-22 10:59:43
192
原创 nginx常用命令
windows1、启动:C:\server\nginx-1.0.2>start nginx或C:\server\nginx-1.0.2>nginx.exe注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。2、停止:C:\server\nginx-1.0.2>nginx.exe -s stop或C:\server\...
2020-05-07 21:56:23
173
原创 synchronize关键词、对象头解析
java对象布局,由什么组成?java对象的实例数据(成员变量大小不固定) 对象头(固定) 数据对其(填充数据)虚拟机jvm中能识别的对象布局大小必须为8的倍数(单位:字节byte)打印对象布局引入依赖: <!--openjdk--> <dependency> <groupId>org.open...
2020-05-05 13:40:14
291
原创 Mysql索引底层原理分析
简介Mysql中Innodb引擎的索引的数据类型为Hash或者B+树,默认为B+树。叶子节点由双向指针连接页页是一种逻辑单位,一页可存储4kb数据。使用页——局部性原理局部性通常有两种形式:时间局部性(temporal locality)时间局部性指的是:被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。空间局部性(spatial locality)...
2020-05-04 22:33:10
329
1
原创 mysql排序的几种方式
SELECT * from t_student ORDER BY age; SELECT * from t_student ORDER BY age,status; SELECT * from t_student ORDER BY FIELD(`status`,2,1,3); 。。。。。。 ...
2020-04-30 14:22:54
254
原创 sql中or和and混合使用
前言今天,线上环境出了个问题,导致被叼了一顿,特此纪念一下。导致bug的代码片段:原因是红色框框里用了or没有加(),导致查询出来的数据对不上,所有条件加起来的数量不等于总数。原因可见:此篇博客...
2020-04-28 17:42:39
1432
原创 springboot项目读取配置文件的优先级
1.初始化一个springboot项目配置文件如下:server: port: 8081a: name: jar里的a_nameb: name: jar里的b_namec: name: jar里的c_name测试类:@RestControllerpublic class TestController { @Value("${a.name}"...
2020-04-27 18:11:44
429
原创 分布式配置中心
简介所谓的分布式配置中心,即将项目的配置文件交由git管理,然后项目能够读取git上的配置文件。准备工作先上传三个配置文件到git,怎么上传文件到git可参考这里搭建配置中心server在原有基础上新建模块pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http:...
2020-04-26 22:19:16
191
原创 路由网关zuul
简介Zuul的主要功能是路由转发和过滤器。这个时候,我们需要统一的入口,接口地址全部由该入口进入。比如用/api同一接口,/api/order发给order服务器,/api/product发给product服务器。搭建zuul网关服务器新建一个module模块pom文件:<?xml version="1.0" encoding="UTF-8"?><pr...
2020-04-26 18:17:30
232
原创 使用Hystrix熔断器
在ribbon中使用断路器在第二节原有基础上添加依赖: <!-- 熔断器依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-start...
2020-04-26 17:11:22
219
原创 使用Feign作为服务消费者
简介 Ribbon是一个基于Http和TCP的负载均衡工具,Feign(音:菲恩)是一个声明式的伪Http客户端,它比Ribbon更加的优雅。Feign使用的是接口的方式。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。搭建环境 在上一节的基础上新建一个module模块;pom文件:<?xml version="1...
2020-04-26 16:32:46
257
原创 springcloud使用Ribbon作为服务消费者
1.简介Ribbon是一个基于Http和TCP的负载均衡工具。2.环境搭建在前一节的基础上启动18011注册中心,和18012、18013的两个服务在eureka-client写一个接口,便于测试3.搭建一个服务消费者右击项目根目录,New--Module--选择左侧的Maven,点击next--输入新模块的名字custom-ribbon,pom文件:<...
2020-04-25 21:53:32
180
原创 springcloud服务的注册与发现
一、创建服务注册中心1.首先创建一个maven主工程,然后创建两个module工程,一个作为Eureka Server,一个作为Eureka Client。右键工程->创建model-> 选择spring initialir 如下图:...
2020-04-25 16:12:26
182
原创 Java 8 Stream
简介 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream使用一种类似用SQL语句从数据库里查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。 这种风格将要处理的元素看作是一种流,流在管道中传输,并可以在管道的节点上进行处理,比如筛选,排序,聚合等。 举一个栗子 public static void main...
2020-04-21 17:18:04
244
原创 多线程小结
多个线程共享实例变量(成员变量),会引发线程安全问题。 在使用synchronize或者reentrantLock时,读取值和修改值应该在同一代码块中; 某些情况下,可使用volatile修饰变量强制更新内存和私有线程中的变量,使得读取这个操作不用加锁。 synchronize是jvm层面的,它的加锁和释放锁由jvm实现;reentrantLock是jdk代码层面的,使用时需要手动加锁、释放...
2020-04-21 01:03:14
161
原创 上传代码到github
第一步:建立git仓库cd到你的本地项目根目录下,执行git命令git init第二步:将项目的所有文件添加到仓库中git add .如果想添加某个特定的文件,只需把.换成特定的文件名即可第三步:将add的文件commit到仓库git commit -m "注释语句"第四步:在github个人账户上建立一个仓库第五步:将本地的仓库关联到github上git remot...
2020-04-20 13:54:01
224
原创 使用Redis
使用原生Jedisspringboot中使用Jedisspringboot中使用Redistemplatespringboot中使用Redisson
2020-04-17 13:04:54
287
1
原创 case when then 结合 group by的使用
1.准备数据ddl:CREATE TABLE `t_staff` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `department` varchar(255) COLLATE utf8_unicode_ci DEFAULT ...
2020-04-14 09:13:08
2583
原创 sql 实现 数据库行转列
1.新建一张表CREATE TABLE `t_student` ( `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `subject` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `score` int(11) DEFAULT NULL) ENGINE=...
2019-11-27 17:23:23
205
1
原创 linux安装jdk
1、查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java2、卸载两个openJDK 输入rpm -e --nodeps 要卸载的软件3、上传jdk到linux4、安装jdk运行需要的插件yum install glibc.i686(选做)5、解压jdk到/usr/local下 tar –xvf jdk-7u71-l...
2019-11-26 15:09:26
90
原创 Linux命令汇总
1.目录切换命令cd usr 切换到该目录usr目录下 cd ../ 切换到上一级目录 cd / 切换到系统根目录 cd ~ 切换到用户主目录 cd - 切换到上一个所在目录 2.目录的操作命令增加目录操作(增)命令:mkdir 目录名称示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问...
2019-11-26 15:01:48
162
原创 Spring 全局异常处理器
什么是全局异常处理器?就是把错误异常统一处理的方法。应用场景:1、如果参数校验不通过会抛异常,而且无法使用try-catch语句直接捕获,这时可以使用全局异常处理器来捕捉该异常。2、当你自定义了一个异常类,可以在全局异常处理器中来捕捉该异常。(当然也可以直接在抛出异常处直接捕获,但是这样需要在每一个抛出的地方都写一次捕获代码,看起来不够美观且复用性不强,其他异常同理)。代码:...
2019-11-26 11:26:19
235
原创 Spring注解之 @Conditional 注解
@Conditional注解通常配合@Bean和@Configuration使用,在配置时用于判断spring容器是否注入某个实体类。@Conditional的定义:从代码中可以看到此注解需要传入class类型的数组,并且这些class都继承Condition类点开Condition源码,可以看到:Condition接口中定义了一个返回值为布尔值的抽象方法,因此可以联想...
2019-11-21 13:54:29
269
原创 排序并计算每个学生的名次
private static void testSort() { Student 张三 = new Student("张三", 90, null); Student 李四 = new Student("李四", 90, null); Student 王五 = new Student("王五", 90, null); Stude...
2019-10-16 00:34:44
582
2
原创 Springboot 之整合多个数据源
1.用idea初始化一个springboot项目包结构如下:2.具体配置如下:1.application.yml:#DataSourcespring: datasource: test1: jdbcUrl: jdbc:mysql://localhost:3306/springbootstudy username: root p...
2019-06-02 18:43:30
306
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人