自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 ThreadPoolExecutor

ThreadPoolExecutor构造函数//核心线程数,当有新任务要被执行时,如果当前线程大小小于corePoolSize,那么创建一个新的线程去执行。其次,当线程池里面的线程数目大于corePoolSize时,后续需要执行的任务都会放入缓存队列中,等待被执行;当缓存队列已满,且线程数目超过maximumPoolSize,就会执行相应任务拒绝策略。private volatile int...

2019-07-22 20:20:53 137

原创 ThreadLcoal

ThreadLocal 当使用ThreadLocal维护变量时,ThreadLocal为每个使用改变量的线程创建独立的变量副本; 每个线程可以操作属于自己的副本,不会对其他线程的副本产生干扰。以空间换时间的方式,使得访问并行化,对象共享化。//get()方法:返回此ThreadLcoal变量的当前线程副本中的值public T get() { Thread t = Thr...

2019-07-19 18:33:39 151

原创 StringBuilder&StringBuffer

对StringBuilder和StringBuffer的源码进行回顾,两者都是继承自AbstractStringBuilder,在方法实现上大同小异,个人觉得对于空字符串的拼接处理上比较有趣,所以着重看了一下。同时StringBuilder和StringBuffer里面充斥着大量的扩容和数组复制,并且在对于异常情况的考虑上很值得学习。StringBuilder//StringBuilder底...

2019-07-19 18:25:00 125

原创 HTTP协议

1、URLURL---Uniform Resource Locator(统一资源定位符)2、HTTPHTTP---Hyper Text Transfer Protocol(超文本传输协议)HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。默认HTTP的端口号为80,HTTPS的端口号为443。(1)请求1个完整的由...

2019-02-26 17:04:37 125

原创 项目-购物车登录

session和cookie的选择cookie与session的区别1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 。考虑到减轻服务器性能方面,应当使用COOKIE。...

2018-05-29 12:38:02 485

转载 大量数据和空间限制

1、只用2GB内存在20亿个整数中找到出现次数最多的数题目:有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数,内存限制为2GB分析解答使用哈希表对出现的每一个数进行词频统计。哈希表的key是某一个整数,value是这个数出现的次数。若一个数出现了20亿次,那么32位整数用哈希表进行存储时,key需要占用4B的空间,value也是4B.那么哈希表的一条记录(key,value)需...

2018-05-29 12:36:00 309

转载 JVM-可达性分析算法

可达性分析的问题1、消耗大量时间      从前面可达性分析知道,GC Roots主要在全局性的引用(常量或静态属性)和执行上下文中(栈帧中的本地变量表);      要在这些大量的数据中,逐个检查引用,会消耗很多时间;2、GC停顿      可达性分析期间需要保证整个执行系统的一致性,对象的引用关系不能发生变化;      导致GC进行时必须停顿所有Java执行线程(称为"Stop The Wo...

2018-05-29 12:33:12 3233 1

转载 JVM-双亲委派模型

双亲委派模型1、工作流程某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时(会抛出ClassNotFoundException异常),才自己去加载。2、好处:防止内存中出现多份相同的字节码文件从反向思考这个问题,如果没有双亲委派模型而是由各个类加载器自行加载的话,如果用户编写了一个jav...

2018-05-29 12:32:40 481

原创 JVM-控制参数

JVM中的控制参数(1)-Xms20M表示设置堆容量的最小值为20M,必须以M为单位(2)-Xmx20M表示设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-verbose:gc表示输出虚拟机中GC的详细情况(4)-Xss128k表示可以设置虚拟机栈的大小为128k(5)-Xoss1...

2018-05-29 12:30:34 247

转载 JVM-java内存模型

JVM内存模型1、 程序计数器---程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。也就是说,程序计数器里面记录的是当前线程正在执行的那一条字节码指令的地址。注:如果当前线程正在执行的是一个本地方法,那么此时程序计数器为空。程序计数器有两个作用:字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理;在多线程的情况...

2018-05-29 12:29:10 140

转载 JVM-GC收集器

GC RootsJava中可以被作为GC Roots中的对象有:虚拟机栈中的引用的对象。方法区中的类静态属性引用的对象。方法区中的常量引用的对象。本地方法栈(JNI)即一般说的Native的引用对象。垃圾回收算法1、标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点,标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有...

2018-05-29 12:27:14 203 2

原创 java基础-面向对象

面向对象-是一种设计思想(以人(拟人)的角度完成某种任务) 面向对象的四大特性封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性;抽象:抽象就是将一类实体的共同特...

2018-05-29 11:27:27 764

原创 java基础-异常

异常学习总结第一部分1、异常:异常是程序中有可能产生的错误,一旦错误产生,Java语言要么在底层使用事先定义好的异常对象进行处理,要么由我们程序员对代码进行处理异常的分类:Java中定义了很多异常类,每一种异常都对应一个异常类,最顶层的异常父类是Throwable,其子类是error和exception,error是底层错误,程序员无法通过代码修正,而exception可以进行处理,其次excep...

2018-05-29 11:19:47 254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除