自定义博客皮肤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)
  • 收藏
  • 关注

原创 Linux常用指令

典型------------安装程勋光盘映像文件(以点iso结尾)---命名,下一步---------------指定磁盘大小----一直到完成(傻瓜式操作)选项 -f force 强制 ---不再让系统提示选择(y/n)-----目标文件存在,是用源文件的内容覆盖掉目标文件中的内容。cat 文件名 ----查看当前文件的快照。命令 ---选项(多个) 参数 参数.............----目标文件不存在,此时创建目标文件,并复制内容。

2022-09-14 14:28:09 314 1

原创 SpringCloud五大组件

Ribbon和Feign都是用于实现负载均衡的,Feign是基于Ribbon进行封装的,二者都是发送http请求。当服务器出现问题,进行服务降级,从而避免雪崩效应。Feign :无需手动构建,采用接口式编程,来发起请求.Ribbon需要手动构建http请求。作用: 用于注册和拉取微服务。同一保存共有的配置信息。

2022-09-13 10:35:44 177

原创 redis五种数据类型

redis保存数据是以key--value的形式保存的。其中key一定是String类型,而value的数据类型有5种。

2022-09-11 21:17:34 402

原创 反射Reflect

反射是用于在若想在运行期执行一些操作的(创建对象,调用方法,获取类的内部信息)

2022-09-09 22:38:09 222

原创 数据库的主从复制,读写分离

比如现在直有一台数据库服务器,若某个写的操作会给表加锁,此时其他所有并发操作的效率都会受到影响,采用读写分离,master用于写操作,多台salve用于读操作,在写的同时不会影响读操作,且多台slave用于读,可以大大提高并发读取的雄安率,在读写分离的情况必须保证master和salve上的数据一致,所以需要主从复制。分库分表也是优化数据库的措施,可以降低服务器的压力,提供执行效率。目的:都是为了优化数据库。

2022-09-09 22:33:21 179

原创 jvm的结构以及如何调优

jvm的结构以及如何调优

2022-09-09 22:16:23 418

原创 Mybatis一级缓存和二级缓存

一级缓存是sqlsession级别的缓存,同一个事务共享一个sqlsession对象,在事务中若执行查询操作,会将查询到的数据缓存到以及缓存中,后续若再次查询相同的数据,直接从缓存中获取;二级缓存可以实现跨sqlsession的数据共享,但是若操作该mapper的多个sqlsession中,有一个执行update操作,则立即清空二级缓存。一级二级都存在时,事务中的查询顺序:二级缓存--------.>一级缓存-------------->数据库。先去一级缓存中查,若有,直接返回,若无,再去数据库中查。

2022-09-08 18:57:14 301

原创 Spring中Bean的作用域

session --bean的作用域为session,即新创建session对象,会重新实例化,session对象销毁,该bean对象销毁。golbal session ---在portlet容器中存在的对应,该对象作用于整个应用程序,bean。作用于珍哥golbal session对象中,在web应用中不存在该对象(了解)request --每次请求中,若需要某个bean对象,都会重新实例化。prototype --原型(多例) 每次注入都会重新实例化。

2022-09-08 15:12:21 102

原创 注解Resource和Autowired

Resource默认是先按照bean的name进行注入,若name不存在。,则自动按照type进行注入,若通过该注解指定了name,则若找不到name,注入失败。@Autowired注解按照type来注入。@Autowired是Spring提供的。@Resource是Java框架提供的。

2022-09-08 15:01:47 126

原创 SpringMvc五大组件及请求处理流程

DispathcherServler调用HandlerMapping对请求进行处理找到对应的controller以及方法。controller处理请求结束后,返回ModeaAndView给DispathcherServlet。DispathcherServlet调用ViewResolver 对试图进行解析。DispathcherServlert 前端或者中央处理器。到达对应的controller中对应的方法,对请求进行处理。DispathcherServlet进行渲染后返回给客户端。

