- 博客(9)
- 收藏
- 关注
原创 链表反转
public class LinkNode {private Node headNode;private Node currentNode;private int size;public LinkNode() { size = 0; headNode = null; currentNode = null;}public Node getHeadNode(...
2020-02-16 22:45:55 122
原创 Java nio
Channel :一个双向的通道,可以用来读取和写入数据。读取的时候会先从buffer 空间里面获取数据。写入的时候也先写入到buffer缓冲区。包含了:fileChannel,datagramChannel/socketChannel,socketChannel,ServerSocketChannel。分别对应文件。UDP协议,和TCP协议。Buffer:缓冲区。主要用来缓冲读取写入的数...
2019-05-27 11:43:30 100
原创 对象创建过程
这里说的对象创建过程,仅仅指的是普通的对象。创建对象,仅仅只是一个new关键字。查找是否有符号引用:当虚拟机接收到一个new 指令时,会去常量池里面去找有没有这样到一个符号引用。 是否被加载:判断这个符号引用是否已经被加载链接初始化。如果没有,要先执行类的加载过程。 分配内存:分配内存的时候需要注意线程安全问题,为了避免同一块内存地址被分配给对象的问题。 主要有两种方式来避免 CAS...
2019-05-25 15:12:31 179
原创 java 类加载过程以及双亲委派模式
java 里面的类加载过程可以简单的概述为以下几个步骤:加载:将.class的二进制文件加载到内存中,供程序使用。 链接: 验证:主要是为了保证jvm能够正确的加载这个文件。验证这个类文件是否符合jvm的规范。 准备:为类文件的静态变量申请内存,以及赋上默认值。比如int 类型的默认为0,boolean默认值是false,引用类型的默认值是null。 解析:将符号引用解析成直接应用...
2019-05-25 14:21:53 185
原创 java 内存模型
图后续补计数器:指令技术器,主要用于记录指令的行号。作用就是用于循环,跳转,进入分支代码等都要依赖这个计数器来实现。这块区域是唯一不会发生内存溢出都区域。每个线程都有单独的指令计数器。 虚拟机栈:每个线程都有自己的虚拟机栈,虚拟机栈是有栈帧构成的,每个栈帧包含着临时变量表、动态链接、计数器,方法出口。临时变量表里面存放着数据类型,包括值类型和引用类型。这个区域容易出现stackoverflo...
2019-05-21 02:37:14 111
原创 java执行过程
java 执行过程图java 文件通过javac 命令编译程.class 文件(编译阶段) 将class 文件加载到内存里面(加载阶段) 涉及了类加载过程 涉及了双亲加载模式 执行class 内容(运行阶段) 涉及jvm内存管理 涉及了执行方式 解释执行:生成字节码执行。速度慢,效率低。,占用内存少。 编译执行:生成机器码来执行。发生在运行期,俗称jit...
2019-05-18 15:42:01 193
原创 MVC 入门路由选择二 定义默认值与静态路由
一、设置默认值namespace HelperMethods{ public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{
2015-08-31 23:09:40 1448
原创 MVC入门学习路由选择(一)
MVC的路由系统有两个功能:1、考察输入URL。通过用户输入的URL推断用户需要调用的控制器和动作。2、生成输出URL。这里的URL是指试图渲染HTML中生成的URL,当用户点击这些URL时,路由能够推断出调用的特定动作。 当处理一个请求时,路由系统将这个请求与一个模式片段进行匹配,然后从这个URL中为这个模式中定义的片段变量提取出相应的值。片段变量使用花括号表示(“{”和“
2015-08-09 23:17:28 1186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人