- 博客(43)
- 收藏
- 关注
转载 C++DLL编程详解
转自: http://blog.csdn.net/xupan_jsj/article/details/9028937 DLL(Dynamic Link Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用
2015-08-07 15:00:41 561
转载 浅谈C++中指针和引用的区别
转自: http://www.cnblogs.com/dolphin0520/archive/2011/04/03/2004869.html指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储
2015-08-07 14:59:28 454
转载 Java 执行引擎(从字节码到机器码)
通过类装载器装载的,被分配到JVM的运行时数据区的字节码会被执行引擎执行。执行引擎以指令为单位读取Java字节码。它就像一个CPU一样,一条一条地执行机器指令。每个字节码指令都由一个1字节的操作码和附加的操作数组成。执行引擎取得一个操作码,然后根据操作数来执行任务,完成后就继续执行下一条操作码。不过Java字节码是用一种人类可以读懂的语言编写的,而不是用机器可以直接执行的语言。因此,执行引
2015-08-07 14:56:53 8258 1
转载 JAVA类装载器classloader和命名空间namespace
转自: http://blog.csdn.net/sureyonder/article/details/5564181 JAVA虚拟机通过装载、连接和初始化一个JAVA类型,使该类型可以被正在运行的JAVA程序所使用。其中,装载就是把二进制形式的JAVA类型读入JAVA虚拟机中。连接就是把这种已经读入虚拟机的二进制形式的类型数据合并到虚拟机的运行时状态中去。连接阶段分为三个步骤
2015-08-07 14:55:12 673
原创 C++小结-编译原理
看了一些关于C++的文章,暂且先记录一下自己的想法: C++编译原理(以VS为例): 1、预编译(C++代码(有宏)---->C++代码(无宏)):编译器解析宏,将代码中存在宏的代码替换为宏定义的字符、C++的inline(内联)函数也是在此时替换的。此时编译器是否已经分析出了cpp文件的信息,如cpp编译后的文件运行时需要的大小,cpp文件中每个函数的大小之类的信
2015-08-07 14:53:04 640
转载 汇编---call & ret
使用汇编语言中的call命令 ,伴随着一些内容的入栈,那么,入栈的都是一些什么内容呢?它们入栈的顺序是什么样的? 不同的CPU可能有不同的规定。下面只说常见的简单CPU的指令。常见的CPU的CALL指令(“调用”指令)的功能,就是以下两点:(1)将下一条指令的所在地址(即当时程序计数器PC的内容)入栈,(2)并将子程序的起始地址送入PC(于是CPU的下一条指令就会转去执
2015-08-07 14:52:27 470
转载 详解C++代码反汇编后的堆栈寄存器EBP和ESP
转自:http://www.cnblogs.com/pugang/archive/2012/05/25/2518499.html 最近在分析一个进程崩溃的严重问题,其中有些过程分析需要对ebp, esp 有清晰的理解,对于ebp 和esp相信大家都很熟悉了,但是为了使本文自成体系,我还是解释一下。ebp--栈底指针esp--栈顶指针 如图所示,简化
2015-08-07 14:44:05 470
转载 C++中堆栈,堆和栈的区别
转自:http://blog.csdn.net/steven30832/article/details/8267262 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分
2015-08-07 14:42:49 601
转载 Java运算符优先级
转自:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号符号名称结合性(与操作数)目数说明1.点从左到右双目
2015-08-07 14:38:14 462
转载 jvm的内存溢出异常
转自:http://www.cnblogs.com/evan2012/archive/2012/05/12/2497086.html ;1.jvm的内部体系结构浅析 2.jvm的几个运行时数据区域 3.jvm的内存溢出异常 在Java虚拟机规范的描述中,除了PC(程序计数器)寄存器外,虚拟机内存的其他几个运行时区域都有发
2015-08-07 14:37:20 342
转载 #ifndef#define#endif防止头文件重复包含, 你不是真的懂
转自:http://blog.csdn.net/q191201771/article/details/6399820注:以下所用环境皆为VS2005, 由于本人编程能力及表达能力有限, 大家有看不懂的地方可以多看几遍,有错误地方请一定指出 这里首先说明下几点基础知识, 相信大部分人对于以下几点大部分都已经知道了, 你也可以直接跳到最后部分看#ifndef#d
2015-08-07 14:35:57 435
转载 C++编译链接过程
转自:http://blog.csdn.net/edisonlg/article/details/7081357 GCC的编译过程总体来说,C/C++源代码要经过:预处理、编译、汇编和链接,四步才能变成相应平台下的可执行文件。File: hw.c[cpp] view plaincopyprint?#include
2015-08-07 14:34:49 448
转载 Java系列笔记(4) - JVM监控与调优
转自:http://www.cnblogs.com/zhguang/p/Java-JVM-GC.html ;目录参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如
2015-08-07 14:28:53 773
转载 C++宏定义详解
转自:http://blog.chinaunix.net/uid-21372424-id-119797.html一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得
2015-08-07 14:27:58 393
转载 Java系列笔记(5) - 线程
转自:http://www.cnblogs.com/zhguang/p/3330676.html ;我想关注这个系列博客的粉丝们都应该已经发现了,我一定是个懒虫,在这里向大家道歉了。这个系列的博客是在我工作之余写的,经常几天才写一小节,不过本着宁缺毋滥的精神,所有写的东西都是比较精炼的。这篇文章是本系列的第五篇,主要讲Java线程相关的内容,基本上包含了线程要了解的比较深入
2015-08-07 14:27:28 749
转载 Java系列笔记(3) - Java 内存区域和GC机制
转自:http://www.cnblogs.com/zhguang/p/3257367.html 目录Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Jav
2015-08-07 14:24:09 485
转载 Java系列笔记(2) - Java RTTI和反射机制
转自:http://www.cnblogs.com/zhguang/p/3091378.html ;目录前言传统的RTTI反射反射的实现方式反射的性能反射与设计模式前言并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这就是RTTI(Runtime Type Information,
2015-08-07 14:22:58 478
转载 Java系列笔记(1) - Java 类加载与初始化
转自:http://www.cnblogs.com/zhguang/p/3154584.html ;目录类加载器动态加载链接初始化示例类加载器在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用。每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加
2015-08-07 14:22:13 529
转载 Java并发编程:Callable、Future和FutureTask
转自:http://www.cnblogs.com/dolphin0520/Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执
2015-08-07 14:20:09 351
转载 Java动态代理实现(简单AOP实现)
本文介绍了简单Aop实现的方法,意在抛砖引玉。 首先是简单的Aspect接口 Java代码 package org.aspect; /** * 切面接口 */ public interface Aspect { /** * 事先执行 */ public
2015-08-07 14:19:23 496
转载 看懂java的class文件(字节码)(好)
转自1: http://blog.csdn.net/a19881029/article/details/16117251转自2: http://blog.csdn.net/lm2302293/article/details/6713147 Class文件是一组以8位字节为基础单位的二进制流,包含多个数据项目(数据项目的顺序,占用的字节数均由规范定义),各个数据项
2015-08-07 14:17:50 3880 1
转载 深入理解JVM性能调优
转自:http://yhjhappy234.blog.163.com/blog/static/3163283220122298232721/?suggestedreading&wumii
2015-08-07 14:15:44 524
转载 java基础知识:java方法传参机制
转自 http://blog.sina.com.cn/s/blog_693e5f3701019t82.html ;这个问题是面试的时候经常会问到的一道题吧?这次做项目的过程中,其中一个同学因为无用了,导致了一个bug,不过是在提测前啦!本来我想借着这次机会分享一下java方法传参的机制,但是经过几天的学习,了解,发现网上的博客基本上没有一篇能让人看后就清清楚楚的明白的,讲的
2015-08-07 14:14:34 708
转载 Java数组与内存控制
一、Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值。(文章来源于李刚老师的《突破java程序员的16课》)1:基本类型数组的两种初始化方式静态初始化:初始化时由程序员显式指定每个数组元素的初
2015-08-07 14:12:05 427
转载 为什么String要设计成不可变的?
这是一个老生常谈的话题(This is an old yet still popular question). 在Java中将String设计成不可变的是综合考虑到各种因素的结果,想要理解这个问题,需要综合内存,同步,数据结构以及安全等方面的考虑. 在下文中,我将为各种原因做一个小结。1. 字符串常量池的需要字符串常量池(String pool, String intern p
2015-08-07 14:11:08 338
转载 Java内部类访问局部变量时的final问题
转自:http://lidejiasw.wordpress.com/2011/06/08/java%E5%86%85%E9%83%A8%E7%B1%BB%E8%AE%BF%E9%97%AE%E5%B1%80%E9%83%A8%E5%8F%98%E9%87%8F%E6%97%B6%E7%9A%84final%E9%97%AE%E9%A2%98/JAVA用了也快三年了,内部类访
2015-08-07 14:08:05 456
原创 数据库优化相关
1、内存:使用prepareStatement或者hibernate框架,多次查询时由于数据存放在内存中,速度会加快,但只用一次的话用Statement的优点不用长久维护内存 2、因地制宜:sql语句大写,oracle总是先解析sql语句,把小写的字母转换成大写的再执行 3、编译开销:尽量使用存储过程,数据库少了编译部分。 4、数据库连接池:减少不必要的开销 5、数学计算:子查询
2015-08-07 14:07:27 363
转载 ssh之Hibernate
这里介绍增加Hibernate持久层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用里边,会更有利。 在向大家详细介绍Hibernate持久层之前,首先让大家了解下应用程序的分层体系结构,然后全面介绍Hibernate持久层。应用程序的分层体系结构随着计算机应用软件的发展,应用程序逐渐由单层体系结构发展为多层体系结构。其中,
2015-08-07 14:06:27 360
转载 spring之Ioc机制
转自: http://www.tuicool.com/articles/jYJZFny 需要明确一点,任何项目没有了Spring,也依旧能做,那么为什么Spring还会这么火?答案就是Spring的两个特性IoC与AOP,这里需要指出的是,并不是Spring提出的AOP的概念,只能说是Spring很好的实现了AOP的特性。那么,这次就先讨论下Spring IoC的实现机制。
2015-08-07 14:05:30 447
转载 ssh之spring
在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不用书写大量的SQL语句。Struts是用来做应用层的,他它负责调用业务逻辑serivce层。所以SSH框架的流程大致是:Jsp页面----Struts------Service(业务逻辑处理类)---Hibernate(左到右)s
2015-08-07 14:03:30 354
转载 js与el小解
javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以你不能用js来改变已经执行的el表达式的值,但是却可以用el来给js初始化传值,这和JSP脚本是一样的效果,但是如果JS脚本不是在JSP页面里而是在单独的JS文件里,这时用EL初始传值是不起作用的,但你可以通过window.onload()来得到EL的值再传送给JS文件里的方法进行变量初始化
2015-08-07 14:02:19 495
转载 解决JSP中文乱码问题
转自 http://www.cnblogs.com/chengkai/articles/2171848.html大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。首先了解一下Java中文问题的由来:Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨
2015-08-07 14:00:07 423
转载 java引用与变量
首先,你要明白什么是变量。变量的实质是一小块内存单元。这一小块内存里存储着变量的值比如int a = 1;a就是变量的名名,1就是变量的值。而当变量指向一个对象时,这个变量就被称为引用变量比如A a =new A();a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址
2015-08-07 13:57:42 477
转载 Java 内存区域和GC机制(好)
转自 http://www.cnblogs.com/zhguang/p/3257367.html目录Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为
2015-08-07 13:56:57 409
转载 堆栈(百度百科)
http://baike.baidu.com/link?url=7CNKfvM_guiTOnToP7smkGtSEeBHdHtHYQi9GmQNcOjIo7ufcC2dgAAf8twibN74
2015-08-07 13:55:48 512
转载 Class文件内容及常量池(非常好)
转自 http://hxraid.iteye.com/blog/687660 ;当JVM运行Java程序的时候,它会加载对应的class文件,并提取class文件中的信息存放在JVM开辟出来的方法区内存中。那么这个class文件里面到底有些什么内容呢? 一、class文件内容概述 class文件是由8bits的字节流组成,全部字节构成了15个有意义的
2015-08-07 13:54:43 540
转载 JVM调优总结 -Xms -Xmx -Xmn -Xss
转自 http://unixboy.iteye.com/blog/174173堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测
2015-08-07 13:53:48 322
转载 java方法区
转自 http://shenlvcheng.iteye.com/blog/864940 方法区 在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。 jvm实现的设计者决定了类型信息的内部表现形式。如,多字节变量在类文件是以big-endian存储的,但在加载到方法区后,其
2015-08-07 13:52:59 527
转载 Java虚拟机(JVM)中的内存设置详解
转自 http://www.cnblogs.com/zcshan/archive/2011/03/10/jvm.html 在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class
2015-08-07 13:51:48 396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人