![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 93
一点一滴g
这个作者很懒,什么都没留下…
展开
-
Java指定线程的执行顺序(亮点在最后)
方法一:通过共享对象锁加上可见变量来实现/** * 指定线程执行顺序:通过synchronized共享对象锁加上volatile可见变量来实现 */public class ThreadOrder { private volatile int orderNum = 1; public synchronized void methodA() { try {...原创 2019-01-24 17:52:28 · 375 阅读 · 0 评论 -
接口和抽象类
抽象类(abstract class):使用abstract修饰符修饰的类。官方点的定义就是:如果一个类没有包含足够多的信息来描述一个具体的对象,这样的类就是抽象类。实际点来说,一个抽象类不能实例化,因为“没有包含足够多的信息来描述一个具体的对象”。但终归属于类,所以仍然拥有普通类一样的定义。依然可以在类的实体(直白点就是能在{}里面)定义成员变量,成员方法,构造方法等。那么可能初学者会问:既然...原创 2019-04-24 16:02:58 · 220 阅读 · 0 评论 -
final详解
final关键字的含义?final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。什么是final变量?凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static...原创 2019-04-24 16:36:37 · 512 阅读 · 0 评论 -
内部类详解
内部类基础什么是内部类内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类内部类的共性(1)内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,...原创 2019-04-25 22:19:05 · 799 阅读 · 3 评论 -
深入分析JAVA枚举类
初探枚举类在程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日七个数据元素组成的集合,由三种颜色红、黄、绿组成的集合,一个工作班组内十个职工组成的集合等等,程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为: { Sun,Mon,Tue,Wed,Thu,Fri,Sat}...原创 2019-05-15 15:49:15 · 119 阅读 · 0 评论 -
Java中的栈
什么是栈栈是一种只能在一端进行插入或删除操作的线性表。(先进后出表)Stack 类表示后进先出(LIFO)的对象栈.它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法栈的实现注意事项通过查看源码可以看...原创 2019-04-13 23:02:46 · 649 阅读 · 0 评论 -
Java中的队列
什么是队列Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构消息队列是用来解决这样的问题的:将突发的大量请求转换为服务器能够处理的队列请求。eg:在一个秒杀活动中,服务器1秒可以处理100条请求。而在秒杀活动开启时1秒进来1000个请求并且持续10秒。这个时候就需要将这10000个请求放入消息队列里面,后端按照原来的能力处理,用100秒将队列中的请求处理完毕。这样就不会导致宕...原创 2019-04-13 22:54:47 · 138 阅读 · 0 评论 -
Java中的自动装箱与拆箱
什么是自动装箱和拆箱自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱。原始类型byte, short, char, int, long, float, double 和 boolean 对应的封装类...原创 2019-04-09 17:04:50 · 175 阅读 · 0 评论 -
解决Hash冲突的几种方法
开放地址法:1.线性探测法:ThreadLocalMap 线性再散列法是形式最简单的处理冲突的方法。插入元素时,如果发生冲突,算法会简单的从该槽位置向后循环遍历hash表,直到找到表中的下一个空槽,并将该元素放入该槽中(会导致相同hash值的元素挨在一起和其他hash值对应的槽被占用)。查找元素时,首先散列值所指向的槽,如果没有找到匹配,则继续从该槽遍历hash表...原创 2019-01-21 15:38:03 · 299 阅读 · 0 评论 -
关于HashMap我想说
HashMap的理解1. 构造方法 public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + ...原创 2018-11-15 20:32:09 · 406 阅读 · 0 评论 -
Java基础之字符串
String的基本操作1>获取1.1:字符串中包含的字符数,也就是字符串的长度。int length():获取长度1.2:根据位置获取位置上某个字符。char charAt(int index)1.3:根据字符获取该字符在字符串中的位置。int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。int indexOf(int ch,int fromInd...原创 2019-04-08 16:58:47 · 148 阅读 · 0 评论