`
文章列表

Java内存结构

Java中运行时内存结构      1.1 方法区:   方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息)。   方法区存放的信息包括:             1.1.1类的基本信息: 每个类的全限定名 每个类的直接超类的全限定名(可约束类型转换) 该类是类还是接口 该类型的访问修饰符 直接超接口的全限定名的有序列表              1.1.2已装载类的详细信息:
方法一:   通过快慢指针来检查单链表是否存在循环 判断是否是循环链表时,也设置两个指针,慢指针和快指针,让快指针比慢指针每次移动快两次。如果快指针追赶上慢指针,则为循环链表,否则不是循环链表,如果快指针或者慢指针指向NULL,则不是循环链表。 (1)用两个指针p1和p2分别指向表头结点,即p1=p2=head (2)p1和p2分别采用1和2作为步长遍历该链表。(注意,p2应该检查当前结点的下一个结点是否为NULL) (3)如果p1或者p2遇到了NULL,则证明该链表没有环;若p1和p2在某时刻指向同一结点,则说明该链表有环。
并发容器 这些容器的关键方法大部分都实现了线程安全的功能,却不使用同步关键字(synchronized)。值得注意的是Queue接口本身定义的几个常用方法的区别, add方法和offer方法的区别在于超出容量限制时前者抛出异常,后者返回f ...
以下的文章主要介绍的是MySql数据库索引类型,其中包括普通索引,唯一索引,主键索引与主键索引,以及对这些索引的实际应用或是创建有一个详细介绍,以下就是文章的主要内容描述。 (1)普通索引 这是最基本的MySQL数据库索引,它没有任何限制。它有以下几种创建方式: 创建索引   CREATE INDEX indexName ON mytable(username(length));  如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下同。 修改表结构 ALTER mytable ADD INDEX [ ...
ZooKeeper 节点是有生命周期的,这取决于节点的类型。在 ZooKeeper 中,节点类型可以分为持久节点(PERSISTENT )、临时节点(EPHEMERAL),以及时序节点(SEQUENTIAL ),具体在节点创建过程中,一般是组合使用,可以生成以下 4 种节 ...

动态代理

import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class InvocationHandlerImpl implements InvocationHandler { private Object targetObject;//要代理的目标对象 // 通过构造方法 传入要代理的目标对象 public InvocationHandlerImpl(Object targetObject ...
spring3 mvc 的controller方法如果有参数会自动映射传入的来的parameter,但是一个date类型的值传进来会被认为是string类型,如果你需要映射至一个date字段,就会报类型不匹配的exception.如果是spring2.5即需通过extends simpleFormController override initBinder方法,注册一个自定义的CustomEditor.但spring3里,这个simpleformController被@Deprecated了,取而代之的是注解的方式即: @InitBinder protected void initBin ...
项目中解析配置文件的工具类 package com.sohu.cloudno.util; import java.util.ResourceBundle; /** * 项目参数工具类 * * */ public class ConfigUtil { private static final ResourceBundle bundle = java.util.ResourceBundle.getBundle("config"); /** * 获得sessionInfo名字 * * @return ...
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使 ...
  java中的IO主要源自于网络和本地文件        IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO      在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket, ...
  垃圾对象的判定 Java堆中存放着几乎所有的对象实例,垃圾收集器对堆中的对象进行回收前,要先确定这些对象是否还有用,判定对象是否为垃圾对象有如下算法: 引用计数算法   给对象添加一个引用计数器,每当有一 ...
【System.gc() 与 finalize()】 java.lang.System.gc() java.lang.Runtime.getRuntime().gc() java.lang.Object.finalize() 一个题目:11. rbo = new ReallyBigObject();
Java虚拟机体系结构           如图,概念上讲,JVM由类加载器子系统,运行时数据区,执行引擎以及本地方法接口组成。 图4 JVM体系结构 1. 类加载器子系统主要用于定位类定义的二进制信息,然后将这些信息解析并加载 ...
Java之命令模式(Command Pattern) 1.概念   将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与 ...
-- 创建月表和日表的存储过程 delimiter $$ use `devicitydb1`$$ drop procedure if exists `createTable`$$ create definer=`devicityusr01`@`%` procedure `createTable`() begin declare sql_str varchar(20000); declare tname varchar(200); declare dataStr varchar(2000); declare i int; set i=0 ...
Global site tag (gtag.js) - Google Analytics