
Java基础
喜欢学习的小棉袄
这个作者很懒,什么都没留下…
展开
-
JDK1.7的HashMap死循环
为什么在JDK1.7多线程情况下会很容易出现HashMap死循环,这个还是要根据它采取的扩容策略来看,它的扩容策略是头插法,因此会导致这样的问题。在JDK1.8改进为尾插法,但并不意味着尾插法能适应多线程并发的场景,我认为其最主要的考虑就是头插法在正常情况下是与原来链表顺序相逆的,而尾插不会改变其顺序。第一阶段:线程1和线程2同时开始扩容,但是线程1在执行完Entry<K,V> next = e.next后由于不可控因素(如CPU调度)暂时失去执行能力,此时Thread获取到CPU资源,并.原创 2020-08-25 10:44:04 · 453 阅读 · 0 评论 -
Java核心基础(三)
String,StringBuffer,stringBuilder的区别和联系StringString在Java基础中充当着很重要的角色,里面有生成和管理字符串的逻辑。基本在每一种语言String都是必不可少的。它也是典型的Immutable类,它的所有属性都是final的,由于它是Immutable类,因此对它的修改操作都会让它产生新的String对象。正因为如此,频繁的对字符串进行操作会导...原创 2019-04-02 12:29:05 · 197 阅读 · 0 评论 -
Java核心基础(二)
Java的引用类型Java中引用类型是什么?在 Java 中,除了原始数据类型的变量,其他所有都是所谓的引用类型。在前面中final中也提到过Java中的幻象引用,那下边就来揭开引用的神秘面纱。Java中的几类引用和用途强引用:就是我们平时经常见到的对象引用,强引用的存在可以标志着被引用对象在活着的状态,这样在垃圾回收的时候就不会碰这个对象。保护在运行程序中不可少的对象软...原创 2019-04-01 18:40:00 · 123 阅读 · 0 评论 -
Java核心基础(一)
Java核心基础总结和一些易混淆点Error和Exception的关系和区别关系: Error和Exception都是继承于Throwable类Error: 是指在正常情况下,不大可能出现的情况,绝大部分的 Error 都会导致程序(比如 JVM自身)处于非正常的、不可恢复状态。 因此,这些异常就不用捕获,因为它导致程序出问题了。比如栈溢出,内存溢出等都是它的子类。Excepti...原创 2019-04-01 18:39:18 · 176 阅读 · 0 评论 -
BeanUtils源码分析及其使用
在文章开头我还得回想回想我当时从前台接收数据的艰辛历程,一行行的getParameter看这都心里犯狠,这些没有任何技术含量的事要做这么多遍,后来呢我就发现了getParameterMap这个API(有点尴尬),就自己写了个遍历的工具类,但是故事并不是这么完美的,因为我要new 一个bean给它赋值,然后我就又开始了我的艰辛历程了(说多了都是泪),我当时就在想有没有什么方法让我从这解放出来呢(当...原创 2019-01-21 20:53:17 · 417 阅读 · 0 评论 -
内部类
##内部类内部类可以隐藏属性(可以很好的把属性隐藏在内部类中)内部类可以访问内部类外边的属性(可以在一个类里添加一个内部类来实现接口,再给里面写一个生成内部类对象的方法,则可以在后边代码中使用外部类提供的方法使用内部类实现的接口)内部类中.this和.new的用法.this:需要对生成对外部类对象的引用,那就可以使用 outer.this产生一个外部类对象的引用,并且可以调用外部类的...原创 2019-01-17 19:45:07 · 123 阅读 · 0 评论 -
JAVA基础总结——六继承和多态
走进Java你会发现有和其他语言不一样的风格,它可以继承父类,它会省去很多的代码,虽然它也会有修改不便等一些的问题,但是它还是好处蛮多的。什么是继承?继承:基于某个父类,制定新的子类,可以继承父类原有的属性和方法(用extends关键字)子类对父类怎么调用?在继承的子类中可以用super()调用父类的构造方法,也可以用super关键字用调用成员方法(前提是不能是private类型的方法)...原创 2018-10-24 12:33:08 · 188 阅读 · 0 评论 -
JAVA基础总结7——异常
一.异常的使用Java捕捉异常结构由try catch finally三部分构成。try语句块放的是可能发生的异常;catch在try后,激发被捕获的异常;finally语句块是异常块最后执行的且无论如何都会执行。格式如下:try{…}catch(e){…}catch(e){…}finally{…}几个常用的输出异常性质的方法:getMessage():输出错误性...原创 2018-10-26 20:27:36 · 156 阅读 · 0 评论 -
JAVA基础总结5——有关常用的数字处理
数字处理的常用方法概要:数字处理:对数字进行处理,变成你想要的形式。称为数字处理,因此他很多都在Math类中,这些方法的调用也很简单,Math.方法即可调用。接下来呢我就介绍一些常用的有关数字处理的方法:1.Math类中的取最大值,最小值,绝对值函数(E 为基本数据类型)public static E max(E a,E b)求a和b之间的最大值并返回public static E m...原创 2018-10-23 14:46:37 · 213 阅读 · 0 评论 -
JAVA基础总结7——类包
什么是类包,为什么要用它?类包就是把很多很多繁琐的类打包使它更方便的管理,也可以解决类的重名问题,并且可以和修饰符配合使用控制其他人对类的访问权限1.final关键字(定义的常量使用时用大写中间可以用下划线)(1)final变量:相当于c语言中的define,被final定以后的变量就相当于一个常量但其实只引用final关键字定义的一个变量它并不是一个恒定的值,它可以理解为每次运行时系统给...原创 2018-10-25 14:06:28 · 341 阅读 · 0 评论 -
JAVA基础总结2
Java基础知识点的总结:Java的基本数据类型:整数类型(byte 1字节,short 2字节,int 4字节,long 8字节),浮点类型(float 4字节。。数字后要加f/F,double 8字节),字符类型(char 2字节),布尔类型(boolean)Java的基本流程控制:1.条件语句if else/ switch(任意类型)case2.循环语句for/ while /do...原创 2018-10-17 18:52:54 · 140 阅读 · 0 评论 -
JAVA基础总结5——类和对象的一些总结
什么是类,什么是对象?对象等价于事物的话,那类就相当于同一类事物的统称类中定义方法的语法格式修饰符 返回值 方法名(参数){…方法体返回值;}这个参数可以是对象也可以说基本的变量,若此方法需要返回值用return返回权限修饰符是干嘛的呢?顾名思义它就是用来设置权限的,权限修饰符分为以下三种:public:可见度最高,所有类都可以访问用public修饰的方法或常量protect...原创 2018-10-22 13:13:28 · 204 阅读 · 0 评论 -
JAVA基础总结4--数组
数组:是具有相同数据类型的一组数据的集合数组的创建和使用【1】一维数组1.一维数组的创建一维数组的创建方式有两种但原理都是一样的第一种:先声明,再用new运算符进行分配如:int arr[];arr[]=new int[5] ;第二种:一步到位如:int arr[]=new int[5];2.数组的初始化数组的初始化也分为两种第一种:int arr[]=new int[...原创 2018-10-19 12:56:19 · 154 阅读 · 0 评论 -
JAVA基础总结3 --正则表达
正则表达通常用于判断语句中,用来检查某一字符串是否符合某一格式。比如现实生活中的密码校验,验证码校验,还有注册校验等等。在生活中运用很广泛。|正则表达式中的元字符如下表|...原创 2018-10-18 14:11:20 · 134 阅读 · 0 评论