- 博客(26)
- 收藏
- 关注
原创 Windows内存管理
本文主要内容:1.基本概念:物理内存、虚拟内存;物理地址、虚拟地址、逻辑地址;页目录,页表2.Windows内存管理3.CPU段式内存管理4.CPU页式内存管理 一、基本概念1. 两个内存概念物理内存:人尽皆知,就是插在主板上的内存条。他是固定的,内存条的容量多大,物理内存就有多大(集成显卡系统除外)。但是如果程序运行很多或者程序本身很大的话,就会导致大量的物理内存
2016-04-03 22:59:52 1190
原创 java虚拟机自动内存管理机制
之前看周志明的《深入理解java虚拟机》总感觉有点脑袋晕晕的感觉,最近又拿起书来看了看。感觉思路清晰了不少,于是写了个课件,但转念一想这些总归是个人的理解难免会存在一定的局限性于是就把课件写成笔记,让它成为众矢之的,从中想学到写自己未曾注意到或者没想到的东西,这本身就是个不断进步的过程...Java内存划分 程序计数器:当前线程所执行的字节码的行号指示器 Jav
2016-04-03 22:43:30 492
原创 Java异常
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许多异常类,这些异常类分为两大
2016-03-31 22:36:17 2934
原创 HTTP报文
HTTP响应报文与工作原理详解发布时间:2015-01-27 16:29:00 来源:论坛 作者:CSDN博客关键字:HTTP 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务
2016-03-21 15:14:10 460
原创 深入理解HTTP协议
http://www.blogjava.net/zjusuyong/articles/304788.html //原文深入理解HTTP协议(转)http协议学习系列1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web
2016-03-17 21:37:31 575
原创 数据库学习
1. 主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余
2016-03-15 15:43:12 397
原创 垃圾回收算法
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。常用的垃圾回收算法有:(1).引用计数算法:给对象中添加一个引用计数器,每当有一个
2015-10-31 14:13:03 415
原创 java 子类构造函数与父类构造函数
/*子父类中的构造函数在对子类对象进行初始化时,父类的构造函数也会运行那是因为子类的构造函数默认的第一行有一句隐式的语句super()super():会访问父类中空参数的构造函数,而且子类中所有的构造函数默认的第一行都是super()为什么子类一定要访问父类中的构造函数?因为父类中的数据子类可以直接获取,所以子类对象在建立时=,需要查看父类是
2015-10-11 20:03:39 583
原创 HashMap原理 冲突 拉链 开放地址
了解HashMap原理对于日后的缓存机制多少有些认识。在网络中也有很多方面的帖子,但是很多都是轻描淡写,很少有把握的比较准确的信息,在这里试着不妨说解一二。 对于HashMap主要以键值(key-value)的方式来体现,笼统的说就是采用key值的哈希算法来,外加取余最终获取索引,而这个索引可以认定是一种地址,既而把相应的value存储在地址指向内容中。这样说或许比较概念化,也可能复
2015-10-11 11:13:59 3388
原创 try catch finally java 异常捕捉
前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来
2015-10-07 20:10:46 372
原创 从Java文件的编译到最终执行的过程
JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。Java源文件的编译、下载、解释和执行Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译
2015-09-30 11:34:04 846
原创 JDK源代码研究 TreeSet TreeMap 红黑树算法实现
TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但 TreeSet 底层是通过 TreeMap 来实现的,因此二者的实现方式完全一样。而 TreeMap 的实现就是红黑树算
2015-09-09 21:47:22 510
原创 字节对齐C++
1.什么是内存对齐假设我们同时声明两个变量:char a;short b;用&(取地址符号)观察变量a,b的地址的话,我们会发现(以16位CPU为例):如果a的地址是0x0000,那么b的地址将会是0x0002或者是0x0004。那么就出现这样一个问题:0x0001这个地址没有被使用,那它干什么去了? 答案就是它确实没被使用。 因为C
2015-09-09 21:02:49 642
原创 设计模式
设计模式有三种基本类别:创建型模式、结构型模式和行为型模式。A 状态模式:当一个对象状态发生变化时选择该对象的一种行为。属于行为型模式B 装饰器模式:为对象动态添加职责。属于结构型模式C 代理模式:用一个对象表示另一个对象。 属于结构型模式D 观察者模式:一种通知若干类发生变化的机制。属于行为型模式结构型设计模式是从程序的结构上解决模块之间的
2015-09-05 17:20:50 332
原创 排序算法时间复杂度对比
解析:几种常见的排序算法对比:排序法平均时间最差情形稳定度额外空间备注冒泡O(n2)O(n2)稳定O(1)n小时较好交换O(n2)
2015-09-05 16:44:29 377
原创 java 平衡二叉树的实现
package com.utils;import java.util.Iterator;import java.util.NoSuchElementException;/** * 平衡二叉树 * 定义:首先它是一种特殊的二叉排序树,其次它的左子树和右子树都是平衡二叉树, * 且左子树和右子树的深度之差不超过1 * 平衡因子:可以定义为左子树的深度减去右子树的深度 * * 平衡二
2015-09-05 16:19:48 380
原创 指针
int *p[4]; //指针数组。 是个有4个元素的数组, 每个元素的是指向整型的指针 。(数组的每个元素都是指针) int (*p)[4]; //数组指针。 它是一个指针,指向有4个整型元素的数组。 (一个指针指向有4个整型元素的数组) int *func(void); //指针函数。 无参函数, 返回整型指
2015-09-05 09:50:07 347
原创 java ConcurrentHashMap
术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位
2015-08-26 21:55:42 464
原创 java多线程理解
实现线程的方式有两种:1、继承java.lang.Thread,并重写它的run()方法,将线程的执行主体放入其中。2、实现java.lang.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。==>多线程的执行逻辑:当主线程被挂起时, 其它就绪的线程会根据选择最高优先级的来执行;当主线程的挂起时间 > 子线程的执行时间时,子线程执行完后回到主线程,
2015-08-25 21:04:51 405
原创 java编码格式
主要区分清楚内码(internal encoding)和外码(external encoding)就好了。内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。“外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或Stri
2015-08-25 11:06:52 503
原创 32位64位编译器各类型数据所占字节
32位编译器char:1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) shortint : 2个字节int: 4个字节unsigned int: 4个字节float: 4个字节double: 8个字节long: 4个字节
2015-08-22 19:42:55 1089
原创 TCP协议之三次握手和四次挥手
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:
2015-08-22 15:34:13 449
原创 JAVA中内存溢出和内存泄露
内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。Java内存泄漏就是没有及时清理内存垃圾,导致系统无法再给你提供内存资源(内存资源耗尽)。 JAVA中的内存溢出的导致原因很多,最主要的可能是A.由于JVM堆内存设置过小,可以通过-Xms -Xmm设置,B.JVM堆内存是足够的,但只是没有连续的内存空间导致,比如申请连续内存空间的数组
2015-08-22 09:23:23 439
转载 JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Patt
2015-08-16 14:52:02 383
原创 字符串通配符
问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出false知识点字符串运行
2015-08-16 10:44:24 1198
转载 Java中Scanner的nextInt(),next(),nextLine()方法总结
看package cn.dx;import java.util.Scanner;public class ScannerTest { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入一个整数");
2015-08-16 09:49:14 723
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人