自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 MYSQL指定时区时间转需求时区时间--convert_tz()

最近项目因为业务需要,需要国际时区,因为之前业务没有这么大的范围,随着业务发展,项目逐渐转为国际版,并且需要本地化时间处理,在这个过程中,我们首先想到的是时间戳,利用时间戳的全球统一性进行国际化处理,但是针对系统的表改动较大,前期采用了此方法,越到后期发现时间戳维护没有那么简单,并且可读性也大大折扣,后面经过一段时间,我们找寻到了更好的方法,那就是使用数据自带的方法,将时间转为我们需要的时区的时间,具体使用函数:CONVERT_TZ(dt,from_tz,to_tz)如果参数无效该函数返回NULL。

2022-12-20 16:02:59 737 1

原创 Springboot连接 Druid数据源报错 Failed to obtain JDBC Connection: dbType not support : null, url null

Springboot连接 Druid数据源报错 Failed to obtain JDBC Connection: dbType not support : null, url null

2022-11-29 18:43:00 2426

原创 Stream流分组,时间分组-Collectors.groupingBy()

java8新特性之分组

2022-11-09 19:58:34 3752

原创 Linux服务器获取公网IP,redis客户端连接云服务器redis失败

记录一下工作中遇到的新常识问题前提场景:云服务器,内部自己安装的redis服务,需要连接云服务器的redis服务(仅给到内部的redis地址(127.0.0.1的地址));错误操作:使用-ifconfig-命令获取服务器地址(此为内网IP),使用该结果地址进行连接,无法连接,尝试了以下操作: 1.查看redis服务是否启动:ps -ef|grep redis;服务启用,若未启用:redis -server启动服务 2.查看端口是否开放:查看防火墙是否放行redis服务端口...

2022-05-21 10:25:54 512

原创 facebook登录集成到自研系统流程

自研系统集成facebook登录流程和方法,国外平台对接参考

2022-04-22 12:05:30 1814

原创 记录工作中一次站内信设计需求

工作中遇到了这个需求,原来对这个需求不是很理解,后面经过了解和开发,对这个功能有了一些心得,记录一下,分享给需要参考的伙伴们,经验有限,仅针对自己遇到的需求做总结:技术栈:java 、spring boot 、mybatis、MySQL需求:后台发送站内信,用户能看到发送的站内信,站内信需能看到7天以内的记录解析:1.什么是站内信站内信本次需求的含义就是后台发送信息,用户能在指定时间内看到这条消息,并且这条消息的有效期是7天;(仅针对本需求)2.站内信对于用户是什么站内信对于用户就是一条通

2022-04-21 22:08:27 782

原创 XML请求报 响应码415

工作感悟:近期因为与第三方服务商对接接口,对方要求传输xml格式的数据过去,现在使用比较多的格式以JSON为主,而对于xml因为用的不是很多,在项目中也是遇到传参格式问题,请求报错415,无法正确接收到xml格式参数,后经过资料查阅,直接添加一个xml依赖即可<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId&gt...

2021-04-17 10:17:54 379

原创 spring boot读取配置文件中的复杂结构

spring boot读取配置文件中的map或list获取配置文件信息最常用的就是使用,@Value("${name}")来读取springboot配置文件中的配置信息,比如:application.properties内容server.port=3读取配置信息: @Value("${server.port}") private Integer port;在开发中总会遇到一个个新的问题,如果我要把配置文件中的一系列数据一下子读出来到同一个数据结构中怎么办呢?解决方法如下⬇.

2021-03-01 21:40:10 368

原创 kibana No living connections 服务连接地址报错

配置es集群kibana连接不上,查看日志发现链接地址如下去到容器查看配置文件,如下:相关命令: 进入容器:docker exec -it kibana bash 查看文件信息:cat config/kibana.yml,如下修改配置:vi config/kibana.ymlserver.host根据自己实际服务配置的IP给,我的环境为保存并退出容器,重启容器即可。...

2020-11-20 17:46:11 1329

原创 linux 使用yum安装es一直重启,无法正常启动,Could not create the Java Virtual Machine.

问题描述:第一次使用docker安装es,容器无法启动,一直restarting;问题截图查看命令:docker log elasticsearch错误日志:原因1:文件夹权限不足,执行如下命令原因2:内存不足,无法启动查看内存: free -h内存显示正常,但是实际运行还需要很大内存,可能运行不起来,但是显示容器是up,就是访问不到,看运气,运气好可能一次????添加内存,虚拟机可以配置交换空间重启虚拟机,就可以成功了...