2022-09-08 14:25:57 239

原创 拦截器(Interceptor)和过滤器(Filter)的区别

preHandle():最常用,当请求在servlet之后,到达controller之前调用该方法。afterCompletion():在请求即将结束时调用该方法,通常用于释放资源。过滤器内部只有一个抽象方法 doFilter()在该方法内部写过滤功能的实现。拦截器内存有俩个抽象方法。拦截器既可以配置黑名单也可以配置白名单;过滤器是JAVAEE提供的,拦截器是Spring提供的。过滤器只能配置黑名单;都可以形成链状结构,在链中方法是有序的。作用相似,都是对请求进行拦截过滤。提供框架不同,作用时机不同。

2022-09-08 14:16:06 286

原创 SpringMvc

---------------前端控制器(最早运行,并不会处理请求(分发机器)),用于同意接收请求并分发(办事窗口),组织处理请求的流程--------------------映射请求路径与处理请求的控制器(记录下来每个请求归哪个控制器管理)--------------------实际处理请求的控制器(会记录在HandlerMapping里面)------------Controller组件处理完请求后得到的结果,有数据与视图名称组成------------视图解析器,可根据图名称确定需要使用的视图软件(具

2022-09-08 13:49:04 133

原创 乐观锁和悲观锁

乐观锁不是使用锁来保证线程安全的,而是使用版本号机制来保证线程安全;悲观锁是真正使用锁来保证线程安全的,特点保证线程安全的同时并发效率低。JAVA中的synchroized。乐观锁和悲观锁都是俩种思想。

2022-09-08 13:47:40 349

原创 转发和重新定向的区别

重定向最直观的就是delete,update,我们删除或修改后最再次查询确认。我们一般在给用户展示错误页面时采用转发(同步请求),发生在服务端。转发forward 重新定向Redirect。

2022-09-08 13:43:11 174

原创 Servlet生命周期

service包含 doGet(),doPost()我们假设发起StudentServlet请求。servlet默认是单例的,

2022-09-07 21:23:19 145

原创 JVM虚拟机

1.实现软件升级.(热替换)2.更好的防止内存泄露,提高内存的有效使用率.3.更好提高系统的吞吐量(可以处理更大的并发)

2022-08-24 20:00:03 275

原创 JWT Security Session

JWT最常见的场景就是授权认证,一旦认证用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求之前,都要先进行JWT安全校验,通过之后在进行处理。JWT是一种紧凑且自包含的,用于多方传递JSON对象的技术。传递的数据可以使数据签名增加其安全性。可以使用HMAC加密算法或RSA公钥/私钥加密方式jwt有何作用?

2022-08-23 21:17:02 977

原创 Get Post请求区别

Get Post请求区别

2022-06-30 21:44:14 118

原创 数据库常用

数据库常用关键字查询

2022-06-30 21:15:48 670

原创 Typora

Typora工具免费分享

2022-06-30 19:31:30 103

原创 基于XML配置的Spring整合Mybatis

1.搭建任何Maven项目2.需要添加的依赖基于以上名字在mvn网址里找到复制粘贴Maven Repository: Search/Browse/Explore (mvnrepository.com)https://mvnrepository.com/spring 依赖用同一版本爆红的话点maven 刷新一下就好二.数据库数据表点开下方Termianal,这个就是命令行 社区办没有的话打开设置setting-pluging搜索database可以供我们使用我们需要下载一个插件 安装完成之后点击

2022-06-25 13:13:25 405

原创 Spring MVC框架

Tomact给我们提供了一个免费的开源的Web容器(web服务端)WebServer是一个容器,主要有俩个作用:1.管理部署的所有webapp(我们的网络应用)2:与客户端(浏览器)建立TCP链接并基于Http协议进行交互(.和我们的网页进行交互)HTTP协议 超文本传输协议 由万维网制定(w3c)是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式信息等。HTTP协议对于客户端与服务端之间的交互规则有以下定义:要求浏览器与服务端之间..

2022-06-25 10:18:55 359

原创 对比面试题--String,StringBffer ,StringBuilder区别

String StringBuffer StringBuilder的共同点都是用于处理字符串数据的类 都是管理内部的一个char[ ]实现的 实现的接口大致相同,特别是CharSequence接口 许多API的设计中,方法的参数或返回值都使用这个接口,使得参数或返回值更加灵活 有许多相同的API,例如replace() indexOf()等String:首先,我们的得知道String的“不可变”特性:每个字符串对象都是不可变的String s="hello";s="hello,

2022-05-21 15:17:08 213

原创 面试题--什么是hashCode

首先我们应明确几个问题1.变量与对象是2个不同的概念Object a =new Object();以上代码中a就是变量,在内存中实际存在的数据就是对象2.所有引用类型的变量值都是引用地址假设某对象在内存中的地址是0*6528,则变量的值就是0*6528什么是hashCode通常,口头描述中的hashCode指的是hashCode()方法,或该方法的返回值 hashCode()方法是由Object类定义的,所以,在java中,所有的类都有该方法,并且,所有的类都可以重写该

2022-05-21 11:50:46 1180

原创 对比类型面试题1(equals()与==的区分)

多个对比项有什么相同、相似之处多个对比项的区别

2022-05-21 10:52:22 207

原创 NumberFormat--数字格式化

我们可以通过NumberFormat(执行格式化)的几个静态方法得到预置的NumberFormat对象 public static void main(String[] args) { //将被格式的数 double vaule=93.27; BigDecimal number=BigDecimal.valueOf(vaule); //获取NumberFormat // NumberFormat perc...

2022-05-18 19:25:50 1718

原创 关于BigDecimal

public class BigDecimalDemo { public static void main(String[] args) { //创建2个基本类型的浮点数 double d1 =0.1; double d2 =0.2; //计算和 System.out.println(d1+d2);//计算结果0.30000000000000004,不精确, }}使用它的俩个主要原因:1.

2022-05-18 16:30:11 68

原创 关于BigInteger类

1.用于解决整型类型(基本数据类型及对应的包装类),无法表示特别大的数字及运算的问题最多整型龙,能表示的范围也是有限的他可以表示任意的整数(多大的数都是可以的)支持 --2(Inter.MAX_VALULE)至2(Inter.MAX_VALULE),表示任意的整数Inter.MAX_VALULE: 2147483647构造方法:BigInter(byte[] val)BigInter(int signum,byte[] magnitude)BigInter(int bitLe

2022-05-18 10:40:53 267

原创 计时器功能

计时器功能* 要求每秒输出一次当前系统时间* * 额外小知识,java.util.Date类的每一个实例用于表示一个时间点,* 默认创建表示当前系统时间。* * 单词记一记:* now 现在* date 日期public class Test { public static void main(String[] args) { while(true) { Date now = new Date(); System.out.println(now); try {.

2022-05-09 19:44:42 267

原创 补充线程池

线程池线程池是线程的管理机制,它主要解决两方面问题:1:复用线程2:控制线程数量java.util.concurrent.ExecutorService;-----线程池的接口java.util.concurrent.Executors;----线程池的工具类JUC是什么? java.util.concurrent这个包concurrent并发java的并发包,里 关闭线程池的两个操作: shutdown() ...

2022-04-20 22:00:17 154

原创 内部跳转与重新定向

重定向的规则:1.响应中的状态代码为3022.响应头中应当包含Location3.没有响应正文创建一个类来实现服务端响应客户端发来的请求操作跳转import com.webserver.annotation.Controller;import com.webserver.annotation.RequestMapping;import java.io.File;import java.lang.reflect.Method;import java.util.HashM.

2022-04-20 21:43:06 457

原创 NIO重构聊天室服务端

BIO实现聊天室服务端---读写的过程中可能会发生阻塞现象。import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.nio.charset.StandardCharsets;import java.util.ArrayList;import java.util.Collection;/** * 聊天室服务端 */public class Server { /**.

2022-04-20 21:36:25 98

原创 注解初步认识

注解在开发中常被我们利用到反射机制中,辅助反射机制做更多灵活的操作注解在如今JAVA流行的框架中被大量的应用,简化了以前繁琐的配置工作注解可以在:* 类上,属性上,方法上,构造器上,以及参数上使用* 可以通过java内置的注解@Target来说明当前注解可以被应用的位置,对应的值被定义在ElementType上* 例如:* @Target(ElementType.TYPE) 注解只能被用于类上* @Target({ElementType.TYPE,ElementType.METHO...

2022-04-20 21:26:23 116

原创 NIO流在聊天室中的运用

JAVA NIONIO称为非阻塞IO。读写的过程中不会发生阻塞线程我们之前所学习的流,称为BIO:阻塞是IO,就是在读写的过程中可能会发生阻塞现象。非阻塞IO面向Channel("通道")的,不是面向Stream(流)的。流的特点:方向单一,顺序读写。流要么是输入流用于顺序读取数据,要么是输出流用于顺序写出数据Channel的特点:双向的,既可以读又可以写。JAVA NIO核心API:Channel 通道,常见的实现:FileChannel:文件通道,可对文件进行读写操作SocketC.

2022-04-19 00:04:09 85

原创 java反射机制

反射是java的动态机制,可以允许我们在程序[运行期间]再确定实例化,调用某个方法,操作某个属性。反射机制大大的提高了代码的灵活度,但是会有更高的系统开销和较慢的运行效率。 因此反射机制不能被过度的使用.类对象 Class的实例 JVM在加载一个类的class文件时,就会同时创建一个Class的实例,使用该实例记录加载的类的一切信息(类名,有哪些属性,哪些方法,哪些构造器等)。并且每个被JVM加载的类都有且只有一个Class的实例与之对应。反射的第一步就是获取要操作的类的...

2022-04-18 23:55:40 194

原创 集合的排序

java.util.Collections类Collections是集合的工具类,里面定义了很多静态方法用于操作集合.Collections.sort(List list)方法可以对List集合进行自然排序(从小到大)package collection;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;/** * 集合的

2022-04-09 20:57:35 454

原创 集合第二天

集合间的操作集合提供了如取并集,删交集,判断包含子集等操作package collection;import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;/** * 集合间的操作 */public class CollectionDemo4 { public static void main(String[] args) {// Collection c1

2022-04-06 20:43:38 76

原创 集合框架(集合接口)

集合框架什么是集合集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便.java集合框架中相关接口java.util.Collection接口:java.util.Collection是所有集合的顶级接口.Collection下面有多种实现类,因此我们有更多的数据结构可供选择.Collection下面有两个常见的子接口:java.util.List:线性表.是可重复集合,并且有序. java.util.Set:不可重复的集合,大部分实现类是无序的.这里可

2022-04-06 20:39:20 124

原创 APIday06

使用多线程实现多客户端连接服务端流程图服务端代码改造:package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;/** * 聊天室服务端 */public.

2022-04-01 22:00:23 96

原创 网络编程与线程

java网络编程java.net.SocketSocket(套接字)封装了TCP协议的通讯细节,是的我们使用它可以与服务端建立网络链接,并通过它获取两个流(一个输入一个输出),然后使用这两个流的读写操作完成与服务端的数据交互java.net.ServerSocketServerSocket运行在服务端,作用有两个:1:向系统申请服务端口,客户端的Socket就是通过这个端口与服务端建立连接的。2:监听服务端口,一旦一个客户端通过该端口建立连接则会自动创建一个Socket,并通过该S.

2022-03-31 18:46:04 136

空空如也

空空如也

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

TA关注的人

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