java基础
文章平均质量分 64
YaSuoVery6^^
这个作者很懒,什么都没留下…
展开
-
【高频面试题二】进程 线程 多线程 线程安全
比如说电影院卖票,一个窗口类似于一个线程,卖一个人,程序里面的票数就减去一张票,当开启了多个窗口时,多个线程就去抢占资源,修改同一个余票变量,一个窗口拿到了余票数量是29,此时另外一个窗口又卖出了一张,真实剩28张,那么这个时候就产生了线程安全问题,,其实是相对于单条线程来执行多个任务来说的,我们就拿下载文件来举个例子:当我们下载多个文件时,在串行中它是按照一定的顺序去进行下载的,也就是说,必须等下载完A之后才能开始下载B,它们在时间上是不可能发生重叠的。Lock的引入让锁有了可操作性,什么意思?原创 2022-11-11 17:42:44 · 110 阅读 · 0 评论 -
【高频面试题五】讲一讲java stream流的使用
流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据,它的主要目的在于计算;:抽取对象集合中的某个元素组成集合。:根据某一条件对集合进行筛选。原创 2022-11-10 11:47:42 · 999 阅读 · 0 评论 -
【高频面试题四】Comparator和Comparable的区别
comparator和comparable原创 2022-11-08 17:18:26 · 154 阅读 · 0 评论 -
java基础相关知识(代码阅读)
1、static关键字下面程序输出结果:public class Test { Person person = new Person("Test"); static{ System.out.println("test static"); } public Test() { System.out.println("test constructor"); } public static void main原创 2020-12-13 20:25:21 · 148 阅读 · 0 评论 -
Java常见的几种设计模式
原文链接:https://www.cnblogs.com/xiaofengwang/p/11255678.html单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧public class Singleton {private原创 2020-11-13 16:55:24 · 102 阅读 · 0 评论 -
java开发工作三年你应该掌握的知识(持续更新)
1、java中常用的类有哪些?Scanner、system、String、Integer、Arrays、Boolean、Math、Double、Character、Calendar、Random、BigIngteger、arraylist、hashMap、Thread、Date、Iterator2、java中常用的包有哪些?Lang、IO、sql、util、awt、net、3、Object...原创 2020-05-29 11:30:14 · 3020 阅读 · 1 评论 -
java异常的捕获和处理
什么是异常?程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。在Java中即,Java在编译或运行或者运行过程中出现的错误。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。J...原创 2020-03-10 14:04:09 · 202 阅读 · 0 评论 -
一个java的循环队列(便于理解版本)
用java实现循环队列的方法:1、添加一个属性size用来记录当前的元素个数。目的是当head=rear的时候。通过size=0还是size=数组长度。来区分队列为空,或者队列已满。2、数组中仅仅存储数组大小-1个元素,保证rear转一圈之后不会和head相等。也就是队列满的时候。rear+1=head,中间刚好空一个元素。当rear=head的时候。一定是队列空了。队列(Queue)两...原创 2019-10-14 16:05:36 · 145 阅读 · 0 评论 -
JAVA IO流的一些基本操作(二)
上一篇我们学习了io流的核心部分,这篇我们学习java io流的更多操作1、打印流打印流的特点:A:只有写数据的,没有读取数据。只能操作目的地,不能操作数据源。B:可以操作任意类型的数据。C:如果启动了自动刷新,能够自动刷新。D:该流是可以直接操作文本文件的。哪些流对象是可以直接操作文本文件的呢?FileInputStream FileOutputStream FileReader...原创 2019-09-19 11:01:21 · 93 阅读 · 0 评论 -
JAVA IO流的一些基本操作(一)
一、IO流简介Java IO操作主要指的是使用Java进行输入、输出操作,Java中的所有操作类都存放在java.io包中,在使用时需要导入此包。在整个java.io包中最重要的就是5个类和一个接口。五个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable。掌握了这些,IO流的核心就掌握了。下面我们来看看...原创 2019-09-19 10:02:17 · 178 阅读 · 0 评论 -
为什么我们重写equals的时候要重写hashCode?
1、equals的作用== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况。(01) 若某个类没有覆盖equals()方法,当它的通过equals()比较两个对象时,实际上是比较两个对象是不是同一个对象。这时,等价于通过“==”去比较这两个对象。(02) 我们可以覆盖类的equal...原创 2019-07-24 11:06:10 · 130 阅读 · 0 评论 -
java中各种集合分类区别与遍历方式总结
一、简单的容器分类你可以看到,其实只有四种容器:Map、List、Set和Queue,,它们各有两到三个实现。常见的用黑色粗线表示。实线框表示普通的类,虚线框表示是一个接口,带有空心箭头的点线表示一个特定的类实现了该接口。实心箭头表示某个类继承了这个类。二、几种常见的集合比较,该如何使用?1、list也建立数字索引与对象的关联,因此,list和数组一样都是排好序的容器,但list可以自动...原创 2019-06-14 16:01:11 · 272 阅读 · 0 评论 -
java几种常见的算法
一、排序算法1、插入排序//插入 public static void insertSort(int[] a){ int len=a.length;//单独把数组长度拿出来,提高效率 int insertNum;//要插入的数 for (int i = 1; i <len ; i++) {//因为第一次不用,所以从1开始 ...原创 2019-06-13 11:12:28 · 1413 阅读 · 0 评论