java
Java 、spring
TIME时间缝隙
这个作者很懒,什么都没留下…
展开
-
使用Druid数据库连接池
Druid数据库连接配置原创 2022-08-26 15:26:22 · 774 阅读 · 0 评论 -
关于YAML配置
YAML配置原本并不是Spring系列框架内置的配置语法,如果在项目中需要使用这种语法进行配置,解析这类文件需要添加相关依赖,在Spring Boot中默认已添加此依赖。时,当需要缩进2个空格时,仍可以使用键盘上的TAB键进行缩进,IntelliJ IDEA会自动将其转换为2个空格。,只是配置文件的扩展名和文件内部的配置语法有区别,对于Spring Boot最终的执行其实没有任何表现上的不同。Spring Boot也支持使用YAML配置,在开发实践中,YAML的配置也使用得比较多。中不必也不能重复写。...原创 2022-08-26 15:20:12 · 1072 阅读 · 0 评论 -
栈和队列。
4.栈的应用,1.进制转换算法实现思路a.读写数字Nb.循环判断数字是N否为01.将N%D放入栈中2.N的值变为N/Dc.栈不空则循环1.从栈顶依次取出数据打印2.括号匹配检测假设在表达式中([]())或[([ ][ ])]等为正确的格式,[( ])或([( ))或 (()])均为不正确的格式。则 检验括号是否匹配的方法可用“期待的急迫程度”这个概念来描述。例如:考虑下列括号序列:[ ( [ ] [ ] ) ]1 2 3 4 5 6 7原创 2020-12-22 17:38:40 · 105 阅读 · 0 评论 -
容器-list的用法 ------ArrayList、LinkedList、Vector的区别是什么?-------如何选用ArrayList、LinkedList、Vector?
1.ArrayList、LinkedList、Vector的区别是什么?ArrayList:ArrayList底层是用数组实现的存储。 特点:查询效率高,增删效率低,线程不安全。LinkedList:LinkedList底层用双向链表实现的存储。特点:查询效率低,增删效率高,线程不安全。Vector:Vector底层是用数组实现的List,相关的方法都加了同步检查,因此“线程安全,效率低”。2.如何选用ArrayList、LinkedList、Vector?需要线程安全时,用Vector。不原创 2022-04-12 07:19:14 · 416 阅读 · 0 评论 -
编译型语言和解释型语言的定义和区别
定义:编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!区别:编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。编译器与解释器计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器编译器翻译的方式有两种:一个是编译,另外一个是解释。原创 2022-01-24 11:08:41 · 433 阅读 · 0 评论 -
构造方法,
构造方法是一种特殊的方法而已。(1) 构造器通过new关键字调用。(2) 构造器不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。(3) 如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。如果已定义则编译器不会自动添加!(4) 构造器的方法名必须和类名一致!...原创 2021-11-07 18:33:36 · 83 阅读 · 0 评论 -
位运算&符号、&逻辑运算两个&符号它们区别
位运算&两边可以是数字,按位对数字进行运算。&逻辑运算:是对boolean进行运算。&&短路与:是逻辑运算的短路运算。原创 2021-11-05 10:16:36 · 201 阅读 · 0 评论 -
Java在调用方法的时候,基本数据类型的形参和引用数据类型的形参对实际参数的影响
首先我们先看一下基本数据类型代码和引用数据类型的代码和运行结果:代码:package MethodDemo;public class Demo { //对于数据类型的参数,形式参数的改变,不影响实际参数 public static void main(String[] args) { System.out.println("基本类型:"); int number = 100; System.out.println("调用之前的:" +原创 2021-10-05 23:49:16 · 386 阅读 · 0 评论 -
IntelliJ IDEA设置自动导包,让写代码偷懒到极致.........
首先:点击Setting,在搜索框输入Auto…如图所示接下来就可以实现自动导入了,在写代码的时候不许要自己手动点击。idea会自动帮你加载对应的包。原创 2021-10-04 21:41:54 · 130 阅读 · 0 评论 -
软件的定义
软件:及一系列按照特定顺序组织的计算机数据和指令的集合。分为系统软件,和应用软件。人机交互方式;图形界面VS命令行方式系统软件;windows,linux,应用软件:QQ,微信等原创 2021-09-03 10:44:06 · 110 阅读 · 0 评论 -
1、Java多线程中的死锁
死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。这是一个严重的问题,因为死锁会让你的程序挂起无法完成任务,死锁的发生必须满足以下四个条件:互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。避免死锁最简单的方法就是阻止循环等待条件,将系统中所有的资源设置原创 2021-07-19 20:33:56 · 59 阅读 · 0 评论 -
编程语言中:& 和 &&,| 和 ||, 的区别
&&和&表示与,||和|表示或;&&表示第一个条件不满足就不会再去判断第二个条件,&表示两个条件都要进行判断,不管第一个条件是否满足;||表示如果第一个条件满足不会去判断第二个条件,|表示第一个条件满足了,也会去判断第二个条件;...原创 2020-01-09 13:28:44 · 1291 阅读 · 0 评论 -
chw是什么文件
chw是在打开chm文件时产生的索引文件,能够加快chm文件的索引,是自动产生,当删除后再次打开的时候还是会产生,所以没必要在意,建议不必要删除。原创 2021-02-01 09:52:33 · 4254 阅读 · 4 评论 -
JDK安装与环境变量配置(超细加图文)
安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。(其实jdk中已经包含jre但是有些编辑软件需要单独的JRE所以这里还是建议安装一下,建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)。1:安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可2:安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可注:若无安装目录要求,可原创 2021-01-29 19:39:53 · 181 阅读 · 2 评论 -
Java中ConcurrentHashMap的并发度是什么?
ConcurrentHashMap把实际map划分成若干部分来实现它的可扩展性和线程安全。这种划分是使用并发度获得的,它是ConcurrentHashMap类构造函数的一个可选参数,默认值为16,这样在多线程情况下就能避免争用。...原创 2020-05-06 08:03:42 · 2313 阅读 · 0 评论 -
java中什么是竞态条件?举例说明
竞态条件会导致程序在并发情况下出现一些bugs。多进程对一些资源的 竞争的时候就会产生竞态条件,如果首先要执行的程序竞争失败排到后面执行了,那么整个程序就会出现一些不确定的bugs,这种bugs很难发现而且会重复出现,因为线程间的随机竞争。一个列子就是无序处理。...原创 2020-05-06 08:01:32 · 824 阅读 · 2 评论 -
线程和进程有什么区别?
线程是进程的子集,一个进程可以有很多的线程,每条线程并行执行不同的任务。不同的进程使用的不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储数据。...原创 2020-05-06 07:51:30 · 167 阅读 · 0 评论 -
java中活锁和死锁有什么区别
活锁和死锁类似,不同之处在于活锁的线程或进程的状态是不断改变的,是一种特殊饥饿。一个现实的活锁例子是两个人在狭小的走廊碰到,两个都试着避让对方好让彼此通过,但是因为避让的方向都是一样的导致最后谁都不能通过走廊。简单的说就是,活锁和死锁的主要区别是前者 进程的状态可以改变但是却不能继续执行。...原创 2020-05-06 07:43:38 · 526 阅读 · 0 评论 -
java之方法签名
一、方法签名的组成:1、方法名2、参数列表(形参类别、个数、顺序)二、特别注意:1、与返回值、修饰符以及异常无关2、在Class文件格式之中,返回值不同,可以合法地共存于一个Class文件中。三、常见的问题应用:重载和重写。重载:同一个类中方法签名不同的方法。重写:方法签名必定相同,返回值必定相同, 访问修饰符 子 > 父, 异常类 子 < 父...原创 2020-05-04 20:28:08 · 2047 阅读 · 0 评论 -
在控制台编译运行java程序
首先在cmd中输入java –version确定java环境变量是否已经配好其次在cmd中输入javac –version 确定javac环境变量是否已经配好在用cd命令转到要编译.java文件的路径,用javac classname.java编译该java文件,将会看到产生了一个.class文件;其次,若要运行该.class文件,则直接输入java classname即可(不用加后缀名);...原创 2020-05-04 07:35:52 · 1439 阅读 · 0 评论 -
Java中的增强型for循环
优点:1.格式简练2.避免了出现数组下标越界的可能3.效率更高缺点;当需求中涉及到下标,增强for循环不是很适用package lian.xi;/*增强for循环*/public class Zfor { public static void main(String[] args) { int[] num = new int[]{123, 213, ...原创 2020-02-28 20:59:52 · 182 阅读 · 0 评论 -
substring()与 substring(int begin,int end)
*substring():截取从参数位置一直到字符串末尾,返回新的字符串substring(int begin,int end)截取从begin开始,一直到end结束,中间的字符串备注:【begin ,end),包含左边,不包含右边截取的是begin,到end-1*/`public class Demo02 {public static void main(String[] a...原创 2020-02-23 20:35:04 · 664 阅读 · 0 评论 -
java之equals
==是进行对象的地址值比较的,如果确实需要字符串的内容比较,可以使用两种方法。pubic boolean equals(Object obj);参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则发挥false。注意事项:1.任何对象都能用object进行接收。2.equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。3.如果...原创 2020-02-23 10:18:39 · 151 阅读 · 0 评论 -
字符串创建方式3+1
字符串的特点:1.字符串的内容不可以改变2.正是因为字符串不可变,所以字符串可以共享使用的3.字符串效果上相当于是char【】字符数组,但是底层原理byte【】字节数组*//*构造字符串的常见3+1种方式:三种构造方法:public String():创建一个空白字符串,不含任何内容public String(char[]array),根据字符数组的内容,来创建对应的字符串pub...原创 2020-02-22 07:24:07 · 149 阅读 · 0 评论 -
java基本类型和包装类
基本数据类型包装类byteByteshortShortintInteger(特殊)longLongfloatFloatdoubleDoublecharCharacter(特殊)booleanBoolean从jdk1.5+开始,支持自动装箱,自动拆箱。自动装箱: 基本数据类型------->包装类型自动拆箱...原创 2020-02-19 20:40:23 · 104 阅读 · 0 评论 -
无参构造和有参构造快捷方法
找到无参构造器有参的构造方法全选原创 2020-02-16 21:11:43 · 3153 阅读 · 0 评论 -
idea快速生成setter和getter方法
光标放在再次依次点击(快捷键Alt+Insert)再次选择Getter and Setter全选点击OK结果如下:自动生成原创 2020-02-16 21:04:48 · 2325 阅读 · 0 评论 -
面向对象一句话实现一段话
一句话实现一段话面向过程package 面向对象;import java.lang.reflect.Array;import java.util.Arrays;public class Demo01PrintArray { public static void main(String[] args) { int []num={30,40,50,60}; ...原创 2020-02-14 19:35:28 · 164 阅读 · 0 评论 -
Static、abstract、final怎么用
static用于修饰成员变量和成员函数,想要实现对象中的共性数据的对象共享,可以将这个数据进行静态修饰,被静态修饰的成员可以直接被类名调用,静态随着类的加载而加载,而且优先于对象存在。静态方法只能访问静态成员(静态方法和静态变量),不可以访问非静态成员,这是因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。静态方法中不能使用this和super关键字,因为this代表本类对象,su...原创 2020-02-14 11:04:52 · 141 阅读 · 0 评论 -
垃圾回收的优点和原理
Java 语言中一个显著的特点就是引入了垃圾回收机制,使 c++程序员最头疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制, Java 中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中...原创 2020-02-14 11:04:12 · 883 阅读 · 0 评论 -
String、StringBuffer、StringBuilder区别
String 是一个Immutable(不可变)类,包括类不可继承,类的属性不可更改。作为Java中基础是字符串类,每次字符串的拼接赋值都是新建一个对象进行操作。所以为了提高字符串拼接移除部分的性能,提供了线程安全的StringBuffer和不保证线程安全的StringBuilder。StringBuffer 是一个线程安全的类,具体实现的字符串拼接时通过一个字符串数组进行存储的。性能较Stri...原创 2020-02-14 11:02:58 · 97 阅读 · 0 评论 -
String类是否可以被继承,为什么
String类是final类,不可以被继承对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A)final修饰的类不可以被继承final修饰的方法不能被子类重写,但是可以被继承final不能修饰构造方法...原创 2020-02-14 11:02:12 · 243 阅读 · 0 评论 -
抽象类和接口有什么区别
含有 abstract 修饰符的 class 即为抽象类,abstract 类不能创建的实例对象。含有 abstract 方法的类必须定义为抽象类,抽象类中的方法不必是抽象的。抽象类中定义抽象方法必须在具体子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为 抽象类。接口(interface)可以说成是抽象类的一种特例,接口中的...原创 2020-02-14 11:01:43 · 195 阅读 · 0 评论 -
Collection和Collections的区别
1、java.util.Collection 是一个集合框架的父接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└Set2、java.u...原创 2020-02-14 11:01:09 · 72 阅读 · 0 评论 -
Final、finally有什么区别
final 表示最终的、不可改变的。用于修饰类、方法和变量。finally 异常处理的一部分,它只能用在try/catch语句中,表示希望finally语句块中的代码最后一定被执行(但是不一定会被执行)。finalfinal修饰类,表示该类不可以被继承final修饰变量,表示该变量不可以被修改,只允许赋值一次final修饰方法,表示该方法不可以被重写finallyfinally是ja...原创 2020-02-14 11:00:20 · 502 阅读 · 0 评论 -
异常处理的时候,finally代码块的重要性是什么
有时候,程序在try块里打开了一些物理资源(例如数据库连接 、网络连接和磁盘文件等),这些物理资源都必须显示回收,因为Java的垃圾回收机制不会回收任何物力资源,垃圾回收机制只能回收堆内存中对象所占用的内存。为了保证一定能回收try块中打开的物理资源,异常处理机制提供了finally块。不管try块中的代码是否出现异常,也不管哪个catch块被执行,finally块总会被执行。...原创 2020-02-13 21:12:01 · 1219 阅读 · 0 评论 -
Java中的异常处理机制的简单原理和应用
java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.Exception表示程序需要捕捉和处理的的异常;Error表示系统级别的错误和程序无需处理的。我们所需要关心的是Exception. Execption可以分为java标准定义的异常和程序员自定义异常2种.(1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错...原创 2020-02-13 21:11:25 · 384 阅读 · 0 评论 -
Throw和throws有什么区别
共同点两者在抛出异常时,抛出异常的方法并不负责处理,顾名思义,只管抛出,由调用者负责处理。区别(1)throws用于方法头,表示的只是异常的申明,而throw用于方法内部,抛出的是异常对象。(2)throws可以一次性抛出多个异常,而throw只能一个(3)throws抛出异常时,它的上级(调用者)也要申明抛出异常或者捕获,不然编译报错。而throw的话,可以不申明或不捕获(这是非常不负...原创 2020-02-13 21:10:40 · 720 阅读 · 0 评论 -
Exception和Error有什么区别
Exception和Error都继承了Throwable类,在java中只有Throwable类的实例才可以抛出(throw)或者捕获(catch)异常,它是异常处理机制的基本组成类型。Exception和Error是java对异常情况的两种分类,Exception是程序正常运行中可以预料到的意外情况,并且应该被捕获,进行相应的处理。Error是在正常情况下,不太可能出现的情况,绝大多数的Err...原创 2020-02-13 21:10:02 · 141 阅读 · 0 评论 -
Java中垃圾回收有什么目的?什么时候进行垃圾回收
垃圾回收是在内存中中存在没有引用的对象或超过作用域的对象时进行垃圾回收,垃圾回收的目的是识别并且丢弃不再使用的对象来释放和重用资源。目的:回收堆中不再使用的对象,释放资源。回收时间:当对象失去引用后,系统会在合适的时间回收它所占的内存。回收时间即出发GC的时间。在新生代的Eden区满了会触发新生代GC(MiMor GC),经过多次触发新生代GC存活下来的对象就会升级到老年代,升级到老年代...原创 2020-02-13 21:09:08 · 1316 阅读 · 0 评论