`
文章列表

JVM闲谈

java中内存分为堆内存和栈内存。  Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中 ...
堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统 ...

JVM 四

  转自:http://blog.csdn.net/cutesource/article/details/5907418 JVM学习笔记(四)------内存调优 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况, 因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC是会占用很多的系统资源(主要是CPU) ...

关于byte

    博客分类:
  • j2se
1GB=1024MB=1024*1024KB=1024*1024*1024B 1MB=1024KB=1024*1024B 1KB=1024B 1Byte=1B=8bit(八位二进制数) 字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。 一个英文字母(不分大小写)占一个字节的空间 一个中文汉字占两个字节的空间. 符号:英文标点占一个字节,中文标点占两个字节. 一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节,此类单位的换算为: 1千吉字节(KGB,KiloGigaByte)=10 ...

JVM

    博客分类:
  • JVM
                            JVM学习笔记(一)------基本结构 本文转自: http://blog.csdn.net/cutesource/article/details/5904501     从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: 从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别 对于JVM自身的物理结构,我们可以从下图鸟瞰一下: 对于JVM的学习,在我看来这么几个部分最重要: Java代码编译和执行的整个过程 JVM内存管理及垃圾回收机制
Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。 编辑本段特性简介 易用性   易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面:   通过 XML 或者 API 来对 Jetty 进行配置;默认配置可以满足大部分的需求;将 Jetty 嵌入到应用程序当中只需要非常少的代码; 可扩展性   在使用了 Ajax 的 ...
Java里的对象并非总是被垃圾回收,或者换句话说:     1、对象可能不被垃圾回收     2、垃圾回收并不等于“析构”     牢记这些,就能远离困扰。这意味着在你不再需要某个对象之前,如里必须执行某些动作,那么 ...
HTTP简介 1.WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。 2.HTTP是hypertext tranfer protocol(超文本传输协议)的简写,它是TCP/IP协议几种的一个应用层 协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。 3.HTTP协议的版本 HTTP/1.0、HTTP/1.1、HTTP-NG 4.深入理解HTTP协议,对管理和维护复杂的WEB站点、开发具有特殊用途的WEB服务器程序具有直接影响。 HTTP1.0的会话方式 1.四个步骤:建立连 ...
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。   在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作。不可变类。 3.StringBuffer 也是对一串字符进行操作,但是可变类。 String: 是对象不是原始类型. 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. String 是final类,即不能被继承. ...
tablespace概念:                TableSpace是Oracle空间管理上的逻辑单位,实体上存放数据的是 Tablespace里面的档案(Data File);而我们所熟悉的Table就放在这一个一个的档案里面。所以TableSpace可以看成是Data File的群组。通常在管理上会把用户的数据与Oracle系统的对象以不同的Tablespace做切分。如果一个Oracle上有多个不同的AP系 统,以不同的TableSpace做切割,则可以达到管理与备份的目的。但是TableSpace的功用也不仅仅只是简单的群组分类而已,Oracle提 供了许多功能上的 ...
Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。 我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。 Spring在TransactionDefinition 接口中定义这些属性,以供PlatfromTransactionManager使用, Platfro ...
1. Javascript 返回 上一页 history.go(-1), 返回 两个页面: history.go(-2); 2. history.back(). 3. window.history.forward()返回 下一页 4. window.history.go(返回 第几页,也可以使用访问过的URL) 例: <a href="javascript :history.go(-1);">向上一页</a> response.Write("<script language=javascrip ...
序列化 (serialization)   将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。   序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。   通常,对象实例的所有 ...
随着人们对互联网应用和大数据应用系统性能要求也越来越高,在大数据时代数据是在网络中随处的流动,在各个子系统间不停的交互,所以IO问题已经成为系统的主要瓶颈之一。而JAVAIO的发展已经由最初的普通IO,到JDK1.4之后的NIO,到随处可见的封装支持。如何设计和优化网络显得格外的重要。作者以前的工作中,在使用传统的BIO的方式结合连接池、线程池,也解决的一部分性能问题,但随着业务量的和网络环境的变化,已经无法满足。再后来使用NIO的方式逐步解决了这些问题。当网络环境出现问题的时候,使用bio的方式会造成大量的IO阻塞连接池被迅速用完,无法accept后续的请求,并且造成大量没有必要的上线文切 ...
一:集群概念: 1.  两大关键特性 集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。 ...
Global site tag (gtag.js) - Google Analytics