自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 开发注意事项

开发规范

2023-06-14 14:57:29 164

原创 MySql对统计多个维度

MySql对统计多个维度

2022-11-29 17:59:51 1365 1

原创 MySql常用函数总结

MySql常用函数总结

2022-11-21 09:27:56 311

原创 MyBatis-Plus只查询固定条数记录

在使用MyBatis-Plus时有时候会碰到根据时间排序,只取最早或最晚一条记录的需求,这种需求其实只需在查询构造器最后加一个last()方法即可,方法里传入参数last(“limit 1”)。这种方法可以实现上述需求,但是不得不写一个"limit 1",以后改需求查两个的话又需要改为"limit 2",而且这里写一个常量字符串感觉也怪怪的,基于此可以用两种方法代替。

2022-11-08 16:17:43 11352

原创 Springboot集成websocket实现消息推送和在线用户统计

说到websocket首先要说Http,Http大家都知道是一个网络通信协议,每当客户端浏览器需要访问后台时都会发一个请求,服务器给出响应后该连接就会关闭,请求只能有客户端发起,服务端是没办法主动发起请求的,对于消息推送的需求Http也可以满足要求,就是前端采用定时任务的方式去请求接口,这种轮询的方式是非常损耗服务器性能的,要尽量避免。所谓全双工指的是通信可以由任意一方发起,可以在两个方向上传输信息,采用websocket可以很好的实现消息推送的功能,从而避免了轮询的方式导致资源浪费的问题。

2022-11-07 17:17:38 2201

原创 MySql 关联查询时 on条件过滤和where条件过滤的区别

上述两个查询中都是加了is_disable = 1这个条件,本来左连接要以左表为主,但是where后加了is_disable = 1后过滤掉了左表中的两条数据,而 and 后加is_disable = 1却仍然以坐标为主,并没有过滤掉左表中的数据,这是为什么呢?一共两张表,用户表和部门表,用户表中的dept_id和部门表的dept_id关联,下面的对两表进行关联查询,查出用户名和用户对应的部门名称,分别采用 where 和 on 进行条件过滤。

2022-09-22 11:04:47 1964 1

原创 用户线程和守护线程

用户线程和守护线程

2022-07-06 10:48:12 215

原创 使用cookie和session实现用户的认证和授权(原生方式,不使用安全框架)

在学习springsecurity和shiro等安全框架之前可以使用原生的方式,基于cookie和session实现原生的认证,有利于加强对框架学习的理解,也有助于清晰的理解认证和授权的流程,也有助于对cookie和session作用的理解。对cookie和session的概念不清楚的可以参考:cookie和session一般的管理系统都是基于RABC授权,也即基于角色授权,RABC授权模式最简单的就是利用5张表:用户表,角色表,权限表,用户角色中间表,角色权限中间表,这里就基于这5张表进行讲解。案例

2022-03-24 11:11:15 7219

原创 elasticsearch常用查询操作汇总

文档记录在腾讯在线文档:es常用查询汇总

2021-12-06 16:03:36 1033

原创 elasticsearch时间自动映射问题

