java
文章平均质量分 51
qq343103429
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap部分源码分析
一.put()方法public V put(K key, V value) { return putVal(key, value, false);}final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) throw new NullPointer...原创 2019-07-13 12:06:45 · 78 阅读 · 0 评论 -
GC笔记
一.介绍gc基本原理:队对象的分配和释放。Full GC:针对新生代Young Gen,老年代Tenured Gen,永久代Perm Gen(1.7),元空间metaspace(1.8)全范围的gc。永久代和元空间的区别:(1)永久代属于堆内存的一部分;而元空间为本地内存。 (2)永久代存储Class信息...原创 2019-07-09 21:22:50 · 138 阅读 · 0 评论 -
高并发系统设计
高并发系统主要是为了解决在有限的资源下解决最核心的问题,预测并发现以后可能会出现的问题。高并发原则一般遵守如下几个设计原则:1.无状态:指的是应用在处理业务逻辑期间尽量减少锁的使用、降低网络通信延迟、无数据持久化操作等,以此来增加应用系统的性能。2.拆分:大而全的系统,可根据实际的访问量来拆分系统,来实现流量分片,提高并发能力;主要维度有系统(商品系统,订单系统,购物车系统,结算系统等...原创 2019-07-10 10:58:32 · 151 阅读 · 0 评论 -
HTTP协议笔记
一.介绍客户端发送HTTP请求到服务端,服务端处理请求,服务端发送HTTP响应给客户端;其中一个请求的开始到一个响应的结束称为一个事务。HTTP响应模式:单进程I/O模型,多进程I/O模型,复用单进程I/O模型(一个进程开启多个线程,一个线程响应一个请求),复用多进程I/O模型二.HTTP报文格式由起始,首部,主体组成;起始:说明报文的动作;首部:说明报文的属性;主体:报文的数据。...原创 2019-07-11 09:40:11 · 173 阅读 · 1 评论 -
SVN设置忽略文件或文件夹提交(Ignored Resource)
目的:防止本地个人配置文件或文件夹误操作提交至SVN方法一:选择Window-Preferences-Team-Ignored Resource,点击add Pattern...,添加需要忽视的文件。方法二:工程目录下,对不在SVN上的文件或文件夹右击,选择"Team"下的"添加至 svn:ignore(D)"将对应文件或文件夹添加忽视。选择定制模式,将特定的文件或文件...原创 2018-05-22 14:37:53 · 2901 阅读 · 0 评论 -
Spring笔记
1.Spring循环依赖Spring依赖注入一般分为3种模式:构造器注入,set-Singleton,set-Prototype;当A依赖B,B依赖C,C依赖A,只有set-Singleton模式可以正常注入,其余两个在Spring启动注入bean时报错,原因可以从springBean加载流程中得出。2.Singleton Bean的三级缓存singletonFactories: ...原创 2019-07-13 12:06:05 · 212 阅读 · 0 评论 -
HashMap部分源码分析
一.put方法分析//入口public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}//key的hash值计算static final int hash(Object key) { int h; //表示key为null是,hash值为null,所以...原创 2019-07-12 10:59:20 · 88 阅读 · 0 评论 -
类的加载机制
1.双亲委派模型每次收到类加载请求时,先将请求委派给父类加载器完成(所有加载请求最终会委派到顶层的Bootstrap ClassLoader加载器中),如果父类加载器无法完成这个加载(该加载器的搜索范围中没有找到对应的类),子类尝试自己加载。2.类加载器的种类启动类加载器,Bootstrap ClassLoader,加载JAVA_HOME\lib,或者被-Xbootclasspath参...原创 2019-07-12 10:56:49 · 119 阅读 · 0 评论