2020-11-19 11:55:51 1654

原创 编写jsp脚本代码,浏览器无论无何不显示内容 jsp

问题产生原由,因为在使用spring框架进行配置文件时使用的是xml文件可以使用自闭合的表达</>,习惯性在script中也采用这样的方式,然而在java script中是不支持自闭合的,所以既不会提示错误,也不会给你具体的反馈!! 问题截图问题描述:浏览器不会显示任何内容,打卡浏览器检查,出现如下内容。解决方法,将jsp文件中的script文件的自结束标记改成成对的<script></script>即可完美解决。...

2020-10-23 15:44:52 484

原创 初次git提交代码报错:Push to origin/master was rejected

出现错误的缘由,因为你的git远程仓库不为空,在你准备好一切后,正准备提交时,哦豁,你发现不能push到远程仓库,提示Push to origin/master was rejected,也就是提交没有成功了。 因为第一提交到远程库时库里有其他文件存在,对比commit的数据不一致,所以不给提交到远程仓库,并且你再返回执行pull,发现也执行失败,此时,你要做的很简单,那就是找到文件根目录,把.git文件给删除,然后新建一个空的远程库,重新执行一般流程即可!!...

2020-10-13 10:23:11 494

原创 maven 报错Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2

新手走过各种各样的坑,idea中maven基础配置中总是出现各种各样的错误,在网上找了一些资料,发现并没有找到切入主题的解决方法。走过的坑总是记忆尤新。idea第一次配置maven,提示如下所示错误仔细检查了一个maven的配置文件,发现settings.xml文件并没有错误,如下所示然后检查了一个idea配置,发现也没问题我将错误信息复制到网上,发现没有针对这个错误的说明,避免萌新入坑,将解决办法给分享一下,这是一个由于权限问题而产生的,因为我的d盘是需要管理员权限,而idea

2020-10-12 20:16:11 6521 12

原创 servlet

Servlet:Server Applet的简称,是服务器端的程序(代码、功能实现),可交互式的处理客户端发送到服务端的请求,并完成操作响应。动态网页技术,JavaWeb程序开发的基础,JavaEE规范(一套接口)的一个组成部分。servlet作用 接收客户端请求,完成操作。 动态生成网页(页面数据可变)。 将包含操作结果的动态网页响应给客户端。 servlet开发步骤1.搭建开发环境 将servlet相关的jar包配置到classpath中。...

2020-10-07 22:51:59 159

原创 JDBC基础回顾

当我们在实际开发中,当用户数据发生改变,我们不可能在通过客户端操作执行SQL语句,因为操作量过大,无法保证效率和正确性,因此jdbc产生了,可以使用java语言链接数据库完成CRUD操作。准备:添加数据库驱动,准备相应的数据库连接池的jar包连接步骤:1.注册驱动 Class.forName("com.mysql.jdbc.Driver");//加载驱动2.连接数据库 Connection conn = DriverManager.getConnection("jdbc:mysq...

2020-10-07 20:57:25 104

原创 css知识汇总与回顾

CSS :全称:Cascading Style Sheets 层叠样式表,定义如何显示HTML元素,多个样式可以层层覆盖叠加,如果不同的css样式对同一html标签进行修饰,样式有冲突的 应用优先级高的,不冲突的共同作用基础语法:选择器{属性:值;属性:值….. }注意事项: 请使用花括号来包围声明 如果值为若干单词,则要给值加引号 多个声明之间使用分号;分开 css对大小不敏感,如果涉及到与html文档一起使用时,class与id名称对大小写敏感 css导入

2020-10-06 20:22:23 96

原创 HTML基础知识总结

HTML:(超文本标记语言)Hyper Text Markup Language超文本:页面内可以包含图片、链接,甚至音乐。程序等非文字元素标记:标签,不同的标签实现不同的功能语言:人与计算机的交互工具html基本标签结构标签<html>:根标签 <head>:网页头标签 <title></title>:页面标题 </head> <body><...

2020-10-06 10:36:22 114

原创 mysql之事务_视图

