- 博客(38)
- 收藏
- 关注
原创 sping循环依赖:but has eventually been wrapped. This means that said other beans do not use the final
spring循环依赖
2022-08-06 14:33:15 2225
原创 Java String类的值传递还是引用传递
我们都知道这样一句话:基本类型是值传递,对象都是引用传递。如果是值传递,那么如果在方法里传入这个变量,如果在方法里改变了这个变量的值,那么这个改变的范围只是在方法里面起作用。如果是引用传递,如果在方法里改变了这个变量的值。那么你真的改变了这个变量的值。不仅仅是在方法里面。、举例:值传递。public class Main { public static void main(String[] args) { int i1=5; testint(i1);
2020-09-25 18:02:13 1165 1
原创 深入理解volatile原理。
volatile的两个功能:①指令重排②可见性。为了使处理器内部的运算单元可以充分的被利用,处理器可能会对输入代码进行乱序执行优化,处理器会在计算之后将乱序的结果重组,保证该结果和顺序执行的结果一致,但并不保证程序中各个语句计算的先后顺序和输入代码中的顺序一致。Java虚拟机的即时编译器也有类似的指令重排的机制。而volatile防止指令重排的功能,防止多线程情况下发生一位我们意想不到的事情。那么什么是可见性呢?对于多线程的情况下,如何实现一个共享变量对于多线程可见。我们需要理解Jav.
2020-09-20 21:14:22 159
原创 Java运算符 & 和^
运算符&。把两个数字转化成二进制。从高位开始比较,同1为1,否则为0 @Test public void test5(){ //异或操作符运算 System.out.println(3& 5); //1 System.out.println(5 & 7); //3 }输出:15原因:3 0115 101-> 001 ->1(十进制)5 101
2020-09-19 21:59:42 272
转载 两数之和:力扣top1
class Solution { //思路:直接往map里加,当什么时候不加了呢,当集合里面出现target-添加进集合里面的值的时候,就可以不加了。 //java.util.HashMap; HashMap.get(key) HashMap.put(key,value) 返回匿名数组:new int[]{ xx,xxx} //throw new RunTimeException("没有找到数据") public int[] twoSum(int[] nums, int t.
2020-09-14 15:28:09 90
原创 探秘Java左移运算符和右移运算符
在平常学习Java的时候,是很少遇到左移运算符<< 和右移运算符>> 的。但是在刷算法的时候,我发现了。现在就来记录一下。左移运算符,就是整体向高位移动(向左),舍弃高位,然后低位补零。这个数左移一位:1000 1100 << 1结果: 000 1100 0 就是高位舍去,低位补零。需要注意的是如果超过32或者超过64.那么情况就会不一样。就需要对移动的位数取余。取余32或者取余64。还是原来的例子:1000 1100 &l...
2020-09-12 23:16:29 316
原创 Annotation type expected
问题:在idea上使用Junit进行测试的时候发现它并不会自动导包,报错信息:Annotation type expected不能通过快捷键自动导包。我们加入这个包就行了import org.junit.Test;然后再根据提示把这个package导入对应的路径就行了。...
2020-09-12 22:17:27 3038
原创 聚集索引、非聚集索引、索引覆盖
文章目录1什么是聚集索引2什么是索引覆盖1什么是聚集索引我们来建一个表:伪代码t1(u_id primary key ,t_id int key ,string name);所谓聚集索引,它并不是一种单独的索引类型,而是一种数据存储方式。所谓聚集,就是数据和相邻的键值聚合在一起,不分开,InnoDB存储引擎使用B+树的数据结构来实现聚集索引。如图:在InnoDB中,我们有:①主键就是聚集索引,且唯一。②如果没有主键,InnoDB会选择唯一的非空索引代替。③如果没有这样的索引,InnoD
2020-07-23 19:56:10 296
原创 MySQL索引的优化:高性能索引策略。
文章目录1 独立的列2 前缀索引和索引的选择性3使用联合索引(多列索引)4联合索引的排列问题下面是索引使用的一些优化的方法。1 独立的列如果我们使用不恰当的检索方式,会使的MySQL无法使用索引。如:select id from student where id+1=5;前置条件:id为索引列。在这条查询中MySQL没有使用到索引。因为where后面是表达式:id+1=5;这个不是独立的列,MySQL无法直接解析这个表达式,所以无法使用到索引为id的列。2 前缀索引和索引的选择性假设的索
2020-07-23 16:21:19 250
原创 MySQL:avg()、count()、max()、min()、sum()函数的使用
文章目录概述AVG() 函数COUNT()函数MAX() 函数MIN()函数SUM()函数聚合不同值组合函数概述我们经常需要汇总数据而不是把它们实际检索出来,常用场景有以下几种:①确定表中的行数(或满足某种条件或包含某个特定值的行数)②获得表中行组的总和。③找出表列的最大值、最小值和平均值。函数说明AVG()返回某列的平均值COUNT()返回某列的行数MAX()返回某列的最大值MIN()返回列的最小值SUM()返回某列值之和AVG()
2020-07-23 10:05:34 1579
原创 MySQL索引的原理:B+树详解(通俗易懂)
1.为什么使用索引?2为什么使用B+树?3B+树的特点目录1.为什么使用索引查询会变快?对于刚接触索引的人来说,可以知道的只有,加索引,查询就会变快。可是为什么呢?我们来看这样一个例子。对于column2列。如果我们要找到数据为6,如果没有任何的索引,我们需要查找几次呢?答案是六次,一次顺序查找,从首项3开始到末项。我们找一个值,如果没有加索引,在最差的情况下(查找的数在末项),需要六次,这只是数据量为6条的情况下,那么如果这个表有几百万条数据,而需要被查找的数据又刚好在
2020-07-22 16:17:38 5334 4
原创 谈谈算法的时间复杂度
问题:如果我们需要知道一个算法执行的时间,我们应该怎么做。解决一:直接用时间函数来统计,它根据计算机的不同,时间会不一样,但是我们如果想知道时间,每次都要实际操作才行,这样是不太现实的,有什么方法可以直观的得出一个算法的效率呢?直觉告诉我们它和问题的规模有关。解决二,我们直接用数学模型来判断,我们根据执行语句执行的次数,来得出一个函数,这个函数就是问题的规模。这个问题的规模取决于最频繁的执行语句。举个例子:Int count=0;For(int i=0;i<N;i++)C.
2020-06-16 23:59:23 1351
原创 Java中Arrays.copyOfRange函数
最近有遇到一个函数,Arrays.copyRange()函数。这个函数为复制一个数组的部分。包左不包右。(就是第一个参数的左边复制,不包括第二个参数)以下demo测试,希望给到大家一点启发。如果是第一个参数和第二个参数相同,则返回空数组。当然这个函数还有很多参数,不过大同小异,这里就不一一列举。...
2020-06-06 10:57:28 626
原创 Java 关键字return、continue、break的作用。
最近在刷题,经常有用到循环,就容易使用的边界条件跳出循环。就涉及到三个关键字。return、break、continue。区别:return:直接返回这个函数,也就是说这个函数结束,break后面的语句将不再执行。break:跳出循环体,执行循环体外的内容。continue:结束这次循环,进入到下一趟的循环。请看demo:它没有打印“我是剩下来的内容”,说明直接返回了这个函数,也就是函数结束了。break:continue:参考:https:/..
2020-06-05 22:53:54 283
原创 IDEA报错:Push failed Invocation failed Server returned invalid Response.java.lang.RuntimeExcept
今天在idea上push自己的demo的时候报错:Push failed Invocation failed Server returned invalid Response. java.lang.RuntimeException: Invocation failed Server returned invalid Response. at org.jetbrains.git4idea.http.GitAskPassXmlRpcCl...
2020-06-02 01:21:24 5254
原创 Java基础篇:异常的处理
假设在一个 Java 程序运行期间出现了一个错误。这个错误可能是由于文件包含了错误信息,或者网络连接出现问题造成的,也有可能是因为使用无效的数组下标, 或者试图使用一个没有被赋值的对象引用而造成的。用户期望在出现错误时, 程序能够采用一些理智的行为。 ——《Java核心技术卷一》
2020-04-26 13:56:51 324
原创 HTTP常用状态码
概述状态码的职责是对客户端发送给服务器的请求,返回描述请求返回的结果。借助状态码我们可以知道服务器是正常处理了请求,还是出现了错误。分类1XX 接受的请求正在处理 (信息状态码)2XX 请求正常处理完毕 (成功状态码)3XX 请求需要附加操作以完成请求 (重定向状态码)4XX 服务器无法处理请求 (客户端错误状态码)5XX 服务器处理请求出错 (服务器错误状态码)详细...
2019-12-27 13:12:13 110
原创 java异常:java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/la
今天在写springdemo的时候出现一个异常:java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V at or...
2019-09-27 11:28:01 3440 1
原创 Java方法传参:值传递还是引用传递?
在Java方法传参中有一个让疑惑又很经典的问题:在方法传递时,到底传递的是值,还是引用?其实Java只有值传递这一种。不过是传数据值还是地址值的问题。首先我们要知道两个Java存储区:栈(虚拟机栈)和堆。我们说的“栈”就是虚拟机栈,虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。局部变量表存放了编译期可...
2019-09-19 23:25:26 689 2
原创 Java ==和equals的区别:是否比较地址值
首先我们要比较的是引用类型。==比较的是引用类型对象在内存中存放的地址。准确的说是堆内存中的地址。而equals是基类Object自带的方法,我们写的每个类都会有这个默认的方法,你可以重写它也可以不重写。代码是:也就是说当我们自己写的类,我们没有重写equals方法时,equals等同于==。我们来看下一个小demo:class A{ int a=0; publ...
2019-09-18 14:58:20 1708 1
翻译 eclipse怎么给main方法传递参数
今天学习算法的时候,算法四指导书要从命令行给main方法传递参数。可是我不会,经过百度。右键run as->run configrations右边是你的项目点击左边的argument,下面的方框就是你要传入的参数。多个参数用空格隔开。apply-->run...
2019-09-17 16:10:28 274
翻译 MySQL入门很简单PDF带书签。
百度网盘:https://pan.baidu.com/s/1r11VJpvwBjBH_5seaCNOSA提取码:d1hg
2019-09-16 12:43:51 1026
原创 MySQL之外键约束:on delete| on update用法实例。
外键外键:就是表和表之间的关联(关系)。我们可以称之为外键关联,也可以成为外键约束。就是一张表数据发生变化,另外一张表数据也跟着发生变化。目的:定义外键就是为了当主表发生变化的时候,子表也发生变化。注意事项:条件:InnoDB。引擎。关联的字段类型要一样,为已经做好的表添加外键。语法:alter table 表名 add constraint FK_ID foreign key(你的...
2019-09-16 12:27:36 1967
原创 MySQL 创建索引
文章目录在创建表时建立索引在已经存在的表中创建索引。使用alter建立索引在创建表时建立索引语法:create table 表名(属性名 数据类型 【完整约束条件】 属性名 数据类型 【完整约束条件】 ....... 【UNIQUE | FULLTEXT | SPATIAL】 INDEX | KEY 【indexname】 (属性1)...
2019-09-11 12:15:58 148
原创 mysql alter语句用法:增加字段、修改字段、删除字段等
文章目录1修改表名修改字段数据类型修改字段名增加字段删除字段1修改表名alter table 旧表名 rename 新表名修改字段数据类型alter table 表名 modify 属性名 数据类型(要修改的部分,修改为你需要的类型)。原本表:现在修改name字段的数据类型修改字段名语法:alter table 表名 change 旧属性名 新属性名 新数据类型其中...
2019-09-10 18:33:20 2357
原创 浅谈MySQL创建表那些事
文章目录创建表的语法形式设置表的主键(primary key)设置表的外键(foreign key)设置表的非空约束(not null)设置表的唯一性约束(unique)**设置表的属性的自增**(auto_increment)设置表的属性默认值(default)查看表的结构创建表的语法形式MYSQL中,创建表的语法如下:)create table 表名(属性名 数据类型 【完整性约束条件】...
2019-09-10 13:40:30 197
原创 Type interface XXXMapper is not known to the MapperRegistry
今天在学习使用mybatis的时候,出现报错:Type interface com.mapper.StudentsMapper is not known to the MapperRegistry.翻译:com.mapper类型接口。MapperRegistry不知道StudentsMapper。解决:原来是接口对应的xml文件的namespace对应的接口写错了。错误:我把namespac...
2019-09-05 13:28:39 1924
原创 mybatis入门程序(一):从建表到查询表中的数据。
文章目录创建数据表新建eclipse项目创建数据表首现在mysql里面新建一个数据表并且插入数据Create table students(stud_id int(11) not null auto_increment,name varchar(50) not null,email varchar(50) not null,dob date,primary key(stud_id) ...
2019-09-05 12:12:33 361
原创 Linux系统下载:CentOS系统下载地址
官网:https://www.centos.org/download/可能网速会慢。我用的是下面这个阿里云站点centOS7:http://mirrors.aliyun.com/centos/7/isos/x86_64/我下载的是第一个CentOS-7-x86 64-DVD-1810.iso.第一个TXT文件是它的简介,以下是对它的英文翻译:此目录中的图像列表====...
2019-08-11 16:53:14 414
原创 java异常:java.lang.InstantiationException最全的解决方法
今天使用反射实例化遇到一个异常:java.lang.InstantiationException先看要通过反射实例化的类:就一个很普通的类package com.dd.reflect;public class flower { private String color; private int num; public flower(String color, in...
2019-07-20 20:25:57 34137 9
原创 Java接口的概念和使用
1.什么是接口: 在Java核心核心技术中描述:在Java程序设计语言中,接口不是类,而是对类的一组需求的描述,这些类遵从接口描述的统一格式进行定义。接口是Java里的一种抽象类型,在设计模式中会大量的使用,因为它是可复用,可以统一类型等等。非常非常重要2.接口和类的区别:接口不能用于实例化对象。 接口没有构造方法。(因为接口不能被实例化) 接口中所有的方法必须...
2019-06-16 20:12:23 410
原创 Java抽象类的理解和用法。
最近参阅了一些关于Java抽象类的博客,现在谈谈我对抽象类的理解。抽象类就是一种蓝本,它属于一种模本,但是没有讲如何实现。是不具体的,它包含了抽象方法(也可以包含非抽象方法。)在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能...
2019-06-16 18:52:59 203
原创 浅谈java向上转型和向下转型
向上转型:将一个子类的对象赋值给父类变量。格式:Father f=new Son();Father 是父类,Son是子类。看代码:package part01;class Father{ int i=0; public void method1() { System.out.println("father method"); }}class Son...
2019-06-16 18:00:41 220
原创 Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
在第一次使用c3p0的时候我出现一个异常报错:Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector, 经过百度,发现是少了一个jar包:下图第三个。这个jar包在原本下载c3p0的时候就有。在把这个jar包添加进你的工程去就行了。 ...
2019-06-05 17:46:08 1559 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人