elasticsearch在没有手动指定映射时会自动根据值映射类型,在时间的映射有需要注意。首先创建一个索引(test),这里不指定映射类型PUT /test往test索引中插入一个数据POST /test/_doc{ "name":"zhangsan", "birthday":"2021-01-01"}然后查询索引中数据映射关系GET /test/_mapping映射关系如下{ "test" : { "mappings" : { "dynamic_

2021-11-29 17:51:17 1788

原创 会话技术:cookie和session

一.会话技术会话:会话指的是多次请求和多次响应,客户端在第一次给服务器发送请求时会话建立,直到一方断开为止。功能:可以在多个请求之间共享数据。方式:客户端会话技术(cookie)和服务器端会话技术(session)二.客户端会话技术客户端会话技术采用cookie实现:...

2021-11-17 16:23:07 5909

原创 jar包在服务器上传慢解决方案

一.war包发布项目使用war包发布,tomcat会自动解压war包,在WEB-INF目录下会有一个classes目录,以后项目更新代码再次上传代码的服务器时只需打好包上传classes目录到即可,替换掉原来的classes,这样上传的速度会很快。二.jar包发布现在好多项目都是使用springboot,springboot默认打的是jar包,当然也可以更改为war包,但是打成jar包的话上传会比较慢,因为项目的jar包里还包含了很多项目中依赖的其他jar包,这样就导致项目的jar包很大。为了以后能快

2021-11-12 11:16:41 1605

原创 springboot,springcloud,springcloud alibaba版本对应关系

springboot和springcloud的版本对应关系springboot和springcloud版本对应关系

2021-08-03 14:51:04 358

原创 springboot定时任务配置

springboot定时任务配置配置地址

2021-04-21 15:54:24 175

原创 springboot项目中报错:The valid characters are defined in RFC 7230 and RFC 3986

springboot项目中报如下错误The valid characters are defined in RFC 7230 and RFC 3986解决方法:在springboot的配置文件中做如下的配置即可server: tomcat: relaxed-query-chars: ['|','{','}','[',']'] relaxed-path-chars: ['|','{','}','[',']']...

2020-12-25 09:37:01 1041

原创 springmvc乱码过滤

在web.xml中配置如下即可解决springmvc的乱码过滤问题 **<filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init

2020-09-19 16:26:35 126

转载 Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring

这个讲的很清楚添加链接描述

2020-09-19 15:46:33 172

原创 Druid数据连接池通用配置

DruidDataSource大部分属性都是参考DBCP的,如果你原来就是使用DBCP,迁移是十分方便的。<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc_url}" /> <property name="user

2020-09-18 16:52:53 427

原创 Mybatis给类起别名的两种方式

Mybatis给类起别名有两种方式方式一:直观的给类起别名<typeAliases> <typeAlias type="com.csdn.pojo.User" alias="user"/></typeAliases>这种方式可以直观的看出起的是什么的别名方式二:只要写包名即可,mybatis会自动去扫描包下的所有类,并以类名的全小写给类起别名<typeAliases> <package name="com.y

2020-09-18 16:18:08 1579

原创 Integer a = 100, b = 100; a == b 为true;而Integer c = 1000, d = 1000; c == d为false

Integer a = 100; Integer b = 100; System.out.println(a == b); Integer c = 1000; Integer d = 1000; System.out.println(c == d);运行结果truefalse大家都知道,对于引用类型,比较两个对象引用的是同一个地址,那么==比较后结果为true,如果是不同引用,由于地址值不一样,==比较后结果为f..

2020-09-15 14:47:37 2853

原创 多线程中的join()方法

直接看代码package net.csdn.demo01;public class MyThread extends Thread{ @Override public void run() { for (int i = 1; i <= 10; i++){ System.out.println(Thread.currentThread().getName()+": "+i); } }}package net.

2020-08-22 14:19:41 1463

原创 线程的生命周期

这里有一点需要注意:线程被创建的时候并没有开始执行,调用了start方法后有执行资格,但是依然没有执行权,因为在java中线程的调度是抢占式调度模型,谁的优先级高,谁获取的cpu时间片就会相对多一点,如果优先级一样,cpu会随机选取一个线程执行...

2020-08-21 16:48:53 125

原创 字符串比较出现空指针问题

在进行字符串比较值是否相等时时如果常量和变量比较,最好将常量放在左边,否则可能会出现空指针异常。下面看代码package cn.trho.demo04;public class Demo03 { public static void main(String[] args) { String str = null; System.out.println("abc".equals(str)); }}运行结果falsepackage cn.tfkajs.demo04;pub

2020-08-19 19:40:35 608

原创 对象为null也能调用方法?

一个变量被赋予了null值,那么变量指向的就是一个空指针,空指针其实也是一个对象。但是这个对象没有并没有指向任何一个内存区域,不占任何空间。而new出来的对象会在堆中开辟一个内存空间,里面放了改对象的属性和方法,是可以被使用的。虽然null是个空对象,但是空对象也是对象,所以也可以调用属性和方法。但是有两种情况之分一.首先来看空对象调用非静态方法的情况package cn.fasdu.demo04;public class Demo04 { public static void main(St

2020-08-19 19:39:27 2232 1

原创 HashMap是否会根据键的值排序?

首先看下面代码package cn.tedu.demo04;import java.util.HashMap;import java.util.Set;public class Demo01 { public static void main(String[] args) { HashMap<Integer, String> map = new HashMap<>(); map.put(3, "张三"); map.put(1, "赵六"); m

2020-08-19 16:53:56 977 1

原创 使用jdbc链接数据库(每行代码有解释)

public class Demo05 { public static void main(String[] args) throws ClassNotFoundException { //注册驱动,告诉程序使用哪个数据库驱动jar Class.forName("com.mysql.jdbc.Driver"); //定义连接数据库变量 Connection connection = null; //定义执行sql语句的变量 Statement statement = nu

2020-08-14 08:18:40 185

原创 java中使用字节输入流读取中文数据中文乱码问题解决方案

很多初学者在学到字节输入流时都有一个疑惑,当使用字节输入流(FileInputStream)读取数字字母时会正常读取,而读取中文数据时会出现中文乱码的情况,是不是读取中文数据非得使用字符输入流来读取呢?其实字节输入流一样是可以读取中文数据的。看你使用的是什么开发工具,idea的话是默认使用utf-8编码的,使用eclipse的小伙伴需要手动改成utf-8,具体怎么改这里不介绍了。首先应该明确两点:utf-8编码1个中文占3个字节,gbk编码1个中文占2个字节所以当我们读取中文数据采用的是一次读取一个字

2020-08-08 11:26:23 7530 1

原创 java中try...catch...finally中有return咋办?

首先来看个题目下列有关finally语句块说法正确的是()A.不管catch是否捕获异常,finally语句块都是要被执行的B.在try语句块或catch语句块中执行到System.exit(0)直接退出程序C.finally块中的return语句会覆盖try块中的return返回D.finally 语句块在 catch语句块中的return语句之前执行大家先思考一下,正确答案附在文章后方。有困惑的可以接着看A:finally代码块只要程序进入到了try,不管是否catch是否捕获到异常,它都

2020-08-05 16:04:38 1241

原创 如何理解泛型的上限限定和下限限定

泛型的上限限定:? extends E 代表使用的泛型只能是E的子类或者本身泛型的下限限定:? super E 代表使用的泛型只能是E的父类或者本省先看继承关系Integer extends Number extends ObjectString extengs Object下面请看代码public class Demo01 {public static void main(String[] args) { List<Integer> list1 = new Array

2020-07-31 11:06:41 3888 1

原创 关于泛型通配符理解

在java中用‘?’代表泛型同配符下面介绍它的使用方式泛型通配符不能在创建对象时使用例如:我们一般是在集合中使用泛型,但是如果在闯创建集合的时候使用,在添加数据时会出现编译报错泛型通配符的正确使用方式是只能作为方法的参数使用例如我们创建了多个存放不同数据类型的集合,可以将集合做为参数在一个方法中进行遍历,在方法的参数中此时可以使用泛型通配符’?‘,而不用指定为特定的类型。下面看程序public class Test {public static void main(String[] arg

2020-07-31 10:44:28 208

原创 java中私有方法是否可以被继承?

很多小伙伴都认为父类的私有成员在子类中访问不到,所以误认为父类中的私有成员是不可以被继承的。今天遇到了同样的问题,特意花了点时间研究了一下。下面请看源码首先定义一个父类,父类中提供一个私有属性a和私有方法show(),再提供两个公有的方法分别获取私有变量a和访问私有方法show()。父类public class Fu {private int a;public Fu() { }public Fu(int a) { this.a = a;}private void show ()

2020-07-28 17:43:00 17541 6

原创 java在控制台打印可视化日历

package com.ycxy.demo02;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCa...

2020-03-22 10:12:39 328

空空如也

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

TA关注的人

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