随笔分类 - java语法与类
摘要:1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 0 1 2 3 4 5 6 7 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分
阅读全文
摘要:1、对于synchronized方法和synchronized块,一个线程访问时,其他线程可以访问此类的非synchronized方法或块,不能访问其他带synchronized的方法或块。 举例如下: synchronized块: public class Thread2 { public voi
阅读全文
摘要:NIO主要原理和适用 NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有 事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchan
阅读全文
摘要:线程安全问题都是由全局变量及静态变量引起的。 1) 常量始终是线程安全的,因为只存在读操作。 2)每次调用方法前都新建一个实例是线程安全的,因为不会访问共享的资源。 3)局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。局部变量包括方法的参数变量和方法内变量。
阅读全文
摘要:因为servlet的实现是单例,多线程也就是说,N个客户端请求同一个servlet,他们所请求的是同一个对象,成员变量是属于这个对象的,因此成员变量也被共享了因此在servlet编程中,无状态的servlet(就是不写属性,所以变量都在dopost或者doget里面)是线程安全的,否则,由于会共享到
阅读全文
摘要:1、同步/异步, 它们是消息的通知机制。同步就是调用者调用某个服务,只有等服务处理完成后,服务才返回结果给调用者。异步就是调用者调用某个服务,调用者不会立刻得到结果,服务会在处理后,通过状态、通知或者回调函数来 通知调用者。 2、阻塞/非阻塞,它们是程序在等待消息时的状态。阻塞调用是指调用结果返回之
阅读全文
摘要:熟悉Java的常用命令面试例题11:使用jar命令。请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构。考点:对于Java程序员来说,更多情况下是使用集成Java开发工具,例如JBuilder、Eclipse等,而对于最基本的Java编译和常见的命令行工具往往都不熟悉,这个面...
阅读全文
摘要:程序是很简易的。然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的、难以发现的错误。 在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程。背景 中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其...
阅读全文
摘要:并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。并行(pa...
阅读全文
摘要:有一个很简单的例子,java.util中的类ArrayList实现了接口List则生成ArrayList对象时可用以下语句. List list=new ArrayList(); 也就是说所有实现了接口List的类,都可以用List接口来声明对象类型,然后用实体类进行实例化.这表明了接口可以用来作为类型的表述.当然,生成的对象list只能调用接口List中提供的方法. 同样的操作也可以用在父类与子类身上,例如设A类是B类的父类 则创建B类对象的时候可以用以下语句 A b=new B();这样的用法可以大大提高编程的灵活性.~***Tank implements moveableinterfac
阅读全文
摘要:Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现。Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为java结构层次上的顶层。Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了。1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Ja
阅读全文
摘要:int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者>>integer 是后者(也就是一个类) Integer是对象类型int是原始类型适用场合有很大的不同之所以要把int封装成Integer型是因为很多方法参数就只接收对象类型(Object)还比如范型就只支持对象类型例如往ArrayList里面add,必须add的是Object而int不是对象,就只能把Integer添加进去 2.初始化时>> int i =1; Integer i= new Integer(1);(要把
阅读全文
摘要:UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法。UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的形式。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
阅读全文