java
街北槐花
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jvm类装载过程笔记
类加载过程1、加载 a) 通过一个类的权限定名来获取此类定义的二进制字节流。b) 将这个字节流所代表的静态存储结构转换为方法区的运行时数据结构c) 在java堆中生成一个代表这个类的java.lang.Class对象,作为访问方法区的入口2、连接2.1验证 验证阶段作用是保证Class文件的字节流包含的信息符合JVM规范,不会给JVM造成危害。如果验证失败,就会抛原创 2016-12-10 09:33:49 · 273 阅读 · 0 评论 -
java堆详解
摘要: 堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survi转载 2016-12-13 20:26:21 · 460 阅读 · 0 评论 -
java虚拟机运行数据区笔记
方法区:类的信息,常量池,静态变量堆:本地方法栈:执行native方法提供服务虚拟机栈:执行java方法提供服务程序计数器:保存执行指令的行数原创 2016-12-17 10:28:43 · 317 阅读 · 0 评论 -
垃圾收集与内存分配策略
一、判断对象是否已经不会被使用 1、引用计数算法 对象每被引用一次,对象的引用计数器加1,反之减1 问题 :循环应用不能解决 2、可达性分析算法 GC Roots到该对象否有引用链 二、垃圾收集算法 1、标记清除算法 2、复制算法新生代都采用这个算法,参数-XX:ServiorRatio Ed原创 2016-12-17 11:10:38 · 288 阅读 · 0 评论 -
jvm 新生代
前言 JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,所以我们要了解JVM内存组成,回收算法,对象分配机制。 JVM 堆内存组成Java堆由Perm区和Heap区组成,Heap区由Old区和New区(也叫Y转载 2017-03-08 15:56:24 · 429 阅读 · 0 评论 -
io对比分析
1 同步阻塞IO用户线程通过系统调用read发起IO读操作,由用户空间转到内核空间。内核等到数据包到达后,然后将接收的数据拷贝到用户空间,完成read操作。用户线程使用同步阻塞IO模型的伪代码描述为:{read(socket, buffer);process(buffer);}2同步非阻塞IO用户线程系统系统调用read 后直接返回,然后原创 2017-06-16 16:08:21 · 278 阅读 · 0 评论 -
parallel scavenge 与parnew 区别
两者都是复制算法,都是并行处理,但是不同的是,paralel scavenge 可以设置最大gc停顿时间(-XX:MaxGCPauseMills)以及gc时间占比(-XX:GCTimeRatio),原创 2017-06-08 19:18:21 · 7013 阅读 · 0 评论 -
CMS 收集器过程
1 初始标记(STW) 标记GC Roots 直接关联对象2 并发标记 3 重新标记 STW 修正产生变动的对象的标记4 并发清除5 重置线程原创 2017-06-08 19:25:51 · 493 阅读 · 0 评论 -
自动装箱拆箱
public static void main(String[] args) { Integer a=1; Integer b=2; Integer c=3; Integer d=3; Integer e=321; Integer f=321; Long g=3l; Sy原创 2017-06-09 23:27:36 · 253 阅读 · 0 评论 -
ImageIO drawString 中文乱码问题
最近在做一个有中文的验证码程序,由于程序是放在linux环境下的,生成的图片在前台一直显示为方框。一开始,不用说了,直接百度、google。第一点:不少人都说到了这点上:img.setFont(new Font("宋体", Font.BOLD, 20));写中文进入图片之前必须设置字体,而且这个字体必须支持中文,否则就会出现乱码或者方框、问号等等。但这个还不转载 2016-11-27 10:49:29 · 6545 阅读 · 0 评论 -
final fianlly finalize 笔记
final 修饰基本变量 不可修改修饰对象变量 变量的引用不可修改final修饰方法1、不允许被修改2、编译期直接插入到调用处final 修饰类原创 2016-12-11 10:36:37 · 413 阅读 · 0 评论 -
java io总结
io分类 按照流类型 :字符流,字节流字符流因为数据编码不同,从而有了对字符进行高效操作的流对象,本质就是基于自己流读取时,去查了指定的码表不同:读写单位不同,处理对象不同 按照方向:输入流,输出流输入流读操作,输出流写操作这里以一个具体案例来讲一下 FileInputStream,InputStreamReader,BufferedReader之间的区别,并类比输原创 2016-12-10 11:33:33 · 177 阅读 · 0 评论 -
concurrentHashMap 实现
【转】并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了vola转载 2017-06-10 17:59:50 · 268 阅读 · 0 评论
分享