- 博客(18)
- 收藏
- 关注
原创 【SpringBean线程安全?】
**SpringBean线程安全?**结论:Spring Bean不具备线程安全性Spring本身并没有给Bean提供线程安全策略,从某种程度上来讲,Spring容器中的Bean不具备线程安全的特性,但具体的还要结合具体的scope(作用域)去研究。Spring Bean的作用域(scope)类型1.singleton :单例,默认作用域。2.prototype:原型,每次都会创建一个新的对象。3.request:请求,每次Http请求创建一个新的对象。使用于WebAppContext环境下
2022-05-31 15:21:27
131
原创 面试题java
给你一个下标从 0 开始的整数数组 nums 。如果两侧距 i 最近的不相等邻居的值均小于 nums[i] ,则下标 i 是 nums 中,某个峰的一部分。类似地,如果两侧距 i 最近的不相等邻居的值均大于 nums[i] ,则下标 i 是 nums 中某个谷的一部分。对于相邻下标 i 和 j ,如果 nums[i] == nums[j] , 则认为这两下标属于 同一个 峰或谷。注意,要使某个下标所做峰或谷的一部分,那么它左右两侧必须 都 存在不相等邻居。返回 nums 中峰和谷的数量。来源:力扣(L
2022-03-22 16:54:20
102
原创 为什么复写的hashCode方法里面会有31这个数?
1.选择系数时要选择尽量大的系数,因为计算出来的hash值越大,所谓的“冲突”就越小。2.31只占用5bits,相乘造成溢出的概率较小。3.31可以由i*31==(i<<5)-1来表示,现在很多虚拟机里都做多优化。4.31是个素数,素数的作用就是如果我用一个数乘以这个素数,那么最终的结果只能被只能被素数本身,和被乘数和1来整除(减少冲突)。...
2022-03-12 15:00:38
1276
原创 IDEA创建包目录时,怎么设置成分层结构
当我们创建com.Lin.daily包时会出现下面这种不分层的情况这时可以点击小齿轮⚙️按钮,如下图所示操作然后就能得到下面这种效果
2021-12-06 14:06:29
779
原创 read()方法读取重复文件时,布尔表达式书写的注意事项。
读取重复文件的循环优化假如一个文档中有abc三个字母,要用read()方法读取出它们,就可以写一个while循环。但是布尔表达式不能写成fis.read()!=-1int len = 0;while((len=fis.read()!=-1){System.out.print((char)len)//abc}它们输出的是abc,可能有人会问为什么不能用下面这种更简洁的写法呢。while(fis.read()!=-1){System.out.print((char)fis.read())//b
2021-12-02 12:36:52
224
原创 Java多线程安全问题的解决方式
Java多线程安全问题的解决方式出现的原因当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错实例class Window implements Runnable{ private int ticket = 10; @Override public void run() { while (true){ if (ticket > 0){
2021-11-24 19:18:13
176
原创 三种多线程实现方式与其优缺点
JAVA多线程的三种创建方式一、概述在JAVA中,用Thread类代表线程,所有线程对象,都必须是Thread类或者Thread类子类的实例。每个线程的任务就是执行一段顺序执行的代码,JAVA使用线程执行体来容纳这段代码。所以,我们创建线程时,主要是根据实际需求,编写放入线程执行体的代码。二、三种创建方式2.1 第一种,通过继承Thread类创建线程类通过继承Thread类来创建并启动多线程的步骤如下:**1、定义一个类继承Thread类,并重写Thread类的run()方法,run()方法的
2021-11-23 19:11:52
982
原创 Set集合存储元素不重复原理
Set集合存储元素不重复的原理Set集合存储不重复的元素,前提是储存元素必须重写hadhCode方法和equals 方法代码举例说明//创建HashSetX集合对象HashSet<String> set = new HashSet<>( ); String s1 = new String( original: "abc"); String s2 = new String( original: "abc");set.add(s1);set.add(s2);set . a
2021-11-16 11:02:12
799
原创 Java中如何获取字符串的地址值
Java中获取字符串的地址值int hello = System.identityHashCode("hello");System.out.println(hello);hello = System.identityHashCode("hello");System.out.println(hello);hello = System.identityHashCode(new String("hello"));System.out.println(hello);...
2021-11-16 09:53:08
1282
原创 String直接赋字符串和new String的区别
String直接赋字符串和new String的区别String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;String str=”kvill”;与 String str=new String (“kvill”);的区别:在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。常量池(const
2021-11-16 09:34:54
395
原创 MySql(5.5)下载安装配置。
MySql(5.5)zip版下载安装1.下载地址https://downloads.mysql.com/archives/community/选择自己要下的版本,这里以5.5为例2.下载完成后,安装MySQL下载完后解压到,将压缩包解压到你想安装的目录,我的安装路径如图。2.1配置环境变量然后找到控制面板–>系统和安全–>系统–>高级系统设置–>环境变量–>系统变量系统变量中添加两个,第一个直接添加Mysql_Home,第二个添加到Path里(注意第二个是/
2021-10-19 17:12:43
2764
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