事务概念事务是一个原子操作。是一个最小执行单元。可以由一个或多个SQL语句组成,在同一个事务当中,所有的SQL语句都成功执行时,整个事务成功,有一个SQL语句执行失败,整个事务都执行失败。特点ACID:- [Atomicity(原子性)]()    表示一个事务内的所有操作是一个整体,要么全部成功,要么全部失败- [Consistency(一致性)]()    表示一个事务内有一个操作失败时,所有的更改过的数据都必须回滚到修改前状态- [Isolation(隔离性)]()

2020-09-05 17:53:58 140

原创 MySQL数据库三大类型和高级查询

使用内联分组需要确定的条件,否则会产生笛卡尔乘积(1*N)。分组过滤语法:SELECT 列名 FROM 表名 WHERE 条件 group by 分租列 having 过滤规则;注意:having对分组后的数据进行过滤分组查询中的筛选条件分为两类分组前筛选 原始表 group by 子句的前面 where分组后筛选 分组后的结果集 group by 子句的后面 having①分组函数做条件肯定是放在having子句中...

2020-09-03 21:23:04 458

原创 MySQL常见函数

常见函数将一组逻辑语句封装在方法体中,对外暴露方法名:好处:1.隐藏了实现细节 2. 提高代码的重用性调用:select 函数名(实参列表) 【from表】特点:1. 该方法函数名 2. 函数的功能分类:单行函数:如concat , length 、ifnull‘等 分组函数:做统计使用,又称为统计函数,聚合函数,组函数字符函数1. length 获取参数值的字节个数Select length(’张三丰hahaha’); --152. conc...

2020-09-02 20:50:02 188

原创 MySQL之DML

