
java学习
文章平均质量分 65
knock_me
这个作者很懒,什么都没留下…
展开
-
static属性怎么自动注入@Value
通常,开发中的固定不变的配置项的值都存放在Qconfig中,使用时直接取出来。最常用到的就是非static的属性,配置文件名为。的文件中,存放的是Test类中的各个属性的值。非static属性,直接在属性上方添加。注解,即可给属性赋予对应的值。set方法不能为static。如果是static属性,一、非static属性。二、static属性。原创 2023-10-11 17:21:42 · 388 阅读 · 0 评论 -
别用==比较包装类
前两天工作把代码合并到主分支时,被公司的安全监测机制拦截了,一看是因为用了。具体的原因下面也讲解的很清楚,就是因为对象会复用,导致比较结果出错。只有在基本数据类型的比较上,是直接比较值,否则比较的是两个对象的地址。原创 2023-10-11 10:16:08 · 135 阅读 · 0 评论 -
Mybatis-plus实现【真·批量插入】
新建一个名为的类,继承。(当然,类名可以根据自己的喜好来)//添加InsertBatchSomeColumn方法 return methodList;} }原创 2023-08-08 14:59:38 · 25925 阅读 · 12 评论 -
为什么volatile不能保证原子性
volatile执行原理、volatile为什么没法保证原子性、代码实现原创 2022-10-05 16:12:13 · 3384 阅读 · 11 评论 -
final修饰的变量必须初始化吗?
final修饰的变量可以分为两类,局部变量和全局变量。当final修饰的变量是局部变量时,只需在用到这个变量之前进行初始化就可以了。但是,当final修饰的变量是全局变量时,必须在变量所属类的对象创建完成之前进行初始化。原创 2022-10-01 17:08:53 · 1998 阅读 · 0 评论 -
BIO和NIO和AIO
Java中的BIO、NIO和AIO可以理解为Java语言对操作系统中不同IO模型的封装。这样,程序员在需要使用不同IO模型时,无需从操作系统层面考虑,只需要使用Java中的API。就是发起一个请求后,调用者会一直等待请求结果返回,在此期间无法从事其他任务。就是发起一个请求后,调用者不用一直等着结果返回,可以先去干其他事情。就是发起一个调用后,立刻得到被调用者的表示已接收到请求的回应,但。被调用者通常依靠事件,回调等机制来通知调用者其返回结果。即发起一个调用后,被调用者未处理完请求之前,原创 2022-09-29 15:00:34 · 482 阅读 · 0 评论 -
Java并发-CAS、Synchronized、ThreadLocal、线程池
线程池、AQS、Volatile、Synchronized、线程池原创 2022-09-05 19:35:19 · 1041 阅读 · 0 评论 -
Java集合知识点
HashMap、HashTable、ArrayList、ConcurrentHashMap原创 2022-08-23 16:27:09 · 718 阅读 · 0 评论 -
Java基础
Java基础语法、关键字、异常、IO原创 2022-08-15 16:51:43 · 329 阅读 · 0 评论 -
Java泛型之类型擦除
泛型的基本原理泛型本质是将数据类型参数化,它通过类型擦除的方式来实现。 声明了泛型的 .java 源代码,在编译生成 .class 文件之后,泛型相关的信息就消失了。 可以认为,源代码中泛型相关的信息,就是提供给编译器用的。 泛型信息对 Java 编译器可以见,对 Java 虚拟机不可见。类型擦除使用泛型的时候加上的类型参数,会在编译的时候被编译器去掉。在这里,我们定义一个泛型类GenericsTest,下面的三段代码,分别是编译前的GenericsTest.java文件,经过编译器编译的Generi原创 2022-04-15 15:10:05 · 1103 阅读 · 0 评论 -
synchronized不能同步Integer等封装类
今天看synchronized同步的时候用到了Integer来进行测试,发现结果始终不对劲,后来查了之后发现synchronized不能用来同步Integer等封装类的。类似下面这种写法,不是线程安全:Interger i = 0;new Thread(){ synchronized(i){ i++; }};这里的i++相当于i = new Integer(i+1),i++之后的对...原创 2019-07-14 15:38:31 · 278 阅读 · 0 评论 -
switch的穿透性
switch会从第一个case开始一直执行到break,如果没有break,就会执行到switch语句的末尾。 //没有break的情况 int a = 6; int b = 10; int k = 0; switch (a%b) { case 0: k = a*b; case 1: k = a/b; case 6: k = a+b;...原创 2019-07-09 12:27:04 · 497 阅读 · 0 评论 -
DataOutputStream写入txt文件数据出现乱码的问题
在学习到数据流时,使用DataOutputStream向txt文件中写入几行数据,随手查看发现txt文件中显示的并不是我写入的数据,而是类似乱码的东西。出现上面的情况是因为DataOutputStream向文件写入时会做特殊的标记,只有DataInputStream才能进行读取。文件中显示的"NUL" "STX"可以在ASCII对照表中找到对应的释义。另外要注意DataInputStrea...原创 2019-04-26 16:08:05 · 122150 阅读 · 2 评论 -
Iterator迭代器的用法
我们可以通过迭代器来遍历一个序列,不论这个序列中存放的是数字,字符串或者是对象。如下所示,Hero是我创建的一个类public class Hero { String name; public Hero(String name) { this.name = name; }}我们可以创建一个ArrayList,里边存放实例化出来的Hero对象 List<Hero&g...原创 2019-05-03 18:14:12 · 379 阅读 · 0 评论 -
JAVA的除法计算
我们都知道在JAVA中"/“是取整,”%"是取余,那么我们要是想算类似1÷10=0.1怎么算?方法一 DecimalFormat //定义方法 public static String Chufa(int a,int b) { //“0.00000000”确定精度 DecimalFormat dF = new DecimalFormat("0.00000000"); ...原创 2019-05-14 14:02:26 · 106570 阅读 · 5 评论 -
内部类
内部类一般分为:成员内部类,静态内部类,局部内部类和匿名内部类。成员内部类成员内部类是定义在另一个类中的一个类,看起来和类中的成员变量和方法一样,所以叫做成员内部类。成员内部类的依存于外部类。也就是说,必须在存在一个外部类对象的基础上,才能够实例化一个成员内部类的对象。下面代码main函数中第一行就是一种实例化成员内部类的方法。内部类的成员变量和方法与外部类重名时,默认访问的是内部...原创 2019-05-19 20:02:42 · 126 阅读 · 0 评论 -
equal方法和==的区别
==1.比较的是等号两边的变量内存放的对象的地址,两者地址相同,返回true。2.若两边是单纯的数字,数字的值相同,返回true。equal比较的是两边对象的内容是否相同下面图示中:A和B指向同一个对象,所以A == B,且A.equal(B) == true。A ==C 和B ==C返回值都是false。而A.equal©和B.equal©返回值为true,因为他们...原创 2019-05-13 11:43:35 · 769 阅读 · 0 评论 -
抽象类
抽象类1:被abstract修饰的类叫做抽象类。2:被abstract修饰的方法是抽象方法,抽象方法没有方法体。3:类中含有抽象方法时,必须被声明为抽象类,但是抽象类中可以不包含抽象方法。4:当类继承一个抽象类时,就必须重写其中的抽象方法。5:抽象类不能够直接实例化首先我们定义一个抽象类Person,其中有一个抽象方法say()。再定义Man,Woman两个类继承自Person,因为s...原创 2019-05-17 15:29:38 · 126 阅读 · 0 评论 -
在macOS下配置tomcat
在macOS下怎么配置tomcat?1. 下载安装包下载链接: https://tomcat.apache.org/download-80.cgi选择Core下面的tar.gz2. 解压并放入library文件夹中将下载好的文件解压并且重命名为tomcat,然后将此tomcat文件夹复制到library文件夹下面去。在finder的前往中输入/library前往library文件夹。...原创 2019-06-04 15:21:50 · 523 阅读 · 0 评论 -
POST方法和GET方法的区别
标准答案:(1)GET在浏览器回退时是无害的,而POST会再次提交请求。(2)GET产生的URL地址可以被添加为书签,而POST不可以。(3)GET请求会被浏览器主动cache,而POST不会,除非手动设置。(4)GET请求只能进行url编码,而POST支持多种编码方式。(5)GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。(6)GET请求在URL中传送的参...原创 2019-07-01 16:27:01 · 549 阅读 · 2 评论 -
String,StringBuffer以及StringBuilder的区别
首先给出运行速度的比较 :StringBuilder > StringBuffer > StringStringString是一个字符串常量,也就是说String一旦创建之后是不能更改的。在下面的代码中看似字符串s被修改了,但其实系统是新建了一个s,然后将原来的s加上字符串"money"赋值给这个新建的s,然后将原来的s回收掉,从而来达到字符串修改的目的。所以,对String类...原创 2019-04-26 11:34:22 · 110 阅读 · 0 评论