自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang

Go程序中,也支持自定义错误,使用errors.New和panic内置函数。1)errors.New("错误说明"),会返回一个error类型的值,表示一个错误2)panic内置函数,接收一个interface()类型的值(任何值)作为参数。可以接收error类型的变量,输出错误信息,并退出程序。//读取...return nil}else{//返回一个自定义错误return errors.New("读取文件错误...")

2024-08-30 11:13:06 819

原创 Redis常见问题探析

Redis的集群脑裂是指因为网络问题,导致Redis Master节点跟Redis slave节点和Sentinel集群处于不同的网络分区,此时因为sentinel集群无法感知到master的存在,所以将slave节点提升为master节点。注意:此时存在两个不同的master节点,就像一个大脑分裂成了两个。

2024-01-04 21:38:44 894

原创 Redis Day02

Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、高可用和分片特性。Redis集群的优点Redis集群有多个master,可以减小访问瞬断问题的影响Redis集群有多个master,可以提供更高的并发量Redis集群可以分片存储,这样就可以存储更多的数据。

2024-01-04 21:05:46 943

原创 JDK9-17新特性

jdk9的新特性主要包括:1.模块化系统(Module System):这是Java9最大的特性,它提供了类似于OSGI框架的功能,模块之间存在相互依存的依赖关系,可以导出一个公共的API,并且隐藏实现的细节。Java提供该功能的主要动机在于,减少内存的开销。2.Jshell和Jlink:JShell是Java9中新增的交互式Java编程环境,类似于Python的交互式环境。它允许开发者在命令行中快速编写和测试Java代码。

2023-12-13 21:47:33 972

原创 Spring MVC:第四天

执行拦截的方法preHandle(),返回false表示拦截此次请求,返回true表示放行。(在控制单元执行之前执行)HttpServletRequest request:此次拦截的请求的request对象。HttpServletResponse response:此次拦截的请求的response对象。Object handler:HandlerMethod类型,存储了拦截的单元方法的method对象。

2023-11-14 20:02:19 76

原创 Spring MVC:第三天

Restful的出现同时也解决了客户端的种类多种多样造成请求的格式比较混乱的问题,Restful提供了一种统一的前后端交互的接口规范,可以更好的实现数据的交互。正常使用以前我们来实现对用户的增删该查的时候是以操作为基础来声明URL地址的:如:新增用户:而按照Restful的格式对用户的操作应当只有一个url地址:操作用户:Restful要求在当前的url地址中直接嵌套请求数据。

2023-10-28 16:20:09 39

原创 Spring MVC:第二天

-其中id="viewResolver"的取值是任意的,也可以省略id属性不写。-->--配置自定义试图解析器-->-- 前缀 -->-- 后缀 -->// 由视图解析器拼接:prefix + suiyi + suffix。具体:/WEB-INF/page/ + suiyi + .jsp// 由视图解析器拼接:prefix + suiyi + suffix。具体:/WEB-INF/page/ + suiyi2 + .jsp。

2023-10-28 15:46:32 38 1

原创 Spring MVC:第一天

只需要在一个Servlet中编写获取容器Bean的代码,减少了代码冗余。不需要为每个控制器都创建一个类,而是可以在一个普通Java类中提供普通实例方法代表以前servlet中的service方法。因为可以自己编写普通Java类,这类可以放入到Spring容器中,注入Service更方便。同时因为是自己编写的Java,所以可以进行一些封装,对其他操作进行简化。(代码中没有体现)EmpController:为控制器类,控制器类中可以有多个控制单元。

2023-10-23 21:57:37 35

原创 Servlet:Java服务器端小应用

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, HTTP是万维网(WWW:World Wide Web)的数据通信的基础。简单来说就是客户端和服务端进行数据传输的一种规则。HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件, 图片文件, 查询结果等)。HTTP是一种无状态(stateless) 协议,HTTP。

2023-09-12 09:08:56 150

原创 多表关系设计及多表查询

DQL: 查询多张表, 获取到需要的数据比如: 我们要查询家电分类下都有哪些商品, 那么我们就需要查询分类与商品两张表内连接: inner join: 只获取两张表中 交集部分的数据。左外连接: left join: 以左表为基准, 查询左表的所有数据, 以及与右表有交集的部分。右外连接: right join: 以右表为基准, 查询右表的所有的数据, 以及与左表有交集的部分。

2023-09-07 20:30:56 494 1

原创 多表的理解及应用

实际开发中, 一个项目通常需要很多张表才能完成。例如, 一个商城项目的数据库, 需要很多张表, 用户表, 分类表, 商品表, 订单表...

2023-09-07 20:09:50 75 1

原创 SQL执行流程

2.缓存(Cache&Buffer):缓存中存储了SQL命令的HASH,直接比对SQL命令的HASH和缓存中key是否对应,如果对应,直接返回结果,不再执行其他操作。由于缓存的是SQL的HASH,所以根据Hash特性SQL中空格等内容必须完全一样。缓存里面包含表缓存、记录缓存、权限缓存等。查询语句执行完成后会把查询结果缓存到缓存中。在MySQL中查询缓存默认不开启。考虑到查询缓存性能瓶颈问题,从MySQL8开始已经不支持查询缓存了。3.解析器(Parser)主要作用是解析SQL命令。

2023-09-07 19:37:09 54 1

原创 MySQL:关系型数据库管理系统_第二天

