JVM、JDK、JRE你分的清吗 前言 在我们学习Java的时候,就经常听到"需要安装JDK"、"运行需要JRE"、"JVM调优"等等,这里面的JVM、JDK、JRE你真的分得清吗,今天我们就来讲讲它们之间的关系。 JVM 学过Java的都知道,JAVA是一次编译,到处运行,这主要是通过JVM,JVM是JAVA跨平台的核心,它主要是指的是JAVA虚拟机,JVM是不能单独安装的。JVM主要功能是屏蔽了不同平台之间的差异性,负责将java字节码文件解释成对应系统可以运行的机器指令,我们在不同操作系统上执行JAVA文件的时候,需要安装对应系统的JDK,编写的JAVA程序首先会被编译成.clas...

  VuoLiwQMCzVG   2023年11月01日   72   0   0 Java

JAVA基本类型和包装类型 前言 Java语言中的数据类型分为基本数据类型和引用类型,而我们进行Java开发的时候都听说过基本数据类型和包装类型,今天我们就来详细聊一聊Java中的基本数据类型和包装类型之间的区别。 基本数据类型 Java中的基本数据类型一共有8种基本数据类型,分别是4种整型(byte、short、int、long)、2种浮点型(float、double)、1种字符类型(char)、1中布尔类型(boolean)。下面我们使用表格来详细展示一下 基本数据类型 字节 位数 默认值 取值范围 byte 1 8 0 -128127或者-2^72^7-1 sh...

  VuoLiwQMCzVG   2023年11月01日   48   0   0 Java

JWT基础概念详解 JWT介绍 之前我们文章讲过分布式session如何存储,其中就讲到过Token、JWT。首先,我们来回顾一下使用Token进行身份认证。 客户端发送登录请求到服务器 服务器在用户登录成功之后会生成一个token,此时这个token可能会被存储到数据库、Redis等,实现可以共享,服务端会把生成的token返回给客户端 客户端也会存储这个token,每次请求需要携带这个token即可。 JWT是token的另一种方式,又有很多不同点。JWT全称是JSONWebToken,它的本质是一个字符串,它里面包含数据和签名,接下来我们看看JWT是如何进行身份认证的。 客户端发...

  VuoLiwQMCzVG   2023年11月01日   53   0   0 Java

分布式Session如何存储 一、介绍 Session(会话),用来记录信息确定用户身份,保存在服务端。当客户端浏览器访问服务器时,服务器会把客户端信息保存在服务器上,这个就是Session。和Session对应的是Cookie,Cookie也是记录信息确定用户身份的,不同的是,Cookie存储在客户端,Session存储在服务端。一般会结合使用,Session存储重要信息,次要信息使用Cookie存储。 对比: Session Cookie 存储在服务端 存储在客户端 安全性高 安全性低,存储在客户端,可以获取进行分析 访问增多时,会占用服务器性能 保存在客户端,会减...

  VuoLiwQMCzVG   2023年11月01日   63   0   0 Java

JVM中的进程和线程 介绍 一个进程可以有很多个线程,进程之间基本上都是独立的,但是同一进程中的不同线程很可能会相互影响。每个线程有自己的程序计数器、虚拟机栈和本地方法栈。 进程的几种状态 创建状态(New):进程刚刚被创建。 就绪状态(Ready):进程已经准备运行,此时进程在等待处理器资源,除了处理资源以外所需要的资源已经全部获得,准备完毕,一旦处理器分配资源,即会立即运行。 运行状态(Running):进程正在运行。 等待状态(Waiting):又称为阻塞状态,进程目前暂停运行,等待某一事件完成,例如等待I/O请求。 结束状态(Terminated):进程结束,可能是出现错误、人为...

  VuoLiwQMCzVG   2023年11月01日   57   0   0 Java

