java
一只勤奋的小猪
做到最好
展开
-
JUC下面的api实现原理
##JUC包下类ReentrantLock-ReentrantReadWriteLock-CountDownLatch-LinkedBlockingQueue-Synchronized原创 2021-09-05 16:19:15 · 117 阅读 · 0 评论 -
java的并发类
java内存模型 ①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作 ②对该变量操作完后,在某个时间再把变量刷新回主内存voaltile 与 synchronized voaltile关键字,使一个变量在多个线程中可见 A、B线程都用到一个变量,java默认是A线程中保留一份co...原创 2018-04-12 19:00:31 · 174 阅读 · 0 评论 -
java 集合总结
类原理ArrayList&&LinkedListArrayList: 1)底层采取的是队列的原理 2)每个元素都有自己的索引号 3)重复的元素可以添加,因为重复的元素可以出现在不同的位置 *4)查询效率高LinkdList: 1)底层采取的是链表结构 2)每个元素都有自己的索引号 3)重复的元素可...原创 2018-04-12 19:01:57 · 143 阅读 · 0 评论 -
GC收集参数
GC收集参数-Xms20m 设置初始堆-Xmx20m 最大堆大小-Xmn 设置年轻代大小-XX:+HeapDumpOnOutOfMemoryError 对堆内存溢出 --- 创建对象太多-Xss128k -Xss参数减少栈内存容量 抛出StackOverflowError异常,异常出现时输出的堆栈深度响应减少。 -- 栈的内存小-XX:PermSize=1...原创 2018-04-20 14:33:09 · 120 阅读 · 0 评论 -
jvm垃圾收集器理解
1、java运行时区域运行时区域分为 两类:线程私有和线程共享。线程私有程序计数器: 当前线程所执行的行号指令器。Java虚拟机的多线程是通过线程轮流切换并配置处理执行时间的方式来实现的,在同一个时刻,cpu只能执行一个线程,为了线程切换后能恢复到正确的 执行位置,每个线程都需要有一个独立的程序计数器。 若正在执行的是java方法,则计...原创 2018-04-20 21:48:51 · 133 阅读 · 0 评论 -
XF文章笔记之《Java异常》认识异常流程(一)
别名 XF最近在看了Practical Java中的一些改善代码的原则,重温下基础,而又不可忽视的重点区域,记录下来。认识异常流执行机制异常流类似于goto语句,java中没有goto语句,但是异常采用了类似的技术。一旦一个异常诞生,控制流(control)就会立刻转入下面三者之一 catch block (捕获区段) finally block (终结区段) ...原创 2018-10-18 13:49:39 · 104 阅读 · 0 评论 -
XF文章笔记之《Java异常》重视异常(二)
在编写代码时,要重视异常,不可忽视异常,也不要遮掩异常,对返回的异常信息要全部返回重视异常当产生异常的时候不去捕获,会发生什么?在执行代码时,代码发生异常没去捕获,线程就会停止。而异常信息没有返回的话,连出错的地方都很难找。在JAVA中,发生异常后,主要是:1.捕获并处理,防止进一步转播。2.捕获在抛出它,给调用端去处理。3.不捕获这个异常,随他怎么去传播。举例例如:捕获了...原创 2018-10-18 15:27:47 · 165 阅读 · 0 评论 -
XF文章笔记之《Java异常》throws字句(三)
throws是声明异常,是用来列出某个函数的所有异常。编译器强迫你必须在函数中捕获异常或者或者用throws在函数入口如声明异常。throws用来向函数调用者发出预警,告诉调用者可能会产生哪些异常。在项目开发周期前,请在一开始就设计好你的错误策略。请不要在项目最后才添加异常处理。加入有个公共方法A,多个方法调用A方法,在项目后期需要在A方法中加入异常,但是A方法又自己处理不了异常,只能在...原创 2018-10-18 16:52:47 · 206 阅读 · 0 评论