DMLMySQL语句:主要功能:增删改查(CRUD)(creat,read,update,delete)创建表:create table `表名`(`字段名1` 类型 ,`字段名2` 类型 not null default ‘’, 。。。。 primary key(`字段名`);添加:语法:inset into 表名 values(‘添加值‘); Inset into 表名(需要添加的字段)value (‘添加值‘);修改:update...

2020-09-01 21:35:46 84

原创 java学习之Lambda表达式

Lambda表达式Lambda是一个匿名函数:基本语法:<函数式接口><变量名>=(参数1,参数2…)->{//方法体 } };Lambda引入了新的操作符:->(箭头操作符),->将表达式分成两部分,左侧:(参数1,参数2…) 表示参数列表右侧:{}内部式方法体注意事项:形参列表得到数据类型会自动推断。如果形参列表为空,只需保留()。如果形参只有一个,()可以省略,只需要参数的名称即可。如果执行语句只有一句,且无返回值,{}

2020-08-31 19:41:14 138

原创 java学习之反射

反射什么是类对象类的对象:new出来的对象,也称为实例对象。类对象:类加载的产物,封装了一个类的所有信息(类名,父类,接口。属性,方法,构造方法)获取类对象通过类的对象,获取类对象Student s = new Student();Class c = s.getClass();通过类名获取类对象Class c = 类名.class;通过·静态方法获取类对象Class c = Class.forName(“包名.类名“);常用方法:Public String

2020-08-27 20:04:50 176

原创 java学习之网络编程

网络编程让计算机与计算机之间建立连接进行通信。网络模型Osi:开方式系统互联,7层协议物理层 :为物理设备之间的数据通信提供传输信号和物理介质(双绞线,光导纤维)数据链路层:通过协议(差错控制)或规来控制数据传输的正确网络层:定义能够标识所有网络节点的逻辑地址。传输层:负责是否选择差错恢复协议,数据流重用。错误顺序重排会话层:负责使用应用建立和维持会话,是通信在失效时继续恢复通信。表示层:负责定义转换数据格式及加密,允许选择以二进制或ASCII格式传输应用层:负责文件

2020-08-24 21:10:30 119

原创 java学习之单元测试

Java的Junit单元测试1.选中当前工程-右键选择:build path -> add libraries – Junit3 -> 下一步,如图2. 创建java类,进行单元测试 此时的java类要求:①此类是public的②此类提供公共的无参的构造器3. 此类中声明单元方法:方法的权限是public,没有返回值,没有形参4. 此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Ttst;5. 声明好单元测试方..

2020-08-21 21:55:38 239

原创 java学习之IO框架

IO框架流内存与存储设备之间传输数据的通道流的分类按方向:输入流(将<存储设备>中的内容读入到<内存>中),输出流与输入流相反按单位:字节流:以字节为单位,可以读取所有数据;字符流:以字符为单位,只能读写文本数据。按功能:节点流:具有实际传输数据的读写功能,过滤流:在节点流的基础之上的增强流。字节流InputStream:字节输入流,read(),read(byte[ ] b ), read(byte[ ] b,int off ,int lenOu

2020-08-20 20:58:33 98

原创 java学习之高级线程

线程线程的状态常见方法休眠:public static void sleep(long millis)当前线程休眠时间放弃:public static void yield()当前线程主动放弃时间片,回到就绪状态,竞争下一次时间片结合:public final void join()允许其他线程加入加入当前线程,阻塞正在运行的线程线程的状态(等待)线程安全线程不安全当线程并发访问临界资源时,如果被破坏原子造作,可能会造成数据不一致。临界资源:共享资

2020-08-19 20:48:04 185

原创 java学习之线程

线程进程:系统进行资源分配和调用独立单元。每个进程都有自己系统资源的内存空间线程:又称轻量级进程,同时也是cup的基本调度单位。进程中一条执行线路,一个线程执行一个任务称为单线程,由多个线程组成,彼此间完成不同的工作,交替执行称为多线程进程与线程的关系:进程是系统进行资源分配和调度的独立单元,线程是cup的基本调度单位;一个进程中可以有1到多个线程。一个新城只属于一个进程中多个线程中多个线程之间是互抢资源竞争关系。线程的组成:cup时间片:操作系统(OS)会为每个线程分配时间运行数据:对

2020-08-14 20:23:39 99

原创 java学习set/get接口-异常

Set接口与实现类特点:无序无下标,元素不可重复。全部继承自collection中的方法使用forrach循环遍历:For(数据类型 局部变量 :集合名){// 循环内部的局部变量,代表当次循环从集合中取出的对象}HashSet:基于HashCode实现元素不重复。当存入元素的哈希码相同时,会调用== 或 equals进行确认,结果为true,拒绝后者存入。LinkedHashSet:链表实现的HashSet,按照链表进行存储,即可保留元素的插入顺序。TreeSet:基于

2020-08-13 18:42:21 322

原创 java学习之集合

集合框架对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。和数组的区别:数组长度固定,集合长度不固定,数组可以存储基本数据类型和引用类型,集合只能存储引用类型Collection体系集合特点:代表一组任意类型的对象,无序,无下标常用方法添加一个Add()、添加一组addAll()、数组大小size()、是否包含contains()、判空isEmpty()、对象比较equals()、移除对象remove()、清空clear()等List接口与实现类..

2020-08-12 22:46:17 59

原创 java学习之内部类

常用类内部类在java类里面再创建一个完整的类,内部类包括成员、静态、局部、匿名内部类。命名,中间加一个$符特点:编译之后可生成独立的字节码文件 内部类可一直接访问类的实例,,不破坏封装 可为外部类提供必要的内部功能组件在类的内部定义,与实例变量,实例方法同级别的类外部类的一个实例部分,创建内部内对象时,必须依赖外部对象Outer out = new Outer();Outer.Inner in = oout.new Lnner();内部类与外部类存在重名属性时,.

2020-08-11 20:37:52 106

原创 java学习之三大修饰符-接口

三大修饰符abstract关键字:抽象类,abstract修饰的类,此类不能new对象,但是可以声明引用。主要作用强制使用多态。Abstract修饰的函数,子类必须重写其方法,否则该子类也是抽象类,换言之抽象方法必须要能被子类重写。抽象类中不一定有抽象方法,但有抽象方法的一定是抽象类static关键字:静态属性:整个类共享内存空间,修改一个全部改变。静态代码块:static{ }特点:静态方法允许直接访问静态成员,静态方法不能直接访问非静态成员,静态方法中不允许使用th.

2020-08-10 22:20:55 195

原创 java基础面试题分享2

1. 系统什么情况下会为类提供构造方法,提供什么样的构造方法?a) 如果类中没有构造方法,系统会提供一个默认的构造方法,默认的构造方法是无参的。2. 为什么可以直接用类名来访问类成员变量和类方法?a) 因为当类被加载到虚拟机的时候,类成员变量就被分配内存,类方法被分配入口地址,所以不用创建对象,可以直接通过类名调用。3. 类变量有什么特点?a) 一个类的所有对象共享同一个类变量。4. 简述java的访问权限。a) public:公有的,任何类都可以访问。b) prot

