java基础
java基本知识
zhang2383906154
这个作者很懒,什么都没留下…
展开
-
Vue2 图片展示
【代码】Vue2 图片展示。原创 2023-08-27 22:08:19 · 245 阅读 · 0 评论 -
HashMap循环remove()报java.util.ConcurrentModificationException
HashMap循环remove()报java.util.ConcurrentModificationException原创 2022-07-01 14:20:59 · 415 阅读 · 0 评论 -
IDEA引入JDK/jar包无效、java 文件灰色右下角橙色java图标显示等问题解决办法
IDEA引入JDK/jar包无效原创 2022-06-27 17:17:34 · 8045 阅读 · 0 评论 -
两个Integer比较大小,为什么100等于100,1000不等于1000?
两个Integer比较大小,为什么100等于100,1000不等于1000原创 2022-06-08 11:57:53 · 444 阅读 · 0 评论 -
设计模式-装饰者模式
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。下面使用装饰器模式煎饼加码的问题来看这样一个场景,上班族大多有睡懒觉的习惯,每天早上上班都时间很紧张,于是很多人为了多睡一会儿,就用更方便的方式解决早餐问题,有些人早餐可能会吃煎饼。煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么加码,都还是一个煎饼。再比如,给蛋糕加上一些水果,给房子装修,都是装饰器模式。首先创建一个煎饼抽象类 Battercake 代码如下:public abstract cl原创 2022-03-22 17:44:25 · 511 阅读 · 0 评论 -
常用的正则表达式
public class UtilRegular { //整数 public static final String intege = "^-?[1-9]\\d*$"; //正整数 public static final String justIntege = "^[1-9]\\d*$"; //负整数 public static final String negtiveIntege = "^-[1-9]\\d*$"; //数字 public.原创 2022-03-22 11:19:00 · 234 阅读 · 0 评论 -
【设计模式】单例模式
什么是单例模式?单例模式(Singleton Pattern) 是指一个类在任何情况下只有一个实例,全局只有一个访问点隐藏其所有的构造方法,属于创建型模式创建型模式都有那些:工厂模式,单例模式,建造者模式和原型模式单例模式的写法和优缺点:1、饿汉单例模式在类加载的时候立即初始化,并且创建单例对象,它绝对线程安全,在线程还没有出现之前就实例化了,不可能存在访问安全问题。实例代码如下:public class HungryStaticSingleton implements S原创 2022-03-18 18:19:16 · 370 阅读 · 0 评论 -
spring IOC和DI 理解
IOC(控制反转)和DI(依赖注入)是spring中的重要组成部分,下面是个人的一些理解,不代表官方。1、IOC是什么?IOC:全名是Inversion of Controller 中文解释是控制反转,不是什么技术,是一种设计思想。在java开发中IOC意味着你设计好的对象交给容器控制,而不是传统的在你对象内部直接控制。如何理解好IOC那?理解IOC的关键是要明确:“谁控制谁”、“控制什么”、为何是反转(有反转就应该有正转)哪些方面反转了,我们来分析一下:1)谁控制谁,控制什么:传统的java原创 2021-11-15 17:06:49 · 2754 阅读 · 0 评论 -
HashMap之 链表转红黑树
当链表长度大于等于TREEIFY_THRESHOLD(默认8)时,同时链表长度大于等于MIN_TREEIFY_CAPACITY(默认64)就会触发链表转红黑树的情况,当然,在删除(remove)数据或其它原因调整了大小,当红黑树节点小于或等于6以后,会回复成链表形态。1、为什么链表要转红黑树 每次遍历链表,平均查询的时间复杂度是O(n),n是链表长度。红黑树和链表的查询性能不一样 由于红黑树自平衡的特点,可以防止不平衡的情况发生,所以红黑树把查询的时间复杂度始...原创 2021-11-15 11:18:13 · 5414 阅读 · 4 评论 -
HashMap(jdk1.8) 之 resize() 扩容
1、为什么要扩容 为了减少hash碰撞,提高hashMap性能 (1)达到阈(yu)值扩容 (2)链表长度大于8,数组长度小于642、怎么扩容 代码如下:final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; //老的容器长度 int oldCap = (oldTab == null) ? 0 : oldTab.length;...原创 2021-11-01 16:23:04 · 349 阅读 · 0 评论 -
HashMap(jdk1.8) put原理分析
1、什么是HashMap HashMap是基于hash表的一个Map接口实现,数组+链表的存储方式 数组的特点:查询快,新增和删除慢 链表的特点:增删快,查询慢 数组+链表将两者的特点结合使用2、HashMap做什么用?...原创 2021-11-01 15:54:26 · 459 阅读 · 0 评论 -
字节流和字符流的区别
字节流:InputStream(读) ,OutputStream(写)字符流:Reader(读),Writer(写)读和写入的方式不同:字节流是以字节为最小操作单元(8bit),字符流是以字符为单位,根据表的映射规则实现 多个字符的读写处理的方式不同: 字符流用于处理纯文字,字节流可以处理图片数据,也可以处理纯文字字节流:一次读入和读出的8位二进制字符流:一次读入和读出的是16位二进制...原创 2021-05-12 20:01:19 · 196 阅读 · 0 评论 -
计算机存储器的区分
计算机存储器按用途可以分为主存储器和辅助存储器主存储器:主存储器又称内存,是CPU能直接寻址的存储空间,它的特点是存储速度快,内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),高级缓存(cache)辅助存储器:磁盘,硬盘,光盘也就是我们的C,D,E,F盘...原创 2021-05-08 14:00:41 · 481 阅读 · 0 评论 -
String,StringBuffer,StringBuilder的区别
1、String 字符串常量,final修饰不能被继承,创建后不能被修改2、StringBuffer 字符串变量,final修饰不能被继承,线程安全(synchronized),其toString方法会进行对象缓存3、StringBuilder 字符串变量,final修饰不能被继承,非线程安全(没用synchronized),其toStrring方法直接创建对象(new)...原创 2021-05-07 20:41:24 · 43 阅读 · 0 评论 -
String 被final修饰 为字符串常量,为什么可以被修改?
public static void main(String[] args) { String a = "abc"; System.out.println(a); a = "dfg"; System.out.println(a);}结果:abcdfga只是String对象的一个引用并不上对象本身,当执行a = "dfg"时创建了新的对象,原来的“abc”还存在于内存中,只是a的引用对象地址发生了变化...原创 2021-05-07 17:53:37 · 1335 阅读 · 0 评论 -
String a = “abc“和 String a = new String(“abc“) 的区别
1、前者 有0个或1个对象,后者1个或2个对象;先看常量池,字符串常量池中有,前者 直接赋值 后者 在堆内存中还需要再创建一个“abc”实例对象。2、前者 直接赋值,后者通过构造函数构造3、jvm性能而言 前者优。...原创 2021-05-07 17:02:34 · 642 阅读 · 0 评论 -
String能否被继承?为什么?
不能被继承;String类有final修饰符,而final修改的类是不能被继承的,实现细节不允许改变。原创 2021-05-07 09:57:28 · 1150 阅读 · 0 评论 -
单例模式
1、什么是单例模式: 一个类在任何情况下只有一个实例,并提供一个全局访问点 特点:构造方法私有化2、单例模式有哪些:饿汉、懒汉、注册式单例 (1)饿汉模式 直接实例化一个对象 优点:执行效率高,可以直接创建实例 缺点:在一定情况下,会造成内存资源浪费 pu...原创 2020-02-28 16:14:52 · 103 阅读 · 0 评论 -
java运算符 与(&)、非(~)、或(|)、异或(^)
1.十进制转二进制原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是0 0 0 1 ,反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位。所以在高位补齐,java中字节码是8...转载 2018-04-02 11:31:25 · 195 阅读 · 0 评论