错题笔记
福尔摩斯est
这个作者很懒,什么都没留下…
展开
-
错题小笔记35——String类型定义时究竟new了几个对象
例题1:String str1 = "abc" + "def";创建了几个对象?String类型相加时,编译器会进行优化,相当于String str1 = "abcdef";如果字符串常量池中存在该字符串——"abcdef",那么,在这里不会创建对象,而是会将字符串对应的引用赋给str1而已。如果字符串常量池中不存在该对象,那么会创建对象,放入字符串常量池,将引用赋给str1。例题2:String str2 = "abc" + new String("def");创建了几个对原创 2021-09-24 20:28:04 · 88 阅读 · 0 评论 -
错题小笔记34_Redis
Redis是什么?Redis是以C语言开发的一个开源的高性能键值对的非关系型数据库,全称Remote Dictionary Server (远程数据服务)。什么是非关系型数据库?非关系型数据库一般指NoSQL。NoSQL被很多人解释为Not Only SQL,意即不仅仅是SQL,泛指非关系型数据库,不保证ACID特性(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)),是一种全新的数据库理念。为什么要使用非关系型数据原创 2021-09-22 20:31:49 · 52 阅读 · 0 评论 -
错题小笔记33——顺时针打印二维数组
这道题在好几次的笔试中都见到了,整理一下。两种方式:第一种将顺时针打印的数组一个圈一个圈的看,每个圈,最多的包括从左到右-从上到下-从右到左-从下到上其次的包括从左到右-从上到下-从右到左接着是从左到右-从上到下最后是从左到右...原创 2021-09-18 14:47:52 · 61 阅读 · 0 评论 -
错题小笔记32——ARP协议,负载均衡
ARPARP?即Address Resolution Protocol的缩写,译为地址解析协议。ARP协议即ARP。ARP在哪一层?在TCP/IP模型中,ARP协议在网络层,而在OSI模型中ARP协议在数据链路层。ARP协议的功能是什么?将IP地址解析为物理地址。使用ARP协议可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。负载均衡什么是负载均衡?高可用网络基础架构的关键组件,将负载(工作任务)进行平衡、分摊到多个操作单.原创 2021-09-17 09:26:12 · 161 阅读 · 0 评论 -
错题小笔记31——接口Comparable与接口Comparator
Comparable和Comparator都是实现自定义比较器时需要继承的接口,但是这两个接口又是什么时候才用呢?(1)ComparableComparable是在集合内部定义排序,需要实现compareTo方法,是位于java.lang包的接口。比如:public class Test implements Comparable{ @Override public int compareTo(Object o) { // 排序内容原创 2021-09-15 20:11:37 · 144 阅读 · 0 评论 -
错题小笔记30——EJB容器发生错误,persistent方式下JMS容器仍然会将消息发送
对于ABCD:persistent 方式的MDB 可以保证消息传递的可靠性,也就是如果EJB 容器出现问题,而JMS 服务器依然会将消息在此MDB 可用的时候发送过来,而non-persistent方式的消息将被丢弃。注:(1)EJB是Enterprise Java Beans技术的简称, 又被称为企业Java Beans。(2)MDB也是EJB中消息驱动Bean的简称(3)JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面...原创 2021-09-15 09:45:12 · 274 阅读 · 0 评论 -
错题小笔记29——Linux系统常见版本、SQL语句查询某个值instr函数
Linux系统常见版本:CentOS、Mandriva、Red Hat、Debian、Ubuntu(最少记住三个)SQL语句查询某个值可以用——instr('源字符串','目标字符串','开始位置','第几次出现')比如:select instr('101000100','00',1,1);-- 从第1个数字开始查询,查询'00'第1次出现的位置这里的开始位置以及第几次出现这两个数字,用的都是除0以外的自然数,默认都为1。...原创 2021-09-13 21:30:41 · 136 阅读 · 0 评论 -
错题小笔记28——哈希冲突处理、一些小知识
1.哈希冲突的处理方法——链地址法具体方式:用除留余数法构造哈希函数,冲突的解决采用链地址、比如关键字集合为{19,14,23,01,68,20,84,27,55,11,10,79},哈希函数H(key)=key mod 13,如图:求查找成功时平均查找长度:红色表示查找该数时需要的次数(6个“1”,4个“2”,1个“3”,1个4),一共有12个数所以,查找成功时平均查找次数=(6×1+4×2+1×3+1×4)/12=7/4蓝色表示查找失败时所需要的次数查..原创 2021-09-13 09:49:30 · 449 阅读 · 0 评论 -
错题小笔记27——网卡的基本功能与VLAN的作用
网卡的基本功能:1、网卡实现工作站与局域网传输介质之间的物理连接和电信号匹配,接收和执行工作站与服务器送来的各种控制命令,完成物理层的功能。2、网卡实现局域网数据链路层的一部分功能,包括网络存取控制,信息帧的发送与接收,差错校验,串并代码转换等。3、网卡实现无盘工作站的复位及引导。4、网卡提供数据缓存能力。5、网卡还能实现某些接口功能。VLAN的作用:VLAN主要是限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。VLAN分段可以防止广播风暴波及...原创 2021-09-10 22:44:05 · 577 阅读 · 0 评论 -
错题小笔记26——超文本的含义,10BASET以太网需要使用的硬件设备不包括
超文本的含义:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。10BASE—T:是双绞线以太网,T表示采用双绞线,现10BASE-T 采用的是无屏蔽双绞线(UTP),根本不用电缆。BNC端子曾广泛用于10base2以太网, 由于同轴电缆为双绞线取代,很难看到有BNC端子的网卡。...原创 2021-09-10 22:40:59 · 247 阅读 · 0 评论 -
错题小笔记25——大华笔试记
首先是常见的几种排序算法:基数排序,冒泡排序,快速排序,直接插入排序基数排序:基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。冒泡排序:是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,直到没有需要交换。快速排序:简称快排,在平均情况下是O(nlogn),最坏情况是O(n2)。是一种使用分治思想的算法。直接插入排序:对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。原创 2021-09-10 21:02:34 · 203 阅读 · 0 评论 -
错题小笔记24——HTTP原理
过程(短连接):(1)用域名系统DNS解析域名,获得IP地址(2)封装成HTTP请求包(3)封装成TCP包,三次握手,建立TCP连接(4)客户端发送请求命令(5)服务器响应(6)四次挥手,服务器关闭传输数据连接过程(长连接):...原创 2021-09-06 20:13:55 · 47 阅读 · 0 评论 -
错题小笔记23——三次握手四次挥手
为什么要握手三次?为了满足"在不可靠信道上可靠地传输信息"这一需求所导致的为什么要握手第三次?为了防止无效的连接请求报文到达服务器而引起错误为什么要挥手第四次?确保数据能够完整传输。三次握手,四次挥手?三次握手:第一次,客户端向服务器发送连接请求。表示我想传输数据了,行吗?第二次,服务器收到客户端的连接请求,同意客户端的请求,并发送确认。表示我收到你的要求了,可以传输数据。第三次,客户端收到服务器的同意确认,与服务器建立连接。表示你同意了,那我们来传数据吧。原创 2021-09-05 19:36:40 · 64 阅读 · 0 评论 -
错题小笔记22——说一下JVM有哪些区,分别干什么?
说一下JVM模型,有哪些区?分别干什么?类加载器,通过加载链接初始化三个步骤对类进行初始化,执行引擎,java字节码的执行,运行时数据区,包括,线程共享的,方法区,堆,线程独占的,虚拟机栈,本地方法栈,程序计数器,方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,堆,我们实例化的对象放在堆中,垃圾收集器管理的主要区域。虚拟机栈,用于储存局部变量表、操作数栈、动态链接,方法出口等,本地方法栈与虚拟机栈发挥原创 2021-09-05 18:33:14 · 62 阅读 · 0 评论 -
错题小笔记21——文本文件,Servlet体系
常见的文本文件格式:ASCII、MIME、*.txt文件分为文本文件和二进制文件,计算机只认识二进制,所以实际上都是二进制的不同解释方式。文本文件是以不同编码格式显示的字符,例如Ascii、Unicode等,window中文本文件的后缀名有".txt",".log",各种编程语言的源码文件等。二进制文件就是用文本文档打开是看不懂乱码,只要能用文本打开的文件都可以算是文本文件,只是显示的结果不是你想要的,二进制文件只有用特殊的应用才能读懂的文件,例如".png",".bmp"等,计算机中大部分的文原创 2021-09-02 22:21:29 · 85 阅读 · 0 评论 -
错题小笔记20——Java编译时提示非法向前引用
如图,有时候编译会遇到这种情况,提示非法向前引用。这是为什么呢?首先,静态成员变量的定义发生在static代码块以及赋值之前。所以,这就是为什么i=10不报错的原因,但是,为什么System.out.println(i)会报非法向前引用错误呢?这是因为这样写无法通过Java编译器的强制检查。Java编译器的强制检查一个检查其目的是避免循环初始化和其他非正常的初始化行为。但有一些特殊情况,Java编译器会允许通过,这里涉及到的就是“通过简单名称引用的变量可以出现在左值位置,但不能出现在右...原创 2021-08-31 17:24:45 · 352 阅读 · 0 评论 -
错题小笔记19——JVM线程与程序计数器
JVM线程:JVM允许一个应用有多个线程并行执行;在Hotspot VM中,每个线程都与操作系统的本地线程直接映射。JVM中哪些是线程私有的,哪些是线程共享的?线程私有的:程序计数器,本地方法栈,虚拟机栈线程共享的:方法区,堆举例:如果一个进程中有5个线程,意味着有5组程序计数器、本地方法栈、虚拟机栈,并且这5个线程共享方法区和堆。程序计数器:程序计数器,即程序计数寄存器(Program Counter Register),也称PC寄存器。说明:(1)PC寄存器是一.原创 2021-08-31 15:04:28 · 75 阅读 · 0 评论 -
错题小笔记18——子类可以覆盖父类的同步方法吗?
如果父类中的某个方法使用了synchronized关键字,而子类中也覆盖了这个方法,默认情况下子类中的这个方法并不是同步的!必须显示的在子类的这个方法中加上synchronized关键字才可以!如果一定要子类覆盖父类方法后同步,还可以在子类中调用父类中相应的方法,这样虽然子类中的方法并不是同步的,但子类调用了父类中的同步方法,也相当于子类方法同步。...原创 2021-08-30 21:29:48 · 645 阅读 · 0 评论 -
错题小笔记17——Java集合框架
蓝色的箭头表示继承接口,灰色表示实现类。Map没有继承Collection!!!原创 2021-08-28 10:33:34 · 72 阅读 · 0 评论 -
错题小笔记2 —— ==、equals经常会出现的错误
情况1:基本数据类型与基本封装型进行"=="运算符比较基本封装型会自动拆箱,成为基本数据类型,然后两者再进行值的比较。情况2:基本封装型与基本封装型进行"=="运算符比较不同的封装类型比较会报错。如Integer,取值在-128~127范围内返回true,否则返回false。情况3:基本封装型.equals(基本封装型)首先会比较类型,类型一样再拆箱,比较值的大小情况4:基本封装型.equals(基本数据类型)首先会将基本数据类型自动装箱,然后按照情况3的步骤比较。...原创 2021-08-03 21:58:57 · 220 阅读 · 0 评论 -
错题小笔记16——HashMap和Hashtable区别、Map集合类key和value情况
首先,HashMap是什么?在了解HashMap之前,需要知道一个概念:哈希表(也叫做散列表):哈希表(Hash Table)是一种数据结构,按照哈希函数思想建立的映射关系。存储位置=哈希函数(关键字)HashMap:一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。是java中用哈希表实现的一种Map。HashTable:HashTable也是一种存储Key-Value键值对的集合。HashTable是较早的使用Hash算法的容器结构,现已基本被原创 2021-08-27 19:15:08 · 109 阅读 · 0 评论 -
错题小笔记15——线程中wait、sleep、notify、notifyAll、yield函数
wait():该线程调用wait后,会释放monitor的持有对象(释放锁),并使当前线程处于等待状态(阻塞)。sleep():调用sleep后,不会释放monitor的持有对象(不释放锁),并使当前线程处于睡眠状态(阻塞)。notify()/notifyAll():notify调用后,随机唤醒一个wait等待线程,notifyAll调用后,唤醒全部wait等待线程。唤醒后,线程进入该对象的锁池,去竞争锁,而不是直接进入运行状态。(可运行状态)yield():暂停当前线程,放弃C原创 2021-08-25 14:29:50 · 72 阅读 · 0 评论 -
错题小笔记14——abstract不可与final、private、static共存
首先,为什么不能与final共存?因为被final修饰的方法不可以被重写,意味着子类不可以重写该方法,如果abstract和final共同修饰父类中的方法,同时子类要实现abstract抽象方法,final会要求父类中的该抽象方法不能重写,与abstract冲突,故不能共存。其次,为什么abstract不能与private共存?因为被private修饰的方法不可以被子类访问,而abstract要求子类实现父类的该方法,产生矛盾,故不能共存。最后,为什么static不能与abstract共存?原创 2021-08-24 09:04:06 · 633 阅读 · 0 评论 -
错题小笔记13——序列化、serialVisionUID的作用
序列化:将数据结构转换称为二进制数据流或者文本流的过程。序列化后的数据方便在网络上传输和在硬盘上存储。反序列化:是将二进制数据流或者文本流转换称为易于处理和阅读的数据结构的过程。本质其实还是一种协议,一种数据格式,方便数据的存储和传输。注意:1.基本类型的数据可以直接序列化2.对象如果需要序列化,它的类必须要实现serializable接口;3.如果一个类中有引用类型的实例变量,这个引用类型也要实现serializable接口;否则,如果不想要引用类型的实例变量实现serializabl原创 2021-08-24 08:54:40 · 102 阅读 · 0 评论 -
错题小笔记12——full GC触发条件:新生代、老年代、持久代
JVM堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区),持久代(也就是永久代)。如图:1,新生代:(1)所有对象创建在新生代的Eden区,当Eden区满后触发新生代的Minor GC,将Eden区和非空闲Survivor区存活的对象复制到另外一个空闲的Survivor区中。(2)保证一个Survivor区是空的,新生代Minor GC就是在两个Survivor区之间相互复制存活对象,直到Survivor区满为止。2,老年代:当Survivor区也满了之.原创 2021-08-17 21:51:38 · 1198 阅读 · 0 评论 -
错题小笔记11——Servlet过滤器
Servlet过滤器的配置包括两部分:第一部分是过滤器在Web应用中的定义,由<filter>元素表示,包括<filter-name>和<filter-class>两个必需的子元素第二部分是过滤器映射的定义,由<filter-mapping>元素表示,可以将一个过滤器映射到一个或者多个Servlet或JSP文件,也可以采用url-pattern将过滤器映射到任意特征的URL。...原创 2021-08-16 21:01:01 · 83 阅读 · 0 评论 -
错题小笔记10——子类调用父类构造方法时注意
子类在调用自己的构造方法之前总要先调用父类的构造方法,但有一点必须要注意:如果父类只有含参构造方法,没有无参构造方法,必须在子类中显式的调用父类构造方法,否则子类会默认调用父类无参构造方法,会报错。...原创 2021-08-13 20:33:47 · 177 阅读 · 0 评论 -
错题小笔记9——堆和方法区等线程共享
究竟JVM内存区域哪些是线程共享,哪些是非线程共享呢?多数 JVM 将内存区域划分为Method Area(Non-Heap)(方法区),Heap(堆),Program Counter Register(程序计数器),VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack(本地方法栈),其中Method Area和Heap是线程共享的,VMStack,Native Method Stack和Program Counte...原创 2021-08-12 20:34:21 · 240 阅读 · 0 评论 -
错题小笔记8——JS和JSP的区别
一直以为JS和JSP是由Java语言延伸的,现在才明白这是个误区。JS全称JavaScript,原名livescript,普遍认为,当时是为了更好的传播才改名为JavaScript,只是和Java语法相似,JS是个页面脚本语言。JSP全称java server page,是java语言+html语言开发动态资源的技术,是一种动态网页技术。JS运行在前台,通常不需要服务器支持;JSP运行在后台,需要服务器支持。JS实现在html里<script></script>中,J原创 2021-08-12 19:49:46 · 77 阅读 · 0 评论 -
错题小笔记7——run方法和start方法的区别
在java Thread中,run方法和start方法的区别:1.start方法 用start方法来启动线程,实现了多线程,通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法。注意:此时无需等待run()方法执行完毕,即可继续执行下面的代码。所以run()方法并没有实现多线程。 2.run方法 run()方法只是类的一个普通方法!如果直接调用Run...原创 2021-08-11 21:31:27 · 117 阅读 · 0 评论 -
错题小笔记6——SQL有关问题中出现“以上”两个字怎么看
来自牛客网大神的硬核解释:1、《民法通则》第一百五十五条规定: 民法所称的“以上”、“以下”、“以内”、“届满”,包括本数;所称的“不满”、“以外”,不包括本数;2、《中华人民共和国刑法》第九十九条:本法所称以上、以下、以内,包括本数。3、对文中“以上”“以下”的语义范围进行总括说明,例如:本办法所称“不足”“不超过”“不满”均不含本级,“以上”均含本级。4、《中华人民共和国刑法》第九十九条:本法所称以上、以下、以内,包括本数。比如“两年以上”中的“两年”即为本数。本数,就是所称之数,本位之数,参原创 2021-08-09 20:40:27 · 71 阅读 · 0 评论 -
错题小笔记5——重写与重载注意事项
在Java中,什么是重写?重写指的是在子类与父类中,有两个名称、参数列表都相同的方法的情况下,由于他们具有相同的方法签名(包括方法名,参数的类型、顺序和数量),所以子类中的新方法将覆盖父类中原有的方法。什么是重载?当一个类中的两个或多个方法具有相同的方法名称但参数不同时,就会发生重载。巧记重写与重载:重写技巧——两同两小一大原则。方法名相同,参数类型相同,子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。重载技巧—.原创 2021-08-09 09:01:39 · 136 阅读 · 0 评论 -
错题小笔记4——静态代码块,构造函数,静态变量执行顺序
在说这些执行顺序之前,先了解一个小知识:Java的Java的实例变量和类变量是什么?类中的成员变量可分为实例变量和类变量,用static修饰的变量称为类变量(也称静态变量),否则称为实例变量。开始说一下顺序:(1)父类静态成员变量和父类静态代码块(静态初始化块)。两者之间的先后顺序视具体的代码先后决定。(2)子类静态成员变量和子类静态代码块(静态初始化块)。两者之间的先后顺序视具体的代码先后决定。(3)父类实例成员和父类实例初始化块(匿名代码块)。两者之间的先后顺序视具体的代码先后决原创 2021-08-06 09:07:32 · 75 阅读 · 0 评论 -
错题小笔记3——堆区、栈区、方法区存储的内容
堆区:存储的全部是对象。方法区:class文件、static变量与方法栈区:对象引用、基本数据类型。虽然少,但是很重要!原创 2021-08-05 22:22:30 · 97 阅读 · 0 评论 -
错题小笔记1——String、Integer经常有的小错误(包括Integer i=值;Integer i=new Integer(值);Integer i = Integer.valueOf(值))
有关String:例题1:String str1 = "abc";String str2 = "abc";System.out.println(str1 == str2);输出结果:true原因:String是引用数据类型,如果已经存在字符串,将栈中的引用直接指向该字符串,如果不存在,在常量池中生成一个字符串,将栈中的引用指向该字符串。对于引用数据类型String,==判断的是两者的地址是否相同。所以本题输出true。例题2:String str1 = new String(原创 2021-08-03 21:32:09 · 649 阅读 · 0 评论