理解_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 理解 >>列表
第十二章java内存模型与线程1、主内存与工作内存java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量与java编程中所主的变量略有区别,它包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,因为后者是线程私有的,不会被共享,自然就不存在竞争问题。java内存模型规定了所有的变量都存储在主内存中。每条线程还有自己的工作内存,线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝... 查看全文
上篇文章"理解C#4dynamic(2)–ExpandoObject的使用"了解了ExpandoObject的基本使用。但ExpandoObject的问题就是它是一个万金油,什么都可以做,但是又都不专注。使用DynamicObject正好可以解决这个问题。这篇文章介绍DynamicJson是如何继承DynamicObject,包装一个用来处理Json的动态类型。阅读目录:一、JS可以灵活处理Json字符串二、DynamicObject分析三、DynamicJson代码四、总结一... 查看全文
参考:http://blog.csdn.net/android_tutor/article/details/7193090与http://www.cnblogs.com/kingcent/archive/2011/03/08/1977064.htmlonInterceptTouchEvent()用于处理事件并改变事件的传递方向。onTouchEvent()用于处理事件,返回值决定当前控件是否消费(consume)了这个事件。onInterceptTouchEvent()的默认返回值是false... 查看全文
第十章早期(编译期)优化1、概述java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java转变成*.class文件的过程;也可能是批虚拟机的后端运行期编译器(JIT编译器)把字节码转变成机器码的过程;还可能是指使用静态提前编译器(AOT编译器,AheadOfTimeCompiler)直接把*.java文件编译成本地机器代码的过程。2、由于编译器进行了常量折叠,“a=1+2”比起直接定义“a=3”,并一会增加程序的运算量。3... 查看全文
第八章虚拟机字节码执行引擎1、栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法插的数据结构,它是虚拟机运行时数据区中的虚拟机栈(VirtualMachineStack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。2、Java虚拟机里面调用字节码指令的方法:invokestatic:调用静态方法。invokespecial:调用实例构造器<init>方法、私有方法和父类方法。invokevirtual:调用所有的虚方法... 查看全文
· 理解DB2数据库中的catalog发布时间:2013-08-09
导读:在DB2数据库中经常会遇到catalog,很多人对这个词都不是很熟悉,而且编目(catalog)这个单词很难理解,具体来说编目有编目节点,编目数据库等。如果要理解编目,我先简单讲一下DB2数据库的体系结构,在DB2数据库中最大的概念是系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,然后是数据库对象。现在假设你有一个数据库服务器在p570的机器上,你有一个客户端在windows,linux或任何平台上,你现在想建立一个客户端到服务器端的连接,具体步骤是什么呢?第1步... 查看全文
关于DB2数据库性能理解的主要误区的讲解,比较适合刚刚入门的初学者学习,为大家很好的掌握DB2数据库的知识提供了一个很好的参考文献,这样一开始大家就掌握了正确的知识,避免以后走弯路,希望对大家能够有所帮助。DB2数据库性能理解的主要误区:逻辑设计应该总是能和物理设计完全映射实际:DB2数据库设计中物理设计应该尽可能的和逻辑结构相近,但是为性能做出的物理设计改变不能被忽略,因为它们并不来自于逻辑设计。将所有东西放在一个缓冲池(BP0)中让DB2管理实际:就像在DB2手册和其他地方说明的一样... 查看全文
导读:DB2数据库中的编目即catalog这个单词很难理解,具体来说编目有编目节点,编目数据库等。如果要理解编目,我先简单讲一下DB2数据库的体系结构,在DB2数据库中最大的概念是系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,然后是数据库对象。现在假设你有一个数据库服务器在p570的机器上,你有一个客户端在windows,linux或任何平台上,你现在想建立一个客户端到服务器端的连接,具体步骤是什么呢?第1步:你必须要在客户端的机器上能够把远程的服务器能够识别出来... 查看全文
第七章虚拟机类加载机制1、类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段。其中验证、准备和解析三个部分统称为连接(Linking)。4种必须对类进行“初始化”的情景;1)遇到new、getstatic... 查看全文
第五章调优案例分析与实践1、-XX:+PrintGCTimeStamps打印GC停顿时间第六章类文件结构1、Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分配符,这使得整个Class文件中存储的内容几乎全部都是程序运行的必要数据,没有空隙存在。当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储。Class文件只有两种数据类型:无符号数和表。无符号数属于基本的数据类型,以u1... 查看全文
· string的深入理解发布时间:2013-08-01
本文只是个人总结见解,勿喷首先肯定的是string是引用类型strings_a="yhc";strings_b=s_a;if(s_a.Equals(s_b))Console.WriteLine("相同?");elseConsole.WriteLine("不相同");输出是“相同”,让s_b=s_a,本质是让s_b指向了yhc在堆上的存储位置,此时s_a和s_b都指向了yhc在堆上的存储位置。理论上说如果修改s_a的值,例如s_a=”wq”... 查看全文
· 对继承的个人理解发布时间:2013-08-01
继承:关键字extendsjava中继承是单继承允许多个子类继承一个父类,不允许一个子类继承多个父类。继承是继承父类的所有属性和方法,但并不是所有的属性和方法都可被子类调用;子类继承父类是必须写一个与父类相同的构造方法,否则会报错。当实例化一个子类对象时,实际上既调用子类的构造方法又调用了父类的构造方法(父类构造方法再子类构造方法)。父类有哪些属性和方法?private类{}中默认的包中protected包中和包外的子类public项目中子类可调用父类的哪些属性和方法呢?1... 查看全文
· 对数组的个人理解发布时间:2013-08-01
数组定义:数组可以理解为一个具有连续空间的容器,在其中可以放一些类型相同的东西,如:相同类型的数,相同类的对象,数组的特点:1、连续空间2、类型固定3、空间大小固定数组的定义方式:1、数组类型[]数组名=new数组类型[数组长度];(一维)数组类型[][]数组名=new数组类型[行][列];(二维)·······2、数据类型[]数组名={值,值,····};数据类型[][]数组名={{值,值},{值,值},····};·······3、数据类型[]数组名;数组名=new数据类型[数组长度];注... 查看全文
目标:1.掌握语法格式和用途2.熟练使用参数的传递类是由属性和方法组成。方法:1.普通方法(对象的行为)2.构造方法(实例化对象的方法)1.构造方法语法格式:public类名(数据类型形参名,...){//构造方法code·····//方法体}public数据类型方法名返回值(数据类型形参名,...){//普通方法code·····//方法体}区别:1.返回值的不同:普通方法返回返回值数据类型;构造方法返回对象在堆中的地址。2.方法名的不同:普通方法名可根据需要自己命名;构造方法名必须是类名... 查看全文
日期,3W咖啡创始人许单单在3W咖啡新店庆典活动和老友Party上,首次内部分享了3W咖啡3年来的幕后故事。3W,没那么简单,有两个寓意:3W咖啡不仅仅是一个咖啡馆。3W一路走来确实没那么简单。3W目前已经形成了咖啡馆、3W创新传媒,互联网垂直领域招聘网站拉勾招聘,孵化器NextBig,猎头服务等多元化发展,这些都是一步一步摸索着形成的。这个过程的背后,挺不简单的。我们一起来听许单单讲诉3W的那些故事:不经意间做了个咖啡馆,严重亏损,因祸得福我们3W最开始的时候就是三个互联网人... 查看全文
· Mina原理解析发布时间:2013-07-29
客户端通信过程1.通过SocketConnector同服务器端建立连接2.链接建立之后I/O的读写交给了I/OProcessor线程,I/OProcessor是多线程的3.通过I/OProcessor读取的数据经过IoFilterChain里所有配置的IoFilter,IoFilter进行消息的过滤,格式的转换,在这个层面可以制定一些自定义的协议4.最后IoFilter将数据交给Handler进行业务处理,完成了整个读取的过程5.写入过程也是类似,只是刚好倒过来,通过IoSession... 查看全文
第四章1、jps:虚拟机进程状况工具-q:只输出LVMID,省略主类的名称-m:输出虚拟机进程启动时传递给主类main()函数的参数-l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径-v:输出虚拟机进程启动时JVM参数2、jstat:虚拟机统计信息监视工具jstat:是各种运行状态信息的命令行工具,显示本地和远程虚拟机进程中的类装载、内存、垃圾收集、JTA编译等运行数据,运行其定位虚拟机性能问题的首选工具。(VMID与LVMID的区别:如果是本地虚拟机进程... 查看全文
· 用一个例子来理解WCF的用法发布时间:2013-07-25
和传统的分布式通信框架一样,WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用。在本例中,客户端和服务通过运行在相同的同一台机器上不同进程模拟,WCF的服务不能孤立地存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定宿主的过程称为服务寄宿(ServiceHosting)。在我们的计算服务应用中,采用了两种服务寄宿方式:通过自我寄宿(Self-Hosting)的方式创建一个控制台应用作为服务的宿主(寄宿进程为Hosting.exe)... 查看全文
ExpandoObject的使用非常简单,很容易入手。上一篇里面已经有详细的介绍了,可以看这里(理解C#4dynamic(1)-var,object,dynamic的区别以及dynamic的使用)下面对ExpandoObject的使用场合和一些认为需要注意的地方,谈一下自己的看法:一,ExpandoObject使用场合在传递对象,但是又不想创建一个class或者struct的时候,ExpandoObject就是一个非常好的选择。假如我们有一个SendMail的函数,功能是发送一个通知邮件给客户... 查看全文
UseSerialGC:虚拟机运行在Client模式下的默认值,打开此形状后,使用Serial+SerialOld的收集器组合进行内存回收。UseParNewGC:虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial+SerialOld的收集器组合进行内存回收UseParNewGC:打开此开关后,使用ParNew+SerialOld的收集器组合进行内存回收UseConcMarkSweepGC:打开此开关后,使用ParNew+CMS+SerialOld的收集器组合进行内存回收... 查看全文