JAVA设计模式-桥接模式 一、介绍 桥接模式是一种结构型模式,它主要是将抽象部分和实现部分进行分离,可以独立变化,降低类与类之间的耦合度。 举例:我们现在需要实现不同形状,每个形状还要有不同的颜色,我们传统方式是定义一个形状类,再定义每一个不同的形状实现类,继承上面的形状类,这是形状的需求已经完成,接下来我们实现不同形状不同颜色的需求,我们需要再定义形状颜色类,继承上面的形状,每个形状颜色类定义不同的颜色,此时我们会发现扩展会非常麻烦并且层次非常多,这时我们可以使用桥接模式,将形状和颜色的抽象、实现分离开来。 二、参与者 抽象类(Abstraction):里面包含了一个实现类接口的...

  VuoLiwQMCzVG   2023年11月01日   40   0   0 Java

使用SpringAOP实现系统操作日志记录 一、什么是Spring Spring是一个广泛应用的J2EE框架,是针对bean的生命周期进行管理的轻量级容器,主要由SpringCore、SpringAOP、SpringORM、SpringDAO、SpringContext、SpringWeb、SpringWebMVC七大模块组成。 二、什么是AOP AOP是AspectOrientedProgramming的缩写,是面向切面编程,针对业务处理过程中的切面进行提取,降低了耦合度,提高了可重用性,经常用于日志记录、性能统计、安全控制、事务处理、异常处理等。AOP分为静态代理和动态代理,常见的A...

  VuoLiwQMCzVG   2023年11月01日   84   0   0 Java

Mybatis常见知识点 ${}和{}有什么区别 ${}是简单的字符串替换,属于静态文本替换,并且并不是在预处理的时候进行替换,实在编译的时候进行替换,可能会存在sql注入的风险。替换后的值不会自动加上单引号。 {}是占位符,是在预编译的时候进行替换成?占位符,执行前才会把参数设置进去,相当于jdbc的PreparedStatement,替换后的变量会自动加上单引号,可以防止sql注入。 -${} -替换前 selectfromt_userwhereid=${id} -替换后 selectfromt_userwhereid=1 -{} -替换前 selectfromt_userwherei...

  VuoLiwQMCzVG   2023年11月01日   48   0   0 Java

JAVA常见基础知识点 一、注释 Java中有三种注释,分别是单行注释、多行注释、文档注释。 单行注释:注释某一行代码。使用// 多行注释:注释某一段代码。使用/.../ 文档注释:用于生成JAVA文档。使用/.../ 二、自增自减运算符 是自增运算符,—是自减运算符,如果放在变量后面,代表是先给变量赋值,再自曾/减1,如果放在变量前面,代表变量先自曾/减1,再赋值给变量。 三、JAVA中的continue、break、return之间的区别 continue:是指结束或者跳出当前循环,继续下一次循环。 break:是指结束循环,整个循环体结束,不会再执行下次循环。 return:如...

  VuoLiwQMCzVG   2023年11月01日   64   0   0 Java

HashMap详解 HashMap相关介绍 HashMap是Java中的比较常见的集合,主要存放的是键值对,以key-value的形式存储,不是线程安全的。它里面的存储的key和value可以为null值,但是key只允许有一个null值。HashMap是无序的,无法保证里面存储的键值对的有序性。jdk1.8之前的版本底层采用的是数组+链表的方式组成,jdk1.8之后采用的是数组+链表+红黑树的方式。数组具有查询效率高、插入、删除效率低,链表具有查询效率低,但是插入、删除效率高,HashMap采用这两种方式的结构,可以保证查询、插入、删除效率都得到保证。 HashMap数据结构 jdk1...

  VuoLiwQMCzVG   2023年11月01日   46   0   0 Java

Vue项目打包成docker镜像部署 一、介绍 我们部署Vue项目,可以build之后,直接放到nginx下面即可,今天给大家介绍创建docker镜像,使用docker镜像启动容器运行部署Vue项目的方式,可以尝试尝试,原理和使用nginx部署一样,不过是使用的docker容器而已,内部还是使用的是nginx作为基础镜像。 二、docker安装 docker安装就不介绍了,不懂的伙伴可以去看我的docker安装文章。之前也写过关于docker介绍、安装的文章,不了解如何安装使用的可以看以往的文章。 三、编写DockerFile docker安装完成之后,在我们需要部署的项目目录中新建...

  VuoLiwQMCzVG   2023年11月01日   56   0   0 Vue

