![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java底层
libinv123
这个作者很懒,什么都没留下…
展开
-
2.1 java虚拟机原理
1. 通过调用某个初始类的main()方法来运行java程序是,就产生了一个虚拟机实例,虚拟机 的体系结构有:类装载器子系统、执行引擎、运行时数据区(方法区、堆、java栈、PC寄存器、本地方法栈) 2. 每个JAVA虚拟机实例都有一个方法区和堆,为所有线程共享,当虚拟机加载Class文件时,从文件的二进制数据中解析出类信息,并发到方法区中,而在运行时创建的对象都放到堆中 3. 当每个新原创 2014-11-29 23:09:08 · 325 阅读 · 0 评论 -
1.3 NIO简介
1. 为所有类型提供buffer(一块连续的内存块,NIO数据读写中转地)缓冲支持 2. Chanel(数据的源头或是目的地,读写buffer的唯一接口):一个新的原始I/O抽象 3. 字符集编码解码解决方案 4. 支持锁和内存映射文件的文件访问接口 5. 提供多路(non-blocking)非阻塞式的高伸缩性网络I/O 参考:http://www.iteye.com/topic/834原创 2014-11-29 23:06:21 · 305 阅读 · 0 评论 -
1.1 Arraylist、hashmap、hashSet等原理
ArrayList原理是数组,通过System.arrayCopy进行扩容。 Vector原理也是数组,类型ArrayList,但是扩容时容量增加一倍,并且方法中增加Synchronized进行同步 HashMap原理也是数组,通过key的hashCode在进行hash算法,计算出数组下标,如果不同key计算出来的hash值出现碰撞,数组下标一样,则用链表来关联。 LinkHashMap则基原创 2014-11-29 23:02:21 · 391 阅读 · 0 评论 -
1.2 java如何实现序列化
将java对象根据规范转成相应的字节的过程,即对类的元数据,如类名,变量名的类型,名称长度和名称值等描述输出,然后对父类的元数据进行输出,再从父类到子类的变量值进行输出《java序列化算法透析》 JAVA序列化和反序列化的三种格式:默认、xml、json 参考:http://blog.csdn.net/jirongzi_cs2011/article/details/37775511原创 2014-11-29 23:05:49 · 296 阅读 · 0 评论 -
2.2 JVM内存区域
1. 程序计数器,2.JAVA虚拟机栈,3.本地方法栈,4.java堆,5.方法区,6.运行时常量池,7.本机直接内存 参考:http://www.iteye.com/topic/802573原创 2014-11-29 23:09:41 · 282 阅读 · 0 评论 -
1.4 位运算符及其应用
& 按位与 适用于高位清零 | 按位或 ^ 按位异或 适用于加解密 ~ 取反 左移 原数值* 2的N次方 >> 右移 >>N 原数值/ 2的N次方 参考:http://blog.csdn.net/hguisu/article/details/7892596原创 2014-11-29 23:07:16 · 312 阅读 · 1 评论 -
2.3 GC垃圾回收机制
引用计数算法,根搜索算法 http://www.iteye.com/topic/802638 JDK5.0垃圾收集优化之 http://calvin.iteye.com/blog/91905 http://www.iteye.com/topic/212967 JVM GC的调优 参考:http://blog.163.com/yangshuo_qq/blog/static/2原创 2014-11-29 23:11:05 · 302 阅读 · 0 评论 -
3.1 Spring解决并发问题的原理
并发可以通过synchronized对多线程进行加锁排队单独访问;把共享变量由类变量改成方法内的临时变量,避免被其他线程所修改;可以通过ThreadLocal,为每个线程分配一个独立的变量副本。前者以时间换空间,访问串行变量共享,后者是以空间换时间,访问并行化,对象独享。(一般从接受请求到返回响应同属一个ThreadLocal,请求时通过filter放置session 并存储在ThreadLoca原创 2014-11-29 23:13:02 · 571 阅读 · 0 评论