随笔分类 - 牛客网Java笔试面试刷题
摘要:不多说,直接上干货! 可以将一个类的定义放在另一个类的定义内部,这就是内部类。 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二)。 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。 在这里InnerClass就是内
阅读全文
摘要:不多说,直接上干货! static修饰的方法我们称之为静态方法,我们通过类名对其进行直接调用。由于它在类加载的时候就存在了,它不依赖于任何实例,所以static方法必须实现,也就是说它不能是抽象方法。
阅读全文
摘要:不多说,直接上干货! 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于它们的存在才赋予java强大的面向对象的能力。它们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向
阅读全文
摘要:不多说,直接上干货! 子类可以继承父类的属性和方法,除了那些private的外还有一样是子类继承不了的 构造器。对于构造器而言,它只能够被子类调用,而不能被子类继承。 调用父类的构造方法我们使用super()即可。
阅读全文
摘要:不多说,直接上干货! 面向对象java的四大特性之抽象 面向对象java的四大特性之封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外
阅读全文
摘要:不多说,直接上干货! 什么是匿名内部类 匿名内部类就是没有名字的内部类。 不使用关键字class 、 extends 、implements 没有构造函数 必须继承其他类或实现其他接口 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。 匿名内部类是直接使用new来生成一个对象的引
阅读全文
摘要:不多说,直接上干货! 什么是HTTP协议? HTTP隧道是一种利用HTTP或者是HTTPS把多种网络协议封装起来进行通信的技术。因此,HTTP协议扮演了一个打通用于通信的网络协议的管道的包装器的角色,把其他协议的请求掩盖成HTTP的请求就是HTTP隧道。 什么是HTTP隧道? HTTP隧道是一种利用
阅读全文
摘要:不多说,直接上干货! 什么是cookie? cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。 什么是session? session是指用来在客户端与
阅读全文
摘要:不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面。 页面指令(Page directive):用来定义JSP页面中特定的属性,比如错误页面和缓冲区。 Taglib指令: 用来声明页面中使用的自定义的标签库。 JSP的6
阅读全文
摘要:不多说,直接上干货! 什么是JSP? JSP是由sun公司倡导,众多公司参与建立的动态网页技术标准,它在HTML中嵌入Java代码段(Scirptlet)和JSP标签,构成JSP网页,接收到用户请求时,服务器就会处理Java代码片段,将生成结果的 HTML页面返回给客户端。 JSP 全称是 Java
阅读全文
摘要:不多说,直接上干货! Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元
阅读全文
摘要:不多说,直接上干货! 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动(即只能前向遍历): (1) 使用方法iterator()要求
阅读全文
摘要:不多说,直接上干货! 总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合; 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合; 而ArrayList和 LinkedList 实现了List接口,HashSet实现了Set接口
阅读全文
摘要:不多说,直接上干货! 什么是死锁? 死锁可以这样理解,就是互相不让步不放弃,同时需要对方的资源。造成互相不满足资源需求,也不放弃自身已有资源。死锁就这样了。 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。 死锁是指两个或两个以上的进程在执行过程中,因
阅读全文
摘要:不多说,直接上干货! 扩展博客 牛客网Java刷题知识点之多线程同步的实现方法有哪些 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从
阅读全文
摘要:不多说,直接上干货! 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。 多线程同步的实现方法有 第一种
阅读全文
摘要:不多说,直接上干货! 1、 新建( new ):新创建了一个线程对象。 2、 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。 3、 运行( run
阅读全文
摘要:不多说,直接上干货! 前期博客 牛客网Java刷题知识点之四种不同的方式创建线程 这里很简单 首先,系统通过调用线程类的start()方法来启动一个线程,此时这个线程处于就绪状态,而非运行状态,也就意味着这个线程可以被JVM来调度执行。 然后,在这个调度执行过程中,JVM会通过调用线程类的run()
阅读全文
摘要:不多说,直接上干货! 有4种方式可以用来创建线程: 第一种:继承Thread类,重写run方法 第二种:实现Runnable接口,并实现该接口的run方法(一般我们在编程的时候推荐用这种) 第三种:实现Callable接口,重写run方法 第四种:应用程序可以使用Executor框架来创建线程池 第
阅读全文
摘要:不多说,直接上干货! 线程与进程的区别归纳: a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。 b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。 c.调度和切换:线程
阅读全文