2018面试准备
文章平均质量分 61
qq_32182461
这个作者很懒,什么都没留下…
展开
-
面试准备知识总结--java
arrayList: arratlist 内部使用了一个obj类型的数组,初识容量为10; arraylist线程不安全的原因是,arraylist添加元素的过程并不具备原子性 arraylist可以无限的添加元素,因为arraylist 每次添加元素之前都会跟list的容量相比较,若没有指定初始容量,则扩容时, 按照原容量10...原创 2018-06-14 21:09:07 · 179 阅读 · 0 评论 -
redis分布式一致性hash算法
当我们在部署redis节点时,用户链接redis存储数据会通过hash算法来定位具体链接那个redis节点,在redis节点数量没有改变的前提下,之前的用户通过hash算法会固定的链接某一台redis节点,但是若此时我们增加了redis节点,用户再次hash时,能会hash到别的redis机器上,导致用户在redis节点上读取不到对应的数据,这就是redis命中的问题。 r...原创 2018-08-16 11:19:34 · 3227 阅读 · 0 评论 -
服务架构的演变
随笔:最近再做这些年的知识整理,今天整理到了架构这方便,就索性拿出来和大家分享一下,有什么写错的,欢迎大家指正架构拆分的演变: 1.传统项目的架构:特点: 1.all in one(所有模块在一起,技术也不分层), 注:像05年06年那会儿,就是这样,把代码写在jsp里面,那时候还没有分层的概念,把所有的东西都写在一起,这就叫做all in one 2.servlet(js...转载 2018-07-27 22:45:13 · 2333 阅读 · 0 评论 -
http tcp udp之间的关系区别
TCP UDP HTTP 三者的关系:TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有HTTP、FTP、TELNET、SMTP、DNS等协议。 TCP 传送控制协议(Transmission Control Protocol...转载 2018-07-22 18:22:44 · 3829 阅读 · 0 评论 -
io nio aio不同总结
io又叫bio,意思同步阻塞io,使用bio的时候,你需要不断的等待数据的到达,直到完成了这一次的io请求。对应于服务器的模式就是,客户端发起一次链接请求,那么服务器就产生一个线程来处理。 nio 是同步非阻塞io,使用nio时,你不必一直等服务器的回应,你可以在发起服务器的io请求之后去做别的事情,但是需要不断的去轮询服务器来检查状态。使用nio 那么就对应上了java的nio的...原创 2018-07-22 18:13:08 · 1112 阅读 · 0 评论 -
hashmap并发情况下的成环原因
hashmap是一个非线程安全的集合。他的线程不安全出现在,并发情况下可能会出现链表成环的问题,导致程序在执行get操作时形成死循环。hashmap成环原因的代码出现在transfer代码中,也就是扩容之后的数据迁移部分,代码如下:void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTa...原创 2018-07-22 10:15:37 · 7631 阅读 · 1 评论 -
spring事务
事务:事务就是一系列操作的原子执行,要么全部成功,要么全部失败。事务的特征 :ACID原子性:整个操作要么全部成功,要么全部失败一致性:操作前后,数据要保持一致,就是不能出现数据对不上的现象隔离性:事务与事务之间是相互隔离的,互不影响持久性:数据最后保存在数据库中,不会因为一些时间而导致数据遭到破坏spring事务:spring框架本身并不会去处理事务,而是定义事务的统一接口,让各个持久层框架厂商...原创 2018-07-14 21:52:25 · 152 阅读 · 0 评论 -
threadLocal浅析
threadLocal:threadLocal是并发问题中的一种解决思路,在加锁的方式中,都是以时间换取空间的策略,但是threadLocal是以空间换取时间,在并发问题中,所解决的问题是不同的。前者偏向于线程之间的数据有前后联系,后者偏向于每个线程都需要一种资源,但是线程之间的数据没有关;源码浅析:threadLocal内部的实现还是使用map来实现的,每个threadLocal内部都有一个Th...原创 2018-07-14 10:11:11 · 159 阅读 · 0 评论 -
http协议
http协议:超文本传输协议,用来定义计算机之间通信的规则和协议。浏览器上输入url会发生什么:输入url之后,浏览器会发起http请求,想后端的服务器发送一个request请求,后端接收到request请求之后,发送对应的response给浏览器,浏览器解析响应的reponse之后呈现出对应的html页面。URL:统一资源定位,用来定位网络上的某一个资源的为位置。URL的组成:scheme://...原创 2018-07-13 22:14:42 · 180 阅读 · 0 评论 -
nginx
什么是nginx:Nginx是一个web服务器和反向代理服务器nginx 的特点:反向代理,负载均衡等nginx如何处理http请求:Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。单个线程可以提供数万个并发连接。使用反向代理的好处:客户端并不知道真正的服务器的IP地址,比较安全吧master和worker:mast...原创 2018-07-13 13:36:38 · 121 阅读 · 0 评论 -
guavaCache的源码浅析
首先guava LoadingCache的创建是基于Builder模式创建的,类似于一种函数是编程的方式,直接通过.方法名来完成LoadingCache的创建。如下:private static LoadingCache<String,String> stringStringLoadingCache = CacheBuilder.newBuilder().initial...原创 2018-07-12 23:47:29 · 166 阅读 · 0 评论 -
进程、线程
进程:就是应用程序在操作系统中的一次执行过程,在这个过程中包含了该程序所需要的物理资源的管理与分配。线程:线程就是进程内的一个执行单元,进程的一个可调度实体。一个程序最少一个进程,一个进程最少一个线程。区别:(1)同一个进程中的线程共享该进程中的资源,而进程之间的资源是独立的(2)不同的进程之间地址空间不同,但是同一个进程中,所有的线程的地址空间相同僵尸进程:应用程序在执行完成之后所对应的进程并没...原创 2018-07-11 18:18:04 · 98 阅读 · 0 评论 -
设计模式之代理模式
代理模式(自己的理解):在程序中我们并不直接去使用目标对象,而是使用另外一个对象作为中介去代替目标对象来完成目标对象需要做的事。代理模式分为:静态代理、动态代理静态代理:在程序编译期间,就将需要植入的代码植入,耦合度高静态代理的缺点:需要实现跟目标对象一样的接口,耦合度高,难以维护优点:因为实现了相同的接口,所以可以扩展需要代理的类。以下为代码:package proxyTest;//静态代理的...原创 2018-07-11 17:26:31 · 104 阅读 · 0 评论 -
类加载过程
类加载过程:加载、验证、准备、解析,初始化 加载:将class文件以二进制流的形式,加载进入内存,形成一个class对象。验证:验证class对象中的一些数据是否符合规范准备:将类中的类变量赋予初始化值解析:将字面量和符号引用替换为直接引用初始化:完成类变量的赋值动作 类加载时机:使用 到new 关键字,使用到静态变量,静态方法的时候使用反射获取类的时候...原创 2018-07-17 10:35:58 · 164 阅读 · 0 评论 -
tomcat类加载机制
https://www.cnblogs.com/aspirant/p/8991830.html转载 2019-03-13 17:28:30 · 205 阅读 · 0 评论