`
文章列表

hashmap深入分析

 
 java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap 而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。HashMap的数据结构    ...
下面是我根据多年的阅读和实践经验,给您推荐的一些图书: 第一部分: Java语言篇 1 《Java编程规范》   星级:   适合对象:初级,中级   介绍:作者James Gosling(Java之父 ),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。   2 《Java核心技术:卷Ⅰ基础知识》   星级:   适合对象:初级,中级   介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。    注:
java 导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收, 这就是 java 中内存泄 ...
分布式系统(distributed system)是建立在网络之上的软件 系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统 ),而不是硬件。内聚性是指每一个数据库 分布节点高度自治 ,有本地的数据库管理系统 。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无复本、数据存于哪个站点以及事务在哪个站点上执行等。 Hadoop Google的伟大很大程度上得益于其强大的数据存储和计算能力,GFS ...
数据库事务必须具备ACID特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)的英文缩写。 原子性:指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。 一致性:指数据库事务不能破坏关系数据的完成性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后ACCOUNTS表中Tom和Jack的存款总额为2000元。 隔离性:指的是在 ...
String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建St ...
Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句。 该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行)。当这些行被锁定后,其他会话可以选择 这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollback语句结束为止。
set里的元素是不能重复的,用iterator()方法来区分重复与否。 equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。 ==用于比较引用和比较基本数据类型时具有不同的功能: 比较基本数据类型,如果两个值相同,则结果为true 而在比较引用时,如果引用指向内存中的同一对象,结果为true Java代码   public   class  People{       String name;       public  People(String name ...
  JUnit  JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功 能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。 更多JUnit信息    Cactus   Cactus 是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试 ...
性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮 助我们的功能更好的运行,如果功能测试是可用,易用,满足需求、用户使用为目的,性能测试无非就是让这些目的更流畅。 没有什么专业的概念,无非实现两个字:好用! 所以,性能测试这种测试方式在发生过程中,其中一个过渡性的工作,就是对执行过程中的问题,进行定位,对功能的定位, 对负载的定位,最重要的,当然就是问题中说的“瓶颈”,接触性能测试不深,更非专家,自己的理解,瓶颈产生在以下几方 面:     1、网络瓶颈,如带宽,流量等形成的网络环境     2、应用服务瓶颈,如中间件的基 ...
用Struts时经常会使用到request.getcontextPath(),但是不知道意思,在网上找了一下,总结在下面:   <%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。    但不用也可以,比如<a href="<%=request.g ...
Java EE 应 用的性能问题对严肃的项目和产品来说是一个非常重要的问题。特别是企业级的应用,并发用户多,数据传输量大,业务逻辑复杂,占用系统资源多,因此性能问题 在企业级应用变得至关重要,它和系统的稳定性有着直接的联系。更加重要的是,性能好的应用在完成相同任务的条件下,能够占用更少的资源,获得更好的用户体 验,换句话说,就是能够节省费用和消耗,获得更高的利润。 要获得更好的性能,就需要对原来的系统进行性 能调优。对运行在Glassfish上的JavaEE应用,调优是一件相对复杂的事情。在调优以前必须要认识到:对JavaEE的系统,调优是多层次的。 一个JavaEE的 ...
java垃圾回收机制使得java程序员不用手动去释放通过new关键字在heap上申请的空间 。但是,任何事情都是有利有弊。它也许并不像我们想象中那样强大!让我们来一探究竟。本blog链接:blog.csdn.com/whuslei。      阅读本文前,请 ...
快捷键的使用是否正常:   1. TAB 键的使用是否正确   2.上下左右键是否正确   3.界面如果支持 ESC键 看是否正常的工作   3.ENTER 键的使用是否正确切换时是否正常。   布局美感   界面的布局是否符合人的审美的标准   具体因人而依   输入框的功能:   输入合法的用户名和密码可以成功进入   输入合法的用户名和不合法密码不可以进入,并给出合理的提示   输入不合法的用户名和正确密码不可以进入,并给出合理的提示   输入不合法的用户名和不正确的密码不可以进入,并给出合理的提示   不合法的用户名有:不正确的用户名,,使用了字符大于用户名 ...
小的不才,学习单例模式时,发现维基百科的单例模式代码有点小问题 ,已经被我 修改 原变量代码private static final Singleton instance= null,有误,final变量被赋值后是不可以再重新赋值的 应该修改为private static Singleton instance; final关键字的用途如下:1、一个永不改变的编译时常量                                  2、一个在运行时被初始化的值你不希望他改变                                  3、一个既是static又是fina ...
Global site tag (gtag.js) - Google Analytics