java基础
草莓味儿的小米佳
Man proposes,God disposes.
展开
-
CAS机制
一、启动两个线程,每个线程中让静态变量count循环累加100次。 最终输出的count结果一定是200吗?因为这段代码是非线程安全的,所以最终的自增结果很可能会小于200。我们再加上synchronized同步锁,再来看一下。 二、加了同步锁之后,count自增的操作变成了原子性操作,所以最终输出一定是count=200,代码实现了线程安全。虽然synchronized确保了线程安全,但是在某些情况下,这并不是一个最优的选择。 关键在于性能问题。 三、synchronized关键字会让没有得到锁资源的线程原创 2020-11-13 15:22:04 · 117 阅读 · 2 评论 -
在线笔试&面试手撕,java预先不知道数组长度,如何输入数组
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入数组"); ArrayList<Integer> list = new ArrayList<>(); while(sc.hasNext()) { int...原创 2020-03-29 14:54:41 · 339 阅读 · 0 评论 -
java中的泛型
一、泛型的定义 泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 二、例子 List arrayList = new ArrayList(); arrayList.add("aaaa"); arrayList.add(100); for(int i = 0; i<...原创 2020-03-29 13:27:39 · 174 阅读 · 0 评论 -
面试中常用设计模式
原文链接:https://blog.csdn.net/jason0539/article/details/23297037 设计模式的优点 设计模式可在多个项目中重用。 设计模式提供了一个帮助定义系统架构的解决方案。 设计模式吸收了软件工程的经验。 设计模式为应用程序的设计提供了透明性。 设计模式是被实践证明切实有效的,由于它们是建立在专家软件开发人员的知识和经验之上的。 单例模式 单例模式的写法...原创 2020-03-22 17:27:37 · 251 阅读 · 0 评论 -
java三大特性
三大特性:继承、封装、多态 继承 继承是指将多个相同的属性和方法提取出来,新建一个父类。 Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法。 子类可以重写父类中的方法,命名与父类中同名的属性。 继承目的:代码复用。 封装 封装指的是属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别。 ...原创 2020-03-22 15:08:35 · 128 阅读 · 0 评论 -
java final关键字使用及面试题重点
java final关键字使用及面试题重点 final的简介 final 在 Java 中是一个保留的关键字,可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。 1.修饰类,类不能被继承 不能有子类,但可以有父类 一个类是final的,其中所有的成员方法不能被覆盖重写 2.修饰成员方法,不能被重写 3.修饰成员变量,变量不能被修改...原创 2020-02-14 14:19:22 · 177 阅读 · 0 评论 -
Java 定时任务实现原理详解+SSM框架应用定时器
Java 定时任务实现原理详解+SSM框架应用定时器 在jdk自带的库中,有两种技术可以实现定时任务。一种是使用Timer,另外一个则是ScheduledThreadPoolExecutor。下面为大家分析一下这两个技术的底层实现原理以及各自的优缺点。 一、Timer 1. Timer的使用 class MyTask extends TimerTask{ @Override pub...原创 2019-09-02 16:44:41 · 453 阅读 · 0 评论 -
啰嗦的 java,简洁的 lombok
啰嗦的 java,简洁的 lombok 一、lombok 是什么? lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter、Setting,还能自动生成 logger、ToString、HashCode、Builder 等 java特色的函数或是符合设计模式的函数,能够让你 java Bean 更简洁,更美观。 以下代码: @Data @Al...原创 2019-08-22 23:25:08 · 263 阅读 · 0 评论 -
java 迭代器Iterator详解
java 迭代器Iterator详解 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 (一)Iterator在Collection接口中的使用。 虽然Collection接口的相关类实现了get()方法,但将Iterator用在它们身上仍然是合适的,下面以ArrayList为例,讨论...原创 2019-07-07 11:24:41 · 1045 阅读 · 0 评论 -
深入理解 java 枚举类型
java 枚举类 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便。 枚举类型是Java 5中新增特性的一部分 枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。 声明枚举 声明枚举时必须使用 en...原创 2019-07-10 01:30:57 · 159 阅读 · 0 评论