Linux基础知识一 Linux目录结构 /bin:Binaries,存放的都是二进制文件,包括一些常用的命令,例如:ls、cat /boot:存放系统内核和启动需要的文件,Linux的核心文件。 /dev:存放设备相关的文件,该目录包含了所有Linux系统的外部设备。注意,存放的不是外部设备驱动程序,Linux中访问设备的方式和访问文件的方式是相同的。 /etc:Etcetera,存放系统管理所需要的各种配置文件。 /home:用户目录,每个用户在该目录下面都会有一个自己的目录,以自己的账号命名。 /root:超级用户目录。 /lib:库文件目录,包含所有系统应用程序、命令所需要的文件。 ...

  VuoLiwQMCzVG   2023年11月01日   93   0   0 Linux

Linux文件权限操作 介绍 我们在操作linux系统时,经常需要给系统中的文件夹赋予相关用户权限,如果权限过大,安全性较低,如果权限过小,对于用户的部分操作都会提示Operationnotpermitted,也就是权限不足,需要提权。我们在网上经常有人写分配777权限,我们需要知道里面的含义,这样才能适合我们自己的需求分配相对应的权限。 文件基本权限讲解 基本权限 读:r(4)可读,如果分配该权限,则代表该文件或者文件夹,可以读取。 写:w(2)可写,如果分配该权限,则代表该文件或者文件夹,可以写入数据。 执行:x(1)可执行,一般用于.sh文件 用户身份 用户身份包含文件所有者、...

  VuoLiwQMCzVG   2023年11月01日   43   0   0 Linux

Http和Https 首先我们介绍一下http和https,http是超文本传输协议,无状态并且是明文传输。https是在http协议的基础上增加了SSL/TLS协议,设备之间的通信是加密的,比Http协议安全。我们先了解一下TCP/IP网络模型和OSI七层网络模型,先知道HTTP协议主要工作在哪一层。 TCP/IP网络模型 OSI七层网络模型 HTTP 组成: 超文本(Hypertext)、传输(Transfer)、协议(Protocol),默认是工作在80端口,以明文方式传输内容,不提供任何方式的数据加密,所以如果被截取到,即可知道里面的内容。 HTTPSHTTP+TLS/SS...

  VuoLiwQMCzVG   2023年11月01日   147   0   0 网络安全

浅谈Mysql常见注意事项一 不要在Mysql中使用utf8 Mysql中utf8并不是真正意义上的utf8,而是指的是utf8mb3,这种字符集仅支持BMP字符,码位在0到65535之间,不支持一些补充字符,例如一些生僻字和emoji表情。utf8mb3是Mysql早期就支持的字符集,由于不支持补充字符,Mysql在5.5.3之后的版本里面增加了utf8mb4的编码。在未来Mysql版本中,可能会删除utf8mb3字符集。utf8mb4支持BMP和补充字符,对于BMP字符,utf8mb4和utf8mb3相同,但是对于补充字符,utf8mb4需要4个字节存储,utf8mb3每个字符最多使用...

  VuoLiwQMCzVG   2023年11月01日   112   0   0 MySQL

MySQL数据库规范 前言 今天我们来聊一聊MySQL数据库常见的一些建议设计规范,参考阿里的《JAVA开发手册泰山版》,我们简单挑出几处进行简单分析和回顾复习,如果有不正确或者不足的地方,还请指正。 规范 表名、字段名命名必须使用小写字母或数字,并且使用下划线进行分隔,禁止以数字开头。 MySQL在Windows系统下不区分大小写,但是在Linux系统下默认是区分大小写。 表名、字段名命名禁止使用MySQL的关键字。 该条规范和各类语言禁止定义关键字作为变量名称一样,MySQL中的关键字有很多,例如:desc、and、asc等。 小数类型使用decimal,禁止使用float和...

  VuoLiwQMCzVG   2023年11月01日   412   0   0 MySQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~