- 博客(55)
- 收藏
- 关注
转载 HashMap中capacity、loadFactor、threshold、size等概念的解释
最近在看HashMap的源码,有很多概念都很模糊,今天写了一个测试例子,加深对这几个概念的理解,并演示了扩容及树化的过程(见下篇博文:)。注:本文基于JDK 1.8HashMap的结构约定约定前面的数组结构的每一个格格称为桶约定桶后面存放的每一个数据称为binbin这个术语来自于JDK 1.8的HashMap注释。sizesize表示HashMap中存放KV的数量(为链表和树中的KV的总和)。capacitycapacity译为容量。capacity就是指Has...
2021-02-25 14:22:08 718
转载 JAVA三种常量池的区别
1.全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符串对象实例的引用值存到string pool中(记住:string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在堆中开辟的一块空间存放的。)。 在HotSpot VM里实现的string poo
2017-11-16 13:36:31 6040 3
转载 HashMap源码剖析(JDK1.8)
一、HashMap概述二、HashMap的数据结构三、HashMap源码分析 1、关键属性 2、构造方法 3、存储数据 4、调整大小 5、数据读取 6、HashMap的性能参数 7、Fail-Fast机制一、HashMap概述 HashMap基于哈希
2017-11-08 17:14:46 238
原创 Oracle忘记密码或者密码过期如何修改
当Oracle忘记密码或者密码过期,修改步骤如下:(Win7本机)1.打开cmd命令窗口,输入>sqlplus / as sysdba备注:用sqlplus命令,首先得保证1) .系统当前用户拥有dba权限,2).Oracle认证服务有NTS。2.输入alter user sytem identified by 新密码,修改成功。附录1:安装OR
2017-11-07 17:59:38 5646 1
原创 Java虚拟机的体系结构
说明:本文参照《深入Java虚拟机》第5章内容;本文所说的java虚拟机指的是一个运行中的java虚拟机实例。一个java虚拟机实例的任务就是:负责运行一个java程序,有着相同的生命周期。每个java程序都有属于自己的java虚拟机实例,如果在同一台机器上运行3个java程序,将得到3个java虚拟机实例。一个虚拟机的行为分别是按照子系统,内存区,数据类型以及指令
2017-09-13 14:57:41 316
转载 UltraEdit UE 中的正则表达式
一直在用ue,不过都是当记事本来用的。大才小用了。最近总是要用到查找替换,一般都是在网上搜一些来用,今天看了一下ue自己的帮助文件。原来说明的很详细。发来上,记录一下。UltraEdit 允许在搜索菜单下面列出的大多数搜索和替换功能中使用正则表达式。 正则表达式允许在一次操作中执行多个组合搜索和替换功能。 这里有两个可以使用的语法集。下面的第一个表显示用于早
2016-06-17 16:29:28 5102
转载 堆内存设置
原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代
2016-05-05 14:58:35 502
原创 Java设计模式--代理模式
代理模式的概念:代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 1.静态代理:由程序员创建或工具生成代理类的源码,再编译代理类。所谓
2016-03-01 19:13:20 367
转载 Java锁机制
1、synchronized把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。1.1 原子性原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。1.2 可见性可见
2016-03-01 16:20:19 365
转载 Oracle数据完整性和锁机制
本课内容属于Oracle高级课程范畴,内容略微偏向理论性,但是与数据库程序开发和管理、优化密切相关;另外本课的部分内容在前面章节已经涉及,请注意理论联系实际。事务 事务(Transaction)从 通讯的角度看:是用户定义的数据库操作序列,这些操作要么全做、要么全不做,是不可分割的一个工作单元。事务控制语句称为TCL,一般包括Commit和Rollback。 事务不是程序
2016-02-24 15:22:22 536
转载 oracle sql语句优化
这里从sql语句的角度对常用的语句做下总结。1、from字段中的优化:Oracle安照从右到左的顺序加载表数据,应该把可以排除数据最多的表放到后面(基础表)。比如,在关联查询中,把课程表放到后面,成绩表放到前面,因为课程表数据一般比较少,关联的时候可以快速的过滤掉一些成绩数据。2、where中的优化:对可以过滤数据最多的,放到后面,原理也是Oracle执行从
2015-04-24 15:42:43 536
转载 PL/SQL Developer调试存储过程步骤
PL/SQL Developer调试存储过程步骤 一、定位你的procedure1。在屏幕左边的对象浏览器中展开procedure2。找到你的procedure二、打开测试窗口1。在你的procedure上点击右键2。在弹出的菜单中选择test3。PL/SQL Devoloper就会打开一个测试窗口并自动生成一个调用块4。在测试窗口的下方输入你的proce
2015-04-24 15:01:42 3941
原创 提取Excel文档的sheet表目录
提取Excel文档的sheet表目录步骤:1.定义宏:getworkbook= get.workbook(1)2.双击A1单元格,提取sheet表名,输入公式:=INDEX(RIGHT(getworkbook,LEN(getworkbook)-FIND("]",getworkbook)) ,ROW(A1) )&T(NOW())。然后下拉出所有表名3.双击A2单元格,建立表名对应到相
2015-03-31 13:05:19 1749
原创 Python学习笔记
Python正则表达式:1.(?positive lookbehind assertion,可以实现更精准的定位eg. 匹配“=”后面的字符串s='1234=python1'print s.findall('(?结果:python12.(?=re):向前匹配eg.匹配"="之前的字符串s='1234=python1'print s.findall('
2015-03-18 18:48:35 380
转载 Python命名规范
常量:常量名所有字母大写,由下划线连接各个单词,如WHITE = 0XFFFFFFTHIS_IS_A_CONSTANT = 1变量:1.普通变量: 全部小写,由下划线连接各个单词,如:1color = WHITE2this_is_a_variable = 12.保护成员变量: 单下划线作前缀,意思是只有类对象和子类对象自己
2015-03-17 10:48:29 461
转载 Spring事务
Spring事务的传播行为在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked例
2014-11-26 15:17:27 327
转载 Java之CountDownLatch(倒数锁存器)使用
CountDownLatch1、类介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重
2014-11-12 18:11:39 460
转载 Hibernate关联关系配置xml(一对多、一对一和多对多)
第一种关联关系:一对多(多对一)"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。 一对多关系在hbm文件中的配置信息:消费者(一方):xml version="1.0" encoding="utf-8"
2014-11-07 18:15:43 606
转载 Hibernate 多对一关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
一:Group和Users两个类假定一个组里有n多用户,但是一个用户只对应一个用户组。1.所以Group对于Users是“一对多”的关联关系@OneToManyUsers对于Group是“多对一”@ManyToOne2.CRUD时候,希望是能从具体用户Users查到其对应的Group,反过来也能通过Group查到具体Users,所以是双向关联(所以要用map
2014-11-07 18:13:08 1119
转载 Oracle数据库迁移
之前做了一个项目,使用的是oracle数据库,数据库是建在本地测试服务器上的;现需要将整个数据库数据结构及数据放到正式服务器上,现将整个移动过程做一下记录,以做备用。1、首先需要在正式数据库上创建和测试数据库相同名称的库名CSSP,创建之后可以到$ORACLE_HOME$\product\10.2.0\db_1\network\admin\tnsnames.ora这个文件下看到CSSP库的端口
2014-05-07 15:08:55 460
转载 oracle服务器和客户端字符集的查看和修改
[Q]怎么样查看数据库字符集 [A]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter, 表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
2014-05-07 15:05:39 3057
转载 HttpClient java.net.SocketTimeoutException: Read timed out!
异常信息如下:11-23 12:00:59.523: ERROR/CheckinTask(276): java.net.SocketTimeoutException: Read timed out解决方法:DefaultHttpClient:请求超时httpclient.getParams().setParameter(CoreConnectionPNames.CONNEC
2014-04-16 19:33:06 8272
转载 Tomcat并发数优化的方法总结
web应用的并发提升,除了负载均衡。在小企业中也可以通过一些软件的上的设置来进行一些优化。下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!(这些方法通过网络整理的) 1,让Tomcat6 中支持Java语言的特性 NIO( New I/O) 引用使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能。 请注意:很抱歉,在tomcat6在默认的配
2014-04-16 19:04:36 375
转载 Jsp的forEach标签
标签具有以下一些属性: var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
2014-03-31 15:46:16 1244
原创 Java 匿名内部类
匿名内部类:一. 即没有名字的内部类。是为了方便使用类的功能,而不给其显示指定名称。简化了代码的编写,使代码更紧凑,模块化程度高。二. 因为只使用一次,所以不需要给其指定显示的引用对象(即对象名),这就是匿名内部类的用处。三. 特征:在java编译的时候,会将匿名内部类单独编译成一个字节码文件, 名称为:原类名$1.class。如:Person$1.class。若有某个类中有多个匿
2014-03-20 15:11:43 484
转载 Oracle执行计划详解
简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录--- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed
2014-03-10 16:35:14 535
原创 Oracle存储过程的事务
1.Oracle事务不会自动提交。通常情况下,oralce将整个存储过程作为一个事务整体,整个过程内的事务,要么都提交,要么都回滚。2.如果过程内部使用了commit命令或rollback命令,则存储过程就能够自行控制整个事务的结束时机,而不受整个会话的影响。3.如果程序报异常,走到了exception里,则procedure会挂在那里,不会自动提交。此时其他调用该procedure的只能
2014-03-05 19:21:15 12207
原创 POI读写数据 兼容HSSF和XSSF
//poi数据类型处理 try {//WorkbookFactory兼容HSSF(2003)和XSSF(2007) Workbook wb = WorkbookFactory.create(new FileInputStream(new File("D:\\测试.xlsx"))); Sheet sheet = wb.getSheetAt(0); Row row = sheet
2014-03-04 04:48:55 3957
转载 java NIO
1. 基本 概念IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )2. Java 标准 io 回顾Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层
2014-03-04 01:42:30 427
原创 Linux常用命令
Linux 命令:**帮助 man cp**杀进程:kill -9 123456**查询进程:ps -ef | grep ios**修改文件权限:chmod -R 777 /data/test/test/ios_1.0.0/bin**修改服务器时间:# date -s '2013-02-01 10:22:38'**查看端口:n
2014-02-28 10:27:17 420
转载 Oracle常用语句
一.复制数据表:1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new
2014-02-26 23:19:42 417
转载 log4j配置
1、配置根Logger:log4j.rootLogger = [ level ] , appenderName, appenderName2level:日志的级别,指定这条日志信息的重要性。分为ALL DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法debug(Object message ) ;info(Object message
2014-02-21 10:41:36 386
转载 URL特殊字符传参解决办法
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码。十六进制值 1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. #
2014-02-19 14:46:39 790
转载 Eclipse中小图标的意义
里面总共分为三种类型:1. 颜色:红、黄、绿2. 形状:方、菱、圆3. 内部:实心、空心 其中:红色方块 代表 private 黄色菱形 代表 protected 绿色圆形 代表 public 实心 代表 函数 空心 代表 变量
2014-02-19 12:51:18 616
转载 关于HashCode和equals的理解
在Java中,hashCode()和equals()是基类Objcet的两个方法,它们在Object中的实现十分简单,如下:hashCode函数主要功能是返回一个Object对象的物理地址,equals则比较两个Object的引用地址是否相等。 而在实际应用中,那些继承自Object往往需要根据实际情况重写equals,例如String类重写了equals方法,使得两个Str
2014-02-12 12:06:39 749
转载 Oracle connect by 功能详解
--connect by 使用详解 /*START WITH 表示递归的种子,而 CONNECT BY 描述递归步骤, 也就是如何从第 n 步发展到第 (n + 1) 步。由于在归结 name 时需要区分第 n 步和第 (n + 1) 步,因此使用 PRIOR 来表明 empid 属于第 n 步,而 mgrid 属于第 (n + 1) 步。在第 1 步, empid 为 16,mgrid
2014-01-22 09:44:15 1030
原创 Mybatis批量插入语句(oracle)
insert into order(id, phone, parvalue, cp_userid, fileName,province, operator,orderid, real_filename)selectyjf_user_order_seq.nextval,t.a,t.b,t.c,t.d,t.e, t.f,t.g,t.h from(select${val.phon
2014-01-08 20:55:55 688
原创 JS组织菜单
//组织菜单function Menu(id,pid,mName,path){this.id=id;this.pid=pid;this.mName=mName;this.path=path;};function menuBox(objName){this.obj = objName;this.Menus = [];this.selectedMenu = nu
2014-01-02 22:03:08 568
原创 Java--JDBC操作数据库
import java.io.File;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import org.apache.poi.hssf.usermodel.HSSFShe
2014-01-02 21:53:31 496
转载 Java中的IO流系统详解
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWrit
2013-12-17 23:57:34 398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人