查询不会对数据库中的数据进行修改, 只是一种显示数据的方式。-- 语法格式:select 字段名1,字段名2,... from 表名;查询所有的员工信息, 将字段名显示为中文selecteid as '编号', -- as可以省略ename as '姓名',sex as '性别',salary as '薪资',hire_date as '入职日期',dept_name as '部门名称'from emp;

2023-09-07 19:15:29 69 1

原创 MySQL:关系型数据库管理系统

数据是指对客观事物描述并可以鉴别的符号,这些符号是可识别的,抽象的。它不仅仅指狭义上的文本(数字,字母,字符等),数据还有多种表现形式:图形、音频、视频等。

2023-09-04 21:11:01 830 1

原创 JUC_ 锁_ 信号量_并发集合(一)

synchronized是Java中的关键字。使用synchronized关键字是锁的一种实现。synchronized的加锁和解锁过程不需要程序员手动控制,只要执行到synchronized作用范围会自动加锁(获取锁/持有锁),执行完成后会自动解锁(释放锁)。加锁范围中的代码出现异常,自动解锁。synchronized可以保证可见性,因为每次执行到synchronized代码块时会清空线程区(工作内存|高速缓存)。synchronized 会不禁用指令重排,但可以保证有序性。

2023-08-30 22:15:45 37 1

原创 JUC的应用

内存中的一块空间。这块空间里面存放一些已经实例化好的线程对象。当代码中需要使用线程时直接从线程池获取。当代码中线程执行结束或需要销毁时,把线程重新放入回到线程池,而不是让线程处于死亡状态。Executor 线程池顶级接口, 接口中只有一个execute()方法,方法参数为Runnable类型。ThreadPoolExecutor是JUC中提供的默认线程池实现类, Executor的子类。corePoolSize: 核心线程数大小。

2023-08-29 21:47:22 66 1

原创 容器源码分析

JDK1.7及其以前,HashMap底层是一个数组+链表实现的哈希表存储结构,使用头插。链表的每个节点就是一个Entry,其中包括:键key、值value、键的哈希码hash、执行下一个节点的引用next四部分。//value//指向下一个节点的指针int hash;//哈希码。

2023-08-29 20:21:00 35 1

原创 反射和注解

java.lang.Class 表示类的类型。一个Class类对象就代表了某个类的字节码对象。获取到这个类的字节码对象后该类中所有的内容都会被知道,然后就可以对这个类中的内容进行操作。Class类是Java 反射机制的起源和入口 ,用于获取与类相关的各种信息,提供了获取类信息的相关方法,Class类继承自Object类。java中提供的对反射支持的类都在java.lang.reflet包中。java.lang.reflect.Field 表示类中属性的属性对象。类中每一个属性对应一个属性对象。

2023-08-28 21:04:58 164

原创 XML:可扩展标记语言

DTD(Document Type Defnition)文档类型定义。即约束XML文件中可以包含哪些元素、哪些属性、及元素个数和元素之间的关系和元素的顺序。在包含DTD的XML文件中,如果XML内容不满足DTD要求,会提示错误。DTD是较简单的语法检查机制。整体语法比较简单,功能较单一。当需要对XML文件结构更新时,需要修改整个DTD文件,不够灵活。XSD(XML Schema Definition)XML模式定义。属于DTD的升级版。完美的解决了DTD使用时不易扩展问题,并且提供了更强大的功能。

2023-08-25 21:01:37 288 1

原创 数据结构、手写双向非循环链表

Java中数组是对线性结构,也是顺序存储结构的具体实现。Java中数组会在内存中开辟大小固定,地址连续的空间,数组中的数据具有从前往后的顺序。1.链表的存储分类为链式结构,非连续的空间。2.链表第一个节点称为头节点,最后一个节点称为尾节点。栈(Stack)是一种存储受限的线性结构。其具体实现可以用链表或数组。栈只允许从一侧进行操作数据,这侧称为栈顶(top)。另一侧称为栈底(bottom)。往栈中放入元素的过程称为:入栈(push)。从栈中删除元素的过程称为:出栈(pop)。先进后出。

2023-08-22 22:22:43 181 1

原创 Date(日期类)

日期按照指定格式格式字符串,解析字符串到日期日历操作。日历转日期操作。

2023-08-22 21:10:21 1093 1

原创 字符串相关的类

比如字符串内容是否相等的判断-equals()字符串长度的获取​​​​​​​字符串的反转​​​​​​​字符串的大小写转换2.String类介绍1.代表字符串的类String类实现了序列化接口Serializable支持序列化和反序列化开发。String类实现了比较器接口Comparable支持自然比较。String类实现了字符序列化接口CharSequence底层采用了字符序列存储数据String是一个final类,代表不可以有子类;

2023-08-21 09:34:47 30 1

原创 基于JavaSE的图书管理系统

基于JavaSE的图书管理系统,用到了List和hashMap等

2023-08-05 17:14:42 55 1

原创 标识符的定义及使用

在Java中,凡是自己可以起名字的地方,都称之为标识符。比如:对类名、变量名、方法名、参数名等的修饰。

2023-08-03 20:14:52 1847

原创 配置环境变量path

每次执行java的工具都要进入bin目录下,是非常麻烦的。根据windows系统在查找可执行程序的原理,可以将java工具所在的路径定义到path环境变量中,让系统帮我们去运行执行的程序。

2023-08-03 20:12:10 60

原创 JAVA的特性

java有简单性、面向对象、可移植性(跨平台性)、高性能、分布式、动态性、多线程、安全性、健壮性

2023-08-01 20:20:03 69 1

空空如也

空空如也

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

TA关注的人

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