随笔分类 - java基础
摘要:在了解concat()之前,首先需要明确的是String的两点特殊性。 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private final char[] value ; 1 其中final对应值的不可更改的特性;而char[]对应String是长度不可更改的特性。 因此,
        阅读全文
            
摘要:堆(heap):堆是一种经过排序的树形数据结构,每个结点都有一个值。 栈(stack):它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。(PS:颇有砌墙的砖——后来者居上的赶脚。) 1,申请方式 heap:程序员自己申请,并指明大小。 stack:由系统分配。 2,申请效率 
        阅读全文
            
摘要:(1)内存分配的策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编 译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允
        阅读全文
            
摘要:深入理解Java内存(图解)--转载 深入理解Java内存(图解) 这篇文章是转自http://blog.csdn.net/shimiso/article/details/8595564博文,自己对其中一些东西加入了自己的理解和补充。 进入正题前首先要知道的是Java程序运行在JVM(Java V
        阅读全文
            
摘要:1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存
        阅读全文
            
摘要:在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进
        阅读全文
            
摘要:在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋
        阅读全文
            
摘要:JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。 以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。 一、先说一下最基本
        阅读全文
            
摘要:Integer a = 1;Integer b = 1;Integer c = 500;Integer d = 500;System.out.println(a == b);System.out.println(c == d);Integer aa=new Integer(10);Integer b
        阅读全文
            
摘要:首先从最基本的说起,int属于基本数据类型,Integer属于类封装的对象,两者的定义本身就不同,但两者又是直接相关的,在java中,最核心的就是对象,万物皆对象,所以每个基本数据类型都与类相对应的,int对应的类是Integer,char对应的类是Character,float对应的类是Float
        阅读全文
            
摘要:java字符串类基本特点 String类是final的,不可继承 String类源码实现通过字符数组实现,长度不可改变 可以通过String str = "123"来创建一个String对象 通过+可以将两个String对象串联,生成新的字符串 java运行时会维护一个字符串池,String池会保存
        阅读全文
            
摘要:字符串"+"操作的原理 在阿里手册上意外的看到了一段关于java中对字符串的“+”运算的处理 突然间想到要详细了解下这个知识点,于是从网上找资料学习了一下。代码测试地址 一、"+"操作内部原理到底是如何实? 我们知道这里我们是无法像其他方法一样看到实现的逻辑的,原因很简单“+”拼接的字符串其实是Ja
        阅读全文
            
摘要:在本文中,我写了一些关于Web服务器、Servlet容器以及它与JVM的关系的基本概念。我想表达的是,Servlet容器也仅仅不过是一个Java程序。 1. 什么是Web服务器? 想要知道什么是Servlet容器,我们首先要知道什么是Web服务器。 Web服务器使用HTTP协议来传输数据。最简单的一
        阅读全文
            
摘要:IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待
        阅读全文
            
摘要:Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串。比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市。正则表达式为() A ".*?(?=\\()" B ".*?(?=\()" C ".*(?=\\()" D ".*(?=\()" http://www.cnblogs
        阅读全文
            
摘要:1 2 3 4 5 6 7 8 public class Test { public int x; public static void main(String []args) { System. out. println("Value is" + x); } } 对于上面这段代码,以下说法正确的是
        阅读全文
            
摘要:通俗的讲,就是基本数据类型和包装类之间的转换。如: int 类型和 Integer 类的转换 基本数据类型转化成包装类是装箱 (如: int --> Integer)。 包装类转化成基本数据类型就是拆箱 (如:Integer --> int)。 包装类就是引用类型,基本数据类型就是值类型 通过 装箱
        阅读全文
            
摘要:平时在开发过程中创建实体类的时候就经常的操作是:先写成员变量,然后再提供getXxx()、setXxx()方法,然后看需要再提供toString等方法。这样一来不仅会发现每写一个实体类的话就会有很多相同的操作,而且代码量看起来也很多,很长,不简洁。于是,@Data这个注解就能给我们开发过程中带来很方
        阅读全文
            
摘要:两个int类型的数据相加,有可能会出现超出int的表示范围。/*移位运算符:>(右移)规律:一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数...
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号