随笔分类 - java程序员面试笔试
1
摘要:public ListNode deleteDuplication(ListNode pHead){ //LinkedHashMap可以按照输入的顺序进行输出 LinkedHashMap map = new LinkedHashMap(); ListNode c...
阅读全文
摘要:今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了。。网上的争论不少,有的说是两个,答案应该是:两个或一个理由解释如下:都了解java 的字符串常量缓冲区(字符串池,字符串...
阅读全文
摘要:List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。 3个具体实现类的相关区别如下:ArrayList是最常用的List实现类,内部是通过数组实现的...
阅读全文
摘要:1、什么是分库分表?顾名思义,即把存于一个库的数据分散到多个库中,把存于一个表的数据分散到多个表中。2、什么情况下需要分库分表?当一个数据库被创建之后,随着时间的推移和业务量的增加,数据库中表以及表中的数据量就会越来越多,就有可能出现两种弊端:(1)数据库的存储资源是...
阅读全文
摘要:内存溢出: 是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个Integer,但给他存了long才能存下的数,那就是内存溢出。内存泄漏: 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏危害可以忽略...
阅读全文
摘要:线程私有的数据区程序计数器: 作用:记录当前线程锁执行到的字节码的行号。字节码解释器工作的时候就是通过改变你这个计数器的值来选取下一条需要执行的字节码指令。 意义:JVM的多线程是通过线程轮流切换并分配处理器来实现的,对于我们来说的并行事实上一个处理器也只...
阅读全文
摘要:TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。UDP: UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网...
阅读全文
摘要:严格定义下的写法void bubbleSort(int array[], int length){ for(int i=0;iarray[j]) swap(array[j-1],array[j]); } }}void swap(int &a,i...
阅读全文
摘要:目录 Spring的优点什么事DI机制?什么事AOP?AOP框架具有的两个特征:Spring的优点1、降低了组件之间的耦合性,实现了软件各层之间的解耦。2、可以使用容易提供的众多服务,如事务管理,消息服务等。3、容器提供单例模式支持。4、容器提供了AOP技术,利用它很...
阅读全文
摘要:Object类一共有13个方法1、clone方法:保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是Java里除了8种基本类型传参数是值传递,其他的对象传参数都是引用传...
阅读全文
摘要:1、MyISAM存储引擎 不支持事务,也不支持外键,优势是访问速度快,对事务完整性没有要求或者以select、insert为主的应用基本上可以用这个引擎来创建表。支持三种不同的存储格式,分别是:静态表、动态表、压缩表。静态表:表中的字段都是非变长字段,这样每个记...
阅读全文
摘要:TCP可靠性传输的工作原理1、停止等待协议2、连续ARQ协议TCP可靠性传输的实现1、以字节为单位的滑动窗口2、超时重传时间的选择3、选择确定SACK 面向连接:意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个...
阅读全文
摘要:OSI七层模型物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。五层体系结构物理层、数据链路层、网络层、运输层、应用层。各层的作用1、物理层:比特 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 他的主要作用是传输比...
阅读全文
摘要:三次握手过程理解第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号。第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个syn包(syn=k),即sy...
阅读全文
摘要:硬中断1、硬中断是由硬件产生的。比如像磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核中的一个子程序,而不是一个独立的进程)。2、处理中断的驱动是需要运行在CPU...
阅读全文
摘要:设计:产品-product类;产品库:productRepository类生产者线程消费者线程 product.javapublic class Product{ private String name; private long productNo; publ...
阅读全文
摘要:一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:1、为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔...
阅读全文
摘要:一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true...
阅读全文
摘要:在Java中,我们一般通过集成Thread类和实现Runnnable接口,调用线程的start()方法实现线程的启动。但如果并发的数量很多,而且每个线程都是执行很短的时间便结束了,那样频繁的创建线程和销毁进程会大大的降低系统运行的效率。线程池正是为了解决多线程效率低的...
阅读全文
摘要:1、ABA问题 如果一个变量V初次读取的时候是A值,并且在准备赋值的时候检查到它仍然是A值,那我们就能说明它的值没有被其他线程修改过了吗?很明显是不能的,因为在这段时间他的值可能被改为其他值,然后又改回A,那CAS操作就会误认为它从来没被修改过。这个问题被称为C...
阅读全文
1

浙公网安备 33010602011771号