- 博客(192)
- 收藏
- 关注
原创 【Java】源码 String 的特点是什么?它有哪些重要的方法?
String 的特点是什么?它有哪些重要的方法?文章目录String 的特点是什么?它有哪些重要的方法?1. 多构造方法2. equals() 比较两个字符串是否相等3. compareTo() 比较两个字符串4. 其他重要方法记录 王磊老师的 Java 源码剖析 34 讲源码解析以主流的 JDK 版本 1.8 来说,String 内部实际存储结构为 char 数组,源码如下:public final class String implements java.io.Serializab
2020-09-03 20:42:47 544
原创 【SpringCloud】微服务SpringCloud概述
服务治理为何选择SpringCloud文章目录服务治理为何选择SpringCloud什么是单体应用架构单体应用架构存在的问题什么是微服务微服务的优点微服务的缺点SpringCloud VS Dubbo如何才能快速掌握SpringCloud综合案例架构图简单记录 尹吉欢老师的Spring Cloud 微服务核心技术与实战什么是单体应用架构什么是单体应用架构所有的功能全部堆积在一起单体应用架构存在的问题单体应用架构存在的问题开发体验差维护成本高部署效率低扩展能力差
2020-08-22 00:05:34 780 1
原创 【Dubbo】服务注册中心Zookeeper 安装
服务注册中心Zookeeper文章目录服务注册中心ZookeeperZookeeper介绍安装Zookeeper启动、停止ZookeeperZookeeper介绍服务注册中心ZookeeperDubbo架构图,可以看到 Provider 的地址以及配置信息是通过注册中心传递给 Consumer 的,Registry(服务注册中心)在其中起着至关重要的作用。生产环境中, 基本都是用 ZooKeeper 作为注册中心 。Zookeeper介绍Zookeeper 是 Apache Hadoop 的子
2020-08-01 13:28:34 582
原创 【SpringBoot】Spring Boot项目整合FreeMarker模板
Spring Boot项目整合FreeMarker模板记录freemarkerApache FreeMarker™ is a *template engine*: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. Templates are written in the
2020-07-25 12:53:38 1350 1
原创 【Docker】Docker 镜像、容器、进程相关的命令
Docker命令文章目录Docker命令Docker的启动与停止Docker 镜像相关命令查看镜像搜索镜像拉取镜像删除镜像Docker 容器相关命令查看容器创建并启动容器停止与启动容器目录挂载查看容器IP地址Docker命令Docker的启动与停止 进程相关命令镜像相关命令容器相关命令Docker的启动与停止进程相关命令启动docker服务 start停止docker服务 stop重启docker服务 restart查看docker服务状态 status开机启动docker服
2020-07-18 15:28:47 684
原创 【RabbitMQ】RabbitMQ入门 使用简单模式完成消息传递
RabbitMQ入门 使用简单模式完成消息传递文章目录RabbitMQ入门 使用简单模式完成消息传递搭建示例工程创建工程添加依赖编写生产者编写消费者小结搭建示例工程入门程序需求:使用简单模式完成消息传递步骤:①创建工程(生产者、消费者)②分别添加依赖③编写生产者发送消息④编写消费者接收消息创建工程创建空项目 rabbitmq创建modulesrabbitmq-consumerrabbitmq-producer添加依赖往rabbitmq-consumner、rabbitmq-
2020-07-01 01:18:44 765
原创 【Nodejs】包资源管理器NPM (Node Package Manager) node包管理和分发工具
包资源管理器NPM文章目录包资源管理器NPM什么是NPMNPM命令本地安 装全局安装批量下载切换NPM镜像运行工程说明编译工程说明什么是NPMnpm全称Node Package Manager,是node包管理和分发工具。可以理解为Maven跟Maven差不多的功能管理依赖。通过npm 可以很方便地下载js库,管理前端工程。现在的node.js已经集成了npm工具,在命令提示符输入 npm -v 可查看当前npm版本C:\Users\x1c>npm -v6.5.0C:\Users\x
2020-06-30 00:18:01 928
原创 【恋上数据结构与算法】复杂度、斐波那契数列、LeetCode
复杂度文章目录复杂度什么是算法如何评判一个算法的好坏大O表示法 Big O对数阶的细节常见的复杂度Leetcode斐波那契数列复杂度分析斐波那契数列-递归斐波那契数列-循环fib函数的时间复杂度分析多个数据规模的情况算法的优化方向更多知识记录小码哥的恋上数据结构与算法(第一季) - 复杂度什么是算法什么是算法算法是用于解决特定问题的一系列的执行步骤eg:解决两数相加的问题// 计算a和b的和public static int plue(int a, int b){ return a +
2020-06-18 00:50:52 378
原创 【ES】ElasticSearch下载、安装、启动、安装ES的图形化界面插件
ElasticSearch安装与启动文章目录ElasticSearch安装与启动下载ES压缩包安装ES服务启动ES服务安装ES的图形化界面插件资料下载ES压缩包ElasticSearch分为Linux和Window版本,我是简单的使用下ElasticSearch的Java客户端的学习,我使用的是安装较为简便的Window版本,项目上线后,可以由公司的运维人员会安装Linux版的ES供我们连接使用。ElasticSearch的官方地址: https://www.elastic.co/products/
2020-06-16 22:56:54 2744 3
原创 ORM、Hibernate与JPA的简单概述
ORM思想和Hibernate以及jpa的概述文章目录ORM思想和Hibernate以及jpa的概述1、ORM概述1.1 为什么使用ORM1.2 常见ORM框架2、hibernate与JPA的概述2.1 hibernate概述2.2 JPA概述2.3 JPA的优势2.4 JPA与hibernate的关系1、ORM概述ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到
2020-06-16 12:58:44 657
原创 【SpringBoot】SpringBoot整合Redis 使用Redis
SpringBoot整合Redis文章目录SpringBoot整合Redis添加redis的起步依赖配置redis的连接信息注入RedisTemplate测试redis操作使用Redis数据库Redis简介Redis(官网地址:https://redis.io/)是一个非关系型的高性能缓存数据库,使用ANSI C语言开发,是一种Key-Value模式的数据库,以Key-Value的形式存储数据,支持多种value类型,如string(字符串)、list(链表)、set(集合)、zset(sorted
2020-06-16 06:58:09 740
原创 【SpringBoot】SpringBoot整合Spring Data JPA 使用JPA操作MySQL数据库
SpringBoot整合Spring Data JPA文章目录SpringBoot整合Spring Data JPA添加Spring Data JPA的起步依赖添加数据库驱动依赖在application.properties中配置数据库和jpa的相关属性创建实体配置实体编写UserRepository编写测试类控制台打印信息参考资料使用JPA操作数据库JPA是Java Persistence API的简称,是JCP组织发布的Java EE标准之一。JPA是一种面向对象的查询语言,定义了独特的JPQL(
2020-06-16 01:58:44 4175 2
原创 【SpringBoot】SpringBoot整合MyBatis开发框架
SpringBoot整合Mybatis文章目录SpringBoot整合Mybatis1、添加Mybatis的起步依赖2、添加数据库驱动坐标3、添加数据库连接信息4、创建user表5、创建实体Bean6、编写Mapper7、配置Mapper映射文件8、在application.properties中添加mybatis的信息9、编写测试Controller10、测试SpringBoot整合MyBatis开发框架Mybatis简介在MyBatis官网(官网地址:http://www.mybatis.org
2020-06-15 23:48:13 1640
原创 【SpringBoot】SpringBoot工程热部署 devtools 在修改代码后不重启就能生效
我们在开发中需要不断编写、反复的修改代码、页面、配置等资源,每次修改完都是需要重启启动项目什么的才能生效,这样每次启动都超级麻烦,浪费大把时间,影响我们编码效率,打断了我们思考,怎么办呢?我们可以在修改代码后不重启就能使得项目生效吗?可以的,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署。pom.xml添加这个依赖配置<!--热部署配置--><dependency> <groupId>org.springframework.bo
2020-06-15 19:11:36 906
原创 【Java】BigDecimal
public class BigDecimalUtil { private BigDecimalUtil(){ } public static BigDecimal add(double v1,double v2){ BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); r
2020-06-10 18:57:23 230
原创 【Spring】Spring JdbcTemplate基本使用
JdbcTemplate1.Spring JdbcTemplate基本使用文章目录1.Spring JdbcTemplate基本使用1.1 JdbcTemplate概述1.2 JdbcTemplate开发步骤1.3 JdbcTemplate快速入门1.4 Spring产生JdbcTemplate对象1.5 JdbcTemplate的常用操作1.6 知识要点记录1.1 JdbcTemplate概述它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们
2020-06-09 13:56:38 442
原创 【Spring】Spring配置数据源、Spring的注解开发、Spring整合Junit
SpringIoC和DI注解开发文章目录SpringIoC和DI注解开发1.Spring配置数据源1.1 数据源(连接池)的作用1.2 数据源的手动创建1.3 Spring配置数据源1.4 抽取jdbc配置文件1.5 知识要点2. Spring注解开发2.1 Spring原始注解2.2 Spring新注解3. Spring整合Junit3.1 原始Junit测试Spring的问题3.2 上述问题解决思路3.3 Spring集成Junit步骤3.4 Spring集成Junit代码实现4、记录1.Sprin
2020-06-08 19:45:26 471
原创 【Spring】Spring快速入门一波 概述
Spring文章目录Spring1. spring概述1.1 Spring是什么(理解)1.2 Spring发展历程 (了解)1.3 Spring的优势(理解)1.4 Spring的体系结构(了解)2. spring快速入门2.1 Spring程序开发步骤2.2 导入Spring开发的基本包坐标2.3 编写Dao接口和实现类2.4 创建Spring核心配置文件2.5 在Spring配置文件中配置UserDaoImpl2.6 使用Spring的API获得Bean实例3. Spring配置文件3.1 Bean
2020-06-08 18:42:21 971
原创 【SpringBoot】文件上传(基础上传、上传文件限制、上传多个文件)
文件上传文件上传是Web开发非常重要的操作结合SpringBoot实现文件上传操作1、基础上传SpringBoot采用FileUpload组件实现上传处理,在控制器中可以使用MultipartFile类进行接收。FileUpload上传 MultipartFile接收1、建立上传控制器UploadController,利用MultipartFile将上传文件保存在本地磁盘。一个上传文件的接口,访问接口选择把要上传的文件利用MultipartFile上传保存在本地磁盘中。@Controlle
2020-06-07 15:30:47 21604
原创 【SpringBoot】 全局异常处理 (基于页面错误信息显示、基于Restful错误信息提示)
全局异常处理文章目录全局异常处理1、建立一个全局异常处理,可以处理所有的Exception异常。2、建立个error.html页面,进行错误信息显示。3、建立一个控制器,来产生一个异常信息,观察全局异常处理是否生效。4、基于Restful错误信息提示。 返回一波JSON格式的5、参考资料全局异常处理指的是针对程序中产生的Exception进行的处理。产生了异常之后,可以统一跳转到一个页面进行错误提示,也可以通过Restful形式返回错误信息。全局错误指的是对http状态进行的错误跳转处理。全局异常指
2020-06-07 14:41:05 1170
原创 【SpringBoot】 配置错误信息提示页(404,500)
配置错误信息提示页在Web项目开发过程中,错误信息提示页是一个非常重要的组成部分。程序项目很难保证不出现类似于404或500的错误问题,直接让用户看到满是异常信息的页面是不好的非常影响用户体验的,需要个信息提示错误页。信息提示错误页一般都属于静态页面,在src/main/view/static目录下创建个error-404.html<!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head&g
2020-06-07 12:14:21 654
原创 【Java】字符串转换日期
str->Date //str->Date public static Date strToDate(String dateTimeStr,String formatStr){ DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(formatStr);// System.out.println(dateTimeFormatter);//org.joda.time.format.D
2020-06-05 14:21:20 372
原创 【Redis】redis命令操作 (数据类型 字符串、哈希、列表、集合、有序集合)
3. 命令操作文章目录3. 命令操作1.redis的数据结构:2.字符串类型 string3.哈希类型 hash4.列表类型 list5. 集合类型 set6. 有序集合类型 sortedset7.通用命令操作 命令操作 Java代码操作Redis 命令用于在 redis 服务上执行操作。Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。1.redis的数据结构:redis存储的是:key
2020-06-05 01:22:01 759
原创 【Redis】1、redis概念
Redis文章目录Redis1.Redis概念1.1.什么是NOSQL1.1.1. NOSQL和关系型数据库比较1.1.2. 非关系型数据库的优势:1.1.3. 关系型数据库的优势:1.1.4. 总结1.2. 主流的NOSQL产品1.3 什么是Redis1.3.1 redis的应用场景1.Redis概念redis是一款高性能的NoSQL系列的非关系型数据库高性能 NoSQL 非关系型数据库关系型数据库:MySQL、Oracle、SQL Server数据之间有关联关系数据存储在磁盘的文件上
2020-06-04 23:31:47 494
原创 【Java】StringBuilder类
StringBuilder类文章目录StringBuilder类StringBuilder类概述StringBuilder类、StringBuffer、String类的区别StringBuilder类的构造方法StringBuilder类添加和反转方法StringBuilder和String相互转换字符串拼接升级版案例案例需求代码实现字符串反转升级版案例案例需求代码实现帮助文档查看StringBuilder常用方法StringBuilder类概述 StringBuilder 是一个可变的字符串类,这
2020-06-02 17:44:57 440
原创 【MySQL】ERROR 1366 (HY000) Incorrect string value xxx... for column xxx at row 1
命令行客户端的字符集问题插入带中文的数据时报错mysql> insert into t_stu values(1,'法外狂徒张三','男');ERROR 1366 (HY000): Incorrect string value: '\xA4\x96\xE7\x8B\x82\xE5...' for column 'sname' at row 1原因应该时服务器端和客户端字符不一致查看所有字符集:SHOW VARIABLES LIKE ‘character_set_%’;show varia
2020-05-30 15:25:47 567
原创 【Java】JDBC概述、使用步骤
JDBC概述文章目录JDBC概述1、JDBC概述2、JDBC使用步骤示例代码1:增、删、改示例代码2:查询3、小结1、JDBC概述JDBC:Java Database Connectivity Java数据库连接JDBC API它是代表一组独立于任何数据库管理系统(DBMS)的API,声明在java.sql与javax.sql包中,是SUN(现在Oracle)提供的一组接口规范。由各个数据库厂商来提供实现类,这些实现类的集合构成了数据库驱动jar。JDBC通常指的是SUN为各大数据库厂商Ja
2020-05-29 19:56:19 757
原创 2、点评搜索服务&推荐系统 -用户模块 - 实现用户的登录注册登出服务
一、用户服务搭建用户业务模型后端服务:用户注册,由于手机号的唯一性,最靠谱的就是使用数据库的唯一索引保证,同时catch duplicatedkey异常,抛出有意义的手机号已注册异常用户注册,使用密码加密的方式以秘文方式入库,保证用户信息的安全性用户登录,通过无状态的http session机制,通过cookie传递sessionId信息并保存登录凭证实现用户的登录注册登出服务点评...
2020-05-29 17:53:19 739
原创 1、点评搜索服务&推荐系统项目概述
ElasticSearch7+Spark 构建搜索服务&推荐系统文章目录ElasticSearch7+Spark 构建搜索服务&推荐系统项目概述项目设计业务需求技术分解&模块设计小结整理总结一下 ElasticSearch7+Spark 构建高相关性搜索服务&千人千面推荐系统的笔记完成一个点评搜索推荐项目 SpringBoot、ElasticSearch、Sp...
2020-05-29 17:52:15 1944 4
原创 【数据库】事务、ACID、数据库的隔离级别、脏读、不可重复、幻读
事务的思想:很多复杂的事物要分步进行(复杂的东西经常要拆分),但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么所有执行失败。数据库事务:数据库事务(Database Transaction)是指将一系列数据库操作当作一个逻辑处理单元的操作,**这个单元中的数据库操作要么完全执行,要么完全不执行。**通过将一组相关操作组合为一个逻辑处理单元,可以简化 错误恢复,并使应用程序更加可靠。一个逻辑处理单元要成为事务,必须满足ACID属性。(原
2020-05-29 16:14:15 204
原创 【Java】异常Exception & 线程 - 练习题
异常文章目录异常练习一:异常的体系练习二:throw与throws的区别练习三:异常的处理方式练习四:常见异常,及产生原因练习五:看代码,分析结果1、异常系列的超父类:java.lang.Throwable(1)只有它或它子类的对象,才能被JVM或throw语句“抛”出(2)也只有它或它子类的对象,才能被catch“捕获”2、Throwable分为两大派别(1)Error:严重的错误,需要停下来重新设计、升级解决这个问题(2)Exception: 一般的异常,可以通过判断、检验进行避免,或者使
2020-05-29 00:38:53 1030
原创 【Java】线程&同步 - 练习面试题
线程&同步 - 练习面试题文章目录线程&同步 - 练习面试题线程概念进程和线程的区别?多线程和单线程有什么区别?为什么要使用多线程?什么是线程安全?为何要使用线程同步?如何确保线程安全?线程安全的级别?为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?使用多线程可能带来什么问题?实现Runnable接口和Callable接口的区别?创建线程有哪些方式?练习一:多线程开启练习二:创建多线程练习三:多线程练习练习四:实现Runnable接
2020-05-29 00:03:28 389
原创 【Java】Collection集合 -练习题目
Collection集合习题文章目录Collection集合习题练习一:集合框架概念问:为何Collection不从Cloneable和Serializable接口继承?问:Collections类是什么?问:与Java集合框架相关的有哪些最好的实践?问:Java集合框架是什么?说出一些集合框架的优点?问:集合框架中的泛型有什么优点?练习二:Collection集合统计元素出现次数练习三:Collection集合数组转集合练习四:Collection集合转数组练习五:Collection集合contain
2020-05-28 21:30:35 1160
原创 【MySQL】select语句(from、where、group by、having、order by、limit)
select语句有6大子句:(1)from子句(2)where子句(3)group by子句(4)having子句(5)order by子句(6)limit子句强调:每一个select的6大子句的顺序是(1)-(6)关键字的顺序是不能颠倒的:SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...SELECT 语句的执行顺序(在 MySQL 和 Oracle 中,SELECT 执行顺序基本相同):
2020-05-28 14:02:28 7620 1
原创 【MySQL】7、 关联查询(联合查询) 内连接、外连接、全外连接
第七章 关联查询(联合查询)关联查询 联合查询七种结果:(1)A∩B(2)A(3)A - A∩B(4)B(5)B - A∩B(6)A ∪ B(7)A ∪B- A∩B 或者 (A - A∩B) ∪ (B - A∩B)关联查询7种结果与关联查询的分类/*关联查询的结果有七种情况:(1)A∩B(2)A(3)A - A ∩ B(4)B(5)B - A ∩ B(6)A ∪ B(7)A ∪ B - A ∩ B如何实现这些结果?1、内连接:inner join
2020-05-28 00:35:47 918
原创 【数据库】6、MySQL函数(字符串、数值、日期、流程、分组函数)
函数文章目录函数1、单行函数1.1 字符串函数1.2 数值函数/数学函数1.3 日期函数1.4 流程函数1.5 其他函数2、分组函数两种SQL函数单行函数多行函数1、单行函数只对一行进行变换,每行返回一个结果可以嵌套参数可以是一字段或一个表达式或一个值只对一行进行变换 每行返回一个结果可以嵌套参数可以是一字段或一个表达式或一个值1.1 字符串函数字符串函数/*字符串函数(1)length(xx):求字节数,和字符集有关(2)char_length(xx):求字符数(
2020-05-27 21:54:13 268
原创 【数据库】约束(主键、唯一键、外键、非空、默认值、自增约束)
约束文章目录约束DDL1、查看某个表的约束2、查看某个表的索引3、主键约束:primary key4、唯一键约束:unique key5、外键约束:foreign key6、非空约束:not null7、默认值约束:default8、检查约束:check9、自增约束:auto_incrementDMLDDL 数据定义语言DDL1、查看某个表的约束SELECT * FROM information_schema.table_constraints WHERE table_name = '表名称';
2020-05-27 16:25:11 3046
原创 【数据库】数据库设计规则、约束与索引概念
约束与索引1、关系型数据库设计规则关系型数据库设计规则遵循ER模型和三范式E entity 代表实体的意思 对应到数据库当中的一张表R relationship 代表关系的意思ER模型 实体关系模型 Java OR Object relationship Hibernate、Mybatis ORM 对象关系映射数据表中的那些键数据库中的键(Key)由一个或者多个属性组成。常用的几种键和属性的定义:超键:能唯一标识元组的属性集叫做超键。唯一
2020-05-27 15:34:32 848
原创 【MySQL】DDL数据定义语言、DML数据操作语言、 MySQL的语法规范和要求
SQL文章目录SQL1、 MySQL的语法规范和要求2、 SQL分类3、 DDL 简单的4、 DML 简单的5、参考资料1、 MySQL的语法规范和要求(1)mysql的sql语法不区分大小写,SQL语句关键字尽量大写MySQL的关键字和函数名等不区分大小写,但是对于数据值是否区分大小写,和字符集与校对规则有关。show databases;SHOW DATABASES;ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小
2020-05-27 00:14:25 525
原创 【MySQL】MySQL数据类型和运算符
MySQL数据类型和运算符文章目录MySQL数据类型和运算符1、 MySQL数据类型2、 MySQL运算符一、mysql的数据类型1、整数系列TINYINT:非常小的整数,类似于Java的byte类型SMALLINT:小整数,类似于Java的short类型MEDIUMINT:中整数,Java没有对应INT、INTEGER:整数,类似于Java的int类型BIGINT:大整数,类似于Java的long类型tinyint、smallint、mediumint、int 、integer、bigi
2020-05-26 00:50:03 419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人