2020-08-09 21:47:28 124

原创 Java基础面试题分享

1. JDK是什么?JRE是什么?JDK:java开发工具包JRE:java运行环境2. 什么是Java的平台无关性java源码文件被编译成字节码形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件,也就是一处编写,处处运行。3.什么样的标识符是合法的?a)由字母,数字,_和$组成。长度不限,其中字母可以是大写或小写的英文字母,数字为0-9.b)标识符的第一个字符不能是数字c)标识符区分大小写d)标识符不能包含空格4. && 和.

2020-08-08 23:26:13 71

原创 java学习之数组的增删改查

回味过去一周,系统学习了数组和面向对象和三大特性,在数组阶段,主要学习了数组的增删改查和随机数的生成,下面我详细对这几个方面总结一遍:增:其实就是对数组值的添加,添加的方式可以分为在数组中某一个位置插入,也可以在数组的末尾添加,具体实现方法:// 定义一个数组,长度可设为定长或变长//定长数组在插入值断点时候可以在数组下标对应位置直接插入,而变长数组的插入值需要对数组做判断。for(int i = 0 ; i < array.length ; i ++ ){ // 遍历数组..

2020-08-07 23:26:04 3020 2

原创 java学习之三大特性

三大特性封装尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限使用访问修饰符private来达到隐藏的目的。规范使用Get/set函数时不要采取任何修改继承类与类之间的特征与行为的一种赠与或获得。两个类之间的继承关系,必须满足”is a”的关系。(例:cat is an animal)父类:功能越精细,重合点越多,越接近直接父类,功能越粗略,重合点越少,越接近Object类(万物皆对象概念)父类抽取:可根据程序许使用到的多个具体类,进行共性抽取,进而定义父类快捷键:

2020-08-06 20:51:28 102

原创 java学习面向对象

学习唯有持之以恒,方得终果。面向对象面向对象即万物皆对象,任何对象,一定具有自己的特征和行为。类程序中的模板的也可称为类,通过程序中的模板创造出来的实体,即为程序中的对象,称为对象。类的抽取:在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分static关键字修饰的不能使用this和super类的定义属性:通过变量表示,又称实例变量。语法:数据类型 属性名;位置:类的内部,方法的外部。方法:通过方法表示,又称实例方法。语法: public.

2020-08-05 22:51:20 119

原创 java学习之数组

数组的增删改查增添加数组的值,首先需要对数组的状态进行判断,如果数组已经满了,则需要对数组进行扩容。推荐动态扩容方式。添加数值的方式有多种,有末尾添加,有固定位置插入值,插入值之后的值一次后移一位,数组长度加一,本例使用动态方式实现对数组的添加和动态扩容方式。String[] num = new String[0];Scanner scanner = new Scanner(System.in); num = Arrays.copyOf(num, num.length + ...

2020-08-04 21:57:03 81

原创 java学习数组初始

数组数组是采用一组固定的空间,来存储一组类型相同的数据。数组定义的几种方式:1Int [ ] aArray ;aArray = new int[// 数组大小 ];2Int [ ] aArray01 = new int[//数组大小 ];3Int [ ] aArray02 = new int[ ] {value1,value02,value03 };4Int [ ] aArray03 = { value1,value2,value3};Demo01给定一个

2020-08-03 20:45:16 70

原创 java学习之小小练习

// 人物的创建package zz.zhangzh;public class Ren{ String name; int age; String sex; public Ren(String nane,int age, String sex){ super(); this.name = nane; this.age = age; this.sex = sex; } @Overri...

2020-08-02 23:40:39 112

duotai.zip源码文件

java的三大特性封装--继承--多态,每一步都是很关键的,其中实现多态又时很有用的,使用多态能有效降低程序的耦合度,基于我对多态理解写的一个简单的小案例,合适初学者或小白使用,里面都注释了代码含义,仅自己学习理解,个人理解看法不同,仅供参考!

2020-08-06

基于控制台实现的学员后台管理系统

本代码完全实现了基于控制台实现对数组的增删改查,登陆验证,有兴趣的小伙伴可以下载学习,代码符合阿里编码规范

2020-08-04

MAVEN免安装包文件

利用maven实现对java项目打包和管理,maven如何使用可参考https://blog.csdn.net/weixin_42704812/article/details/107643473

2020-07-29

空空如也

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

TA关注的人

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