
java
文章平均质量分 55
java相关内容
-随_风-
不问来处,不问归途,心之所向,素履以往。
展开
-
yum、apt-get、curl、wget和pip的使用范围
linux包管理原创 2022-07-27 20:32:21 · 1372 阅读 · 0 评论 -
mysql语法
文章目录对表的操作1 检索数据1.1 select 检索单个列1.2 select检索多个列1.3 检索所有列1.4 使用注释1.5 检索不同的值(distinct)1.6 限制结果1.6.1 返回结果不超过n(n<表中行数)行数据1.6.2 返回特定范围的行数2. 排序检索数据2.1. 排序数据2.2. 按多个列名排序2.3. 按列位置排序2.4. 指定排序方向3. 数据过滤3.1. 组合where子句3.1.1. AND操作符3.1.2. OR操作符3.2. in 操作符3.3. not操作符4.原创 2022-04-24 22:56:32 · 1115 阅读 · 0 评论 -
Spring面试
Spring1.Spring是什么?Spring框架是一个企业级开发应用框架,它是一个容器框架,用来装javabaen(java对象),提供了功能强大的IOC、AOP及Web服务功能。1.1 Spring 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架通过控制反转技术达到松耦合的目的。提供面向切面的编程,允许通过分离应用的业务逻辑与系统服务进行内聚性开发。包含并管理应用对象(Bean)的配置和生命周期,这个意义是一个容器。将简单的组件,组合成复杂的应用,这个意义上是一个框架。原创 2021-11-05 22:28:52 · 239 阅读 · 0 评论 -
Mysql面试
Mysql1. 事务四大特性(ACID)原子性:原子性是指事务包含的操作要么全部成功,要么全部失败回滚。一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了钱,B没收到。隔离性:隔离性是当多个用户并发的访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,事务不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程当中,B不原创 2021-11-05 22:27:00 · 1217 阅读 · 0 评论 -
java基础面试
java基础1.抽象类和接口1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;4)一个类只能继承一个抽象类,而一个类却可以实现多个接口,接口也可以继承多个接口。结口的设计目的是对类的行为进行约束,可以强制要求不同的类具有相同的行为。抽象类的设计目的是代码复用,当不同的原创 2021-11-05 22:19:29 · 228 阅读 · 0 评论 -
IO流面试
IO流流的概念和作用流是一组顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据的传输,根据数据的传输特性将流抽象为各种类,方便更直观的进行数据的操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流。根据数据流向不同分为:输入流和输出流。字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:读写单位不同:字节流以字节(8bit原创 2021-11-05 22:17:11 · 175 阅读 · 0 评论 -
垃圾回收面试
1.方法区垃圾回收关于方法区和永久代:在HotSpot JVM中,永久代就是方法区(JVM规范中称为方法区)。《Java虚拟机规范》只是规定了有方法区这么个概念和它的作用,并没有规定如何去实现它。在其他JVM上不存在永久代。JDK1.8及以后把永久带改成为元空间。为啥做如此改变:jvm在启动的时候会根据这些配置来分配一块连续的内存块,但是随着动态类加载的情况越来越多,这块内存我们变得不太可控,到底设置多大合适是每个开发者要考虑的问题,如果设置太小了,系统运行过程中就容易出现内存溢出,设置大了又总感觉原创 2021-11-05 22:15:55 · 2864 阅读 · 0 评论 -
多线程面试
多线程1.进程间的常见通信无名管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。例如:Linux中的cat 后面加|(就是匿名管道),前一部分的输出作为后一部分的输入。命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺原创 2021-11-05 22:10:30 · 201 阅读 · 0 评论 -
Java-异常
异常1. 什么是异常异常是程序运行过程中出现了不正常的现象,导致程序的中断,称为异常,把各种异常现象进行了抽象形成了异常类。2.异常类图结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fe6zO9dv-1635477102118)(/Users/suhang/Library/Application Support/typora-user-images/image-20210815090733482.png)]3.异常的分类异常主要分为:错误,一般性异常(受控异常原创 2021-10-29 11:16:38 · 157 阅读 · 0 评论 -
关闭端口8080
1.打开cmd输入netstat -aon|findstr "8080"2.打开任务管理器,删除对应的PID原创 2021-09-13 17:29:55 · 212 阅读 · 0 评论 -
返回最长回文子串
力扣第五题查找最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。public class L5_longString { public static String longestPalindrome(String s) { int start =0; int end =0; char [] str_char=s.toCharArray(); int n = s.length(); //1.遍历数组原创 2021-08-15 10:54:34 · 236 阅读 · 0 评论 -
常用锁机制
JMM(Java内存模型)中的8大原子操作read(读取)load(载入)store(存储)write(写入)use(使用)assign(赋值)lock(锁定)unlock(解锁)volatile实现原理分析共享变量线程可见性1.没加volatile每个线程都是通过原子操作,从共享内存中读取数据到操作数栈,进行操作。2.加volatile关键字当有线程修改变量通过write写入共享内存中的时候,总线上会监听的到共享值的变更,这时候总线就会通知到其他线程共享值的变更,其他线程原创 2021-08-12 11:46:50 · 274 阅读 · 0 评论 -
正向代理与反向代理
正向代理相对于服务器来说,正向代理隐藏了局域网中的主机信息。举例:正向代理,疫情期间每家只能有一个人出去买东西,我告诉我妈想和可乐,我妈到超市买可乐,超市只知道我妈买可乐,但是不知道我喝了,对我起到一个隐藏的东西。反向代理对于主机来说,隐藏了提供服务的服务器。举例:反响代理,我们去超市买东西,我们只知道有啥东西,但是超市对供货商提供了一个屏蔽,我们不知道具体的供货商。反向代理在服务器上部署一个nginx的应用,让他监听80端口,他可以根据域名不同指向不同的服务器,也可以根据负载的不同,原创 2021-08-11 00:30:23 · 74 阅读 · 0 评论 -
四种多线程创建方式
java创建多线程有如下四种方式:继承Thread类创建线程实现Runnable接口创建线程使用Callable和Future创建线程使用线程池创建(使用java.util.concurrent.Executor接口)1.继承Thread类创建线程public class test1 { //继承Thread类,重写run方法 public static class thread extends Thread{ public Lock lock;原创 2021-08-07 12:36:59 · 342 阅读 · 0 评论 -
并发下的锁
在真实场景中锁,锁并没有那么多,很多锁只是从不同功能特性,设计,以及锁的状态这些不同的侧重点来说明的,因此我们根据不同的分类来理解。1.公平锁和非公平锁公平锁指线程在等待获取同一个锁的时候,是严格按照申请锁的时间顺序来进行的,这就意味着在程序运作的时候,不会有线程执行不到的情况,但需要额外的资源维护这种顺序所以效率相对于非公平锁会差点。非公平锁随机线程获取锁,效率比公平锁相对高些。2.重入锁(递归锁)与不可重入锁(自旋锁)重入和递归,不可重入和自旋虽然名字不同,但是确实是同一种锁,只是从锁的表原创 2021-08-06 21:13:03 · 135 阅读 · 0 评论 -
jwt+RSA+数字签名
文章目录Jwt数字签名签名验证非对称加密Jwt参考链接数字签名如果发送者A和接收者B使用不同的密钥,例如A发送消息的时候使用私钥对消息进行加密,B接收消息的时候使用公钥对消息进行解密。因为消息只能由A的私钥进行加密,所以这个签名一定是由A签发的,这样就没有否认的问题了。这个就是数字签名(digital signature)。签名验证通常我们使用jwt时候采用RS256 私钥/公钥 方式进行签名的 加密/解密,因为RS256是非对称加密,比较安全。因为jwt是由服务端生成并发放的,其中签名是由服原创 2021-08-03 12:12:09 · 929 阅读 · 0 评论 -
no main manifest attribute, in ruoyi-admin.jar
项目发布出现的问题背景:若依亲后端分离项目,后端打jar包,前端部署成功以后,后端部署出现问题:no main manifest attribute, in ruoyi-admin.jarmvn package //打jar包在ruoyi-admin文件下的target目录下,生成了两个jar包,应该运行HBSD-DEKT-CMS.jar包,不应该运行ruoyi-admin.jar包,原因参考(关注jar包中META-INF文件夹下MANIFEST.MF文件)参考链接...原创 2021-07-29 15:48:07 · 995 阅读 · 1 评论 -
linux安装mysql注意
不成功的话使用下面这种方式:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize原创 2021-07-28 19:43:36 · 103 阅读 · 0 评论 -
G1垃圾回收器
垃圾回收过程G1运行过程G1的运行过程大致分为四个步骤:1.初始标记-暂停用户线程这个阶段是STW(Stop the World )的,所有应用线程会被暂停,标记出从GC Root开始直接可达的对象。2.并发标记-用户线程并发从GC Roots开始对堆中对象进行可达性分析,找出存活对象,耗时较长。当并发标记完成后,开始最终标记(Final Marking )阶段3. 重新标记-暂停用户线程标记那些在并发标记阶段发生变化的对象,将被回收。4.清理 - 暂停用户线程首先对各个Regin的回原创 2021-07-23 13:14:23 · 876 阅读 · 1 评论 -
设计模式(面试)
设计模式原则1.单一职责原则一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。2.开闭原则一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。3.里氏代换原则子类可以扩展父类的功能,但不能改变父类原有功能。4.接口隔离原则使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。5.迪米特法则一个软件实体应当尽可能少地与其他实体发生相互作用。6.依赖倒置原则高层模块不应该依赖低原创 2021-07-19 20:19:37 · 133 阅读 · 0 评论 -
B+ 树 和 B 树作索引有什么优劣,哪种更适合 MySQL?
B树和B+树的区别?1.B树m为树的阶层每个节点最多有m-1个关键字(可以存有的键值对)。根节点最少可以只有1个关键字。非根节点至少有m/2个关键字。每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。所有叶子节点都位于同一层,或者说根节点到每个叶子节点的长度都相同。每个节点都存有索引和数据,也就是对应的key和value。2. B+树和B树的相同点:根节点至少一个元素非根节点元素范围:m/2 <= k &原创 2021-07-17 11:21:58 · 1095 阅读 · 1 评论 -
项目中如何解决跨域问题
跨域问题现在大多数公司项目都是前后端分离的,前后端分离的项目肯定会遇见跨域问题。如下图:继续debug发现,reponse为undefined,提示消息为Network Error。所以当和前端联调的时候一直请求失败,报网络错误,一般情况下是后端没有做跨域配置。 这时候并不是后端没有接收到请求,而是收到请求了,也返回结果了,但是浏览器将结果拦截了,并且报错。跨域问题原因同源策略那么浏览器为什么会报错?答:浏览器基于安全考虑而引入的同源策略。当前的url和请求的url中,协议+域名+端口三者原创 2021-07-13 15:57:44 · 1884 阅读 · 0 评论 -
Failed to configure a DataSource: ‘url‘ attribute is ****embedded datasource could be configured
遇到的问题在实现他人项目的时候,通用数据库可以先安排上。原创 2021-07-12 22:48:05 · 145 阅读 · 0 评论 -
序列化与反序列化+持久化和持久层
序列化定义:为了方便数据的传输,我们将对象转换为其他形式,比如字节的过程。反序列化定义:将其他形式的数据转换为对象的过程。举例:在淘宝上买了一件衣服,卖家为了方便快递送货,将衣服打包,这个打包的过程就是序列化。当你收到包裹,拆包的过程就是反序列化。代码演示:public class objectSerialize { public static void main(String[] args) throws IOException, ClassNotFoundException {原创 2021-07-06 21:57:08 · 142 阅读 · 0 评论 -
Spring的@Bean注解
1.从广义上Spring注解可以分为两类:一类注解是用于注册Bean假如IOC容器就是一间空屋子,首先这间空屋子啥都没有,我们要吃大餐,我们就要从外部搬运食材和餐具进来。这里把某一样食材或者某一样餐具搬进空屋子的操作就相当于每个注册Bean的注解作用类似。注册Bean的注解作用就是往IOC容器中放(注册)东西! 用于注册Bean的注解: 比如@Component , @Repository , @ Controller , @Service , @Configration这些注解就是用于注册Bean,放原创 2021-07-05 17:56:03 · 197 阅读 · 0 评论 -
SSL/TLS与证书详细工作流程
1.SSL/TLS介绍官话说 SSL 是安全套接层 (secure sockets layer), TLS 是 SSL 的继任者,叫传输层安全 (transport layer security)。说白点,就是在明文的上层和 TCP 层之间加上一层加密,这样就保证上层信息传输的安全。如HTTP 协议是明文传输,加上 SSL 层之后,就有了雅称 HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。它的发展依次经历了下面几个时期,像手机软件升级一样,每次更新都添加或去除功能,比如引进新的加密算法,修改原创 2021-07-05 13:52:46 · 1916 阅读 · 0 评论 -
java反射详解
1.为什么使用反射?在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个属性和方法。依靠此机制,可以动态的创建一个类的对象和调用对象的方法。2.那些类可以有Class对象?外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类。interface:接口[]:数组enum:枚举annotation:注解@interfaceprimitive type:基本数据类型void3. 创建类模板的方法?通过类:Class.for原创 2021-07-05 12:40:35 · 149 阅读 · 2 评论 -
网络编程-狂神
IPIP地址:在计算机网络中,唯一确定一台计算机127.0.0.1:本机回环地址ip地址的分类(IPV4)分为A类、B类、C类地址,其区别在于A、B、C类子网的个数和所包含的地址个数不同。局域网网段10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255不会在公网中出现以及一些预留地址在对应子网中,第一个ip地址表示整个子网的地址,最后一个ip是这个子网的广播地址//测试原创 2021-07-04 15:29:06 · 108 阅读 · 1 评论 -
vue和elementui是什么关系
## vue简介Vue 是一套用于构建用户界面的渐进式 JavaScript (主张最少)框架 ,开发者只需要关注视图层, 它不仅易于上手,还便于与第三方库或既有项目的整合。是基于MVVM(Model-View-ViewModel 即:视图层-视图模型层-模型层)设计思想。提供MVVM数据双向绑定的库,专注于UI层面。渐进式框架:就是一开始不需要你完全掌握它的全部功能特性,可以后续逐步增加功能。没有多做职责之外的事情##Element-Ui简介element是基于vue...原创 2021-06-28 13:54:13 · 12840 阅读 · 0 评论 -
java中常用注解
注解的作用不是程序本身,但是可以对程序做出解释。可以被其他程序(比如:编译器等)读取。(必须被解析器解析,如果不解析,没有作用的)编写文档:通过代码里面标识的注解生成文档【生成文档doc文档】代码分析:通过代码里标识的注解对代码进行分析【使用反射】编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查注解使用场景可以附加在 package,class,method,field 等上面,相当于给它们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元素的访问。元注解元注解,就原创 2021-06-26 21:02:37 · 337 阅读 · 1 评论 -
AJAX_study
AJAXAJAX= Asynchronous JavaScript and XML(异步的JavaScript和XML).AJAX是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。增强B/S的体验性。B/S:未来的主流,并且会爆发式的持续增长;产品链:H5+网页+客户端+手机端(Android、IOS)+小程序。使用场景注册时,输入用户名自动检测用户是否已经存在。登录时,提示用户名密码原创 2021-06-24 15:42:24 · 87 阅读 · 0 评论 -
用git上传本地文件到码云gitee
1.在码云上创建项目右击,打开Git Bash Heregit config --global user.name "xxx" //xxx为码云名,也可随意git config --global user.email "zsh@163.com" //邮箱可为码云邮箱,也可以随意2. 生成密钥ssh-keygen -t rsa -C "zsh@163.com" 输入上面的命令后一直按3次回车直到出现图形界面即可.3. 添加私钥到码云输入命令,可以看到上一步生成的密钥cat ~/.原创 2021-06-20 10:31:19 · 235 阅读 · 0 评论 -
java导入springboot开源项目的过程中常见的问题
1.在托管软件上下载项目推荐:github,码云2.导入过程如果项目中出现了小红钟,把项目设置为 Souces Root3.如果发现spring框架不可以使用,并且Idea右侧也没有Maven插件,就需要添加Maven插件(双击shift),然后导入项目的pom.xml文件...原创 2021-06-18 17:56:00 · 187 阅读 · 0 评论 -
java项目发布流程
准备硬件三台linux虚拟机(A,B,C)一台放前端内容,两台构建集群软件node,nginx, mysql, maven开始首先在本地idea上打开项目,配置相关参数,启动运行。把前端内容放在一台虚拟机(A)上,把后端上传到另外两台虚拟机上(B,C)安装打包依赖npm install --unsafe-perm --registry = https://registry.npm.taobao.org对前端内容进行打包,会出现一个dist文件夹npm原创 2021-06-15 00:07:58 · 1235 阅读 · 5 评论 -
Exception in thread “main“ java.lang.ClassNotFoundException: Student
Student中包的路径没给全,应该是Class c2=Class.forName("guanlianda.reflect.Student");原创 2021-06-06 00:20:45 · 285 阅读 · 0 评论 -
java web开发中的各种层
web开发过程中分为如下层:Dao层Entity层Service层Controller层view层xxx:代表公司名称yyy:代表项目名称com.xxx.yyy.dao  原创 2021-06-04 14:53:26 · 3375 阅读 · 3 评论 -
mybatis从无到有
第一步:搭建实验数据库CREATE DATABASE `mybatis`;USE `mybatis`;DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`id` int(20) NOT NULL,`name` varchar(30) DEFAULT NULL,`pwd` varchar(30) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;in原创 2021-06-04 10:21:36 · 89 阅读 · 1 评论 -
Caused by: java. io. IOException: Could not find resource com/kuang/dao/UserMapper.xml
在build中配置文件resources,来防止我们资源导出失败的问题原因:Maven由于他的约定大于配置,我们之后可以遇到我们写的配置文件,无法导出或者生效。Maven配置文件默认放在了resources文件下, 如果我们把配置文件放到了Java目录下了,这个地方是导出不来的所以我们需要手动配置资源过滤<build> <resources> <resource> <directory&g原创 2021-06-04 09:35:10 · 569 阅读 · 0 评论 -
java面试
文章目录面向对象面向对象JDK、JRE、JVM、区别与联系==和equalsfinal1.简述final作用2. 为什么局部内部类和匿名内部类只能访问局部final变量?String、StringBuffer、StringBuilder区别及使用场景重载和重写的区别接口和抽象类的区别List和Set的区别hashCode与equalshashCode介绍:为什么要有hashCodeArrayList和LinkedList区别HashMap和HashTable的区别?底层实现是什么?ConcurrentHas原创 2021-06-02 18:32:07 · 110 阅读 · 0 评论 -
idea输出乱码可调
原创 2021-05-28 12:03:48 · 70 阅读